Security
Updated September 19, 2026
Cedar Charts is made by Cedar Dynamics LLC. This page explains how we protect your data, with particular attention to the brokerage connection in Cedar Pro. The full policies behind it (information security, data handling, access control, incident response, vendors) are maintained in our repository and available to partners on request.
The short version: we designed the brokerage feature so our servers never hold your holdings. The key that fetches them lives only on your iPhone, the data is fetched fresh each time and kept in memory, and nothing about your portfolio is written to our database or logs.
How a brokerage connection works
- You tap Connect in the Portfolio tab. Our server asks Plaid for a one-time Link token.
- Plaid's own interface opens on your phone. You sign in to your brokerage there. Your username, password and any security code go to Plaid and your brokerage only. They never pass through the Cedar Charts app or our servers.
- Plaid hands back an access key. Our server exchanges it and returns it to your phone, where it is stored in the iOS Keychain, encrypted by the device's Secure Enclave, restricted to that device, and not synced to iCloud.
- Each time you open the Portfolio tab, your phone sends the key to our server, which fetches your holdings from Plaid, matches them to the companies we cover, and returns them. The server keeps nothing between requests; responses are marked
no-store. - Tap Remove and we revoke the connection at Plaid and delete the key from your device. You can also revoke access at my.plaid.com.
What we fetch, and what we don't
| We fetch | We never request |
|---|---|
| Investment account name and type, last digits of the account number, balance | Full account or routing numbers |
| Each position: security, quantity, price, value, cost basis | Transactions or trade history |
| Your name, address, or other identity details from the brokerage | |
| The ability to trade or move money (Plaid does not offer this to us and we would not use it) |
Where data lives
| Place | What | How long |
|---|---|---|
| Your iPhone Keychain | The Plaid access key and the name of your brokerage | Until you remove the connection |
| Your iPhone, in memory | Your holdings while the Portfolio tab is open | Until the app closes or refreshes |
| Our servers | Nothing. There is no brokerage table, cache, or log of holdings | The milliseconds of each request |
| Plaid | Per the Plaid End User Privacy Policy | Until the connection is removed |
Controls behind the app
- Encryption everywhere. All traffic between the app, our servers, and Plaid is TLS. iOS App Transport Security is enforced. Keys on the device are hardware-encrypted.
- Least data. We use only Plaid's Investments product and read only the fields listed above.
- Least access. Brokerage endpoints require an active Cedar Pro entitlement verified on the server. One named account per system, multi-factor authentication on every account that offers it, scoped API keys, and secrets held only in the hosting platform's secret store, never in source code.
- Separate environments. Staging uses Plaid's sandbox with synthetic accounts; real brokerage data touches only production and is never copied to staging or a laptop.
- Logging without content. Server logs record request paths and status codes, never request bodies, access keys, or holdings.
- Reviewed changes. Every code change goes through a pull request with a security pass and automated tests, including a live test of every brokerage endpoint against Plaid's sandbox.
- Patched dependencies. Pinned versions with automated vulnerability alerts; high-severity fixes within 7 days.
- Incident response. If we ever confirm an incident involving brokerage data, we notify Plaid within 24 hours and affected people within 72 hours, and publish what happened.
Your controls
- Disconnect a brokerage in the app at any time.
- Revoke access from Plaid's side at my.plaid.com.
- Delete your Cedar Charts account by emailing [email protected]; we act within 30 days.
Reporting a vulnerability
If you find a security problem, email [email protected]. We acknowledge reports within three business days and will not take action against good-faith research. Details are in security.txt.
Service providers
Plaid (brokerage connections), Apple (App Store, Sign in with Apple, Keychain), Clerk (sign-in), RevenueCat (subscriptions), Railway (hosting), Cloudflare (site and DNS), PostHog (anonymous product analytics that never receive holdings). Full detail is in the privacy policy.