Security and privacy
How Earnavest handles account security
This page describes protections that exist in the current application and the data passed to configured service providers. It avoids guarantees that software cannot honestly make.
Sign-in and route protection
Clerk manages sign-in sessions. Application, onboarding, account-state, integration, and developer routes are protected on the server. The developer diagnostics area also checks an explicit email allowlist and returns a not-found response to other users.
Account data storage
Portfolio state, preferences, entitlements, briefing snapshots, delivery records, and supported integration records are stored in Supabase tables accessed by the server. The Supabase service credential is not sent to the browser. Row-level security is enabled and direct anonymous access to server-only tables is revoked.
Browser continuity storage
A signed-in account also keeps a per-user copy of account state in browser local storage so edits can continue through a temporary backend outage. These copies are keyed by the Clerk user ID to prevent account-to-account reuse on the same browser. Resetting or deleting the server account does not remotely erase copies on another offline device until that device reconnects or its site data is cleared.
Broker connections
Direct broker credentials are accepted only by signed-in, same-origin server routes and, on a correctly configured production deployment, sent over HTTPS. They are used for the current read request and not stored in Earnavest's application database. The code calls portfolio-read endpoints; it does not place trades or move funds. For SnapTrade, the connection portal requests read access and Earnavest stores the generated SnapTrade user secret in a server-only Supabase table so the connection can be used again. Earnavest does not receive the user's broker password from that portal.
Email and operational diagnostics
When configured, Resend receives the destination address and generated message needed to deliver enabled Premium or trial emails. Operational diagnostics store an allowlisted category, operation, trace ID, optional ticker, coverage impact, and a short redacted message. They do not accept authentication tokens, broker secrets, or complete portfolio payloads.
User controls
Users can clear portfolio data from Settings. Account deletion removes supported Earnavest records and attempts to deregister the associated SnapTrade user before the Clerk identity is deleted. A provider outage can delay that operation rather than silently leaving an external connection behind.
Deployment responsibilities
Production safety also depends on HTTPS, strong unique environment secrets, correct Clerk and Supabase configuration, verified Resend senders, prompt dependency updates, and access controls in the hosting accounts. Public checkout is currently paused during the controlled beta.
Contact
Questions about your account, or a suspected vulnerability to report? Email support@earnavest.com. Please do not include passwords, broker credentials, or API keys in your message.
Security explanation reviewed July 14, 2026.