Skip to content

Privacy & security

Why TradePilot is safe to explore — backtests run client-side, there's no trading server, and your saved data is protected by Postgres row-level security.

TradePilot is built so that exploring strategies never puts your data or capital at risk.

Backtests run in your browser

The engine is pure client-side TypeScript. When you run a backtest or a Lab experiment, the computation happens in your browser (in a Web Worker) — your configuration and results are not sent to a server to be computed. You can run the whole app signed out.

No live trading

Nothing here executes real orders. There is no brokerage connection wired up; the orders table exists only as reserved schema for possible future trading. A backtest is a simulation over historical prices, not a market action.

Your saved data is protected by RLS

When you sign in and save work, it lives in Postgres with row-level security (RLS) on every table — the database enforces access, not just the UI:

  • Private by default — accounts, holdings, transactions, watchlists, and alerts are readable only by their owner.
  • Opt-in sharing — strategies and backtests are private until you set is_public; only then can anyone else read them.
  • Owner-only writes — no one but the owner can edit or delete a row.

The community leaderboard is a security-invoker view, so it respects those same policies and can only ever surface runs you chose to make public. It’s also hardened so a malformed public row can’t break it for everyone. Full details: data model.

Deferred by design

Broker credential storage (broker_connections) is intentionally not part of the current schema — sensitive integration is deferred rather than shipped half-secured.