Security
We treat live capital as a sacred trust. Here is how the platform is designed to protect it.
Credential isolation
Live exchange API keys are encrypted with pgsodium and accessed only through SECURITY DEFINER decryptors. Every decrypt is recorded in credential_access_log. Platform secrets never leave the server runtime.
Kill switch + live-order gate
Every live order routes through placeLiveOrder, which checks the global kill switch, evaluates risk (drawdown, loss-streak, country/venue blocklist), and writes to live_trading_audit before submission. No code path bypasses this.
RLS everywhere
All user-scoped tables are row-level-secured to auth.uid(). Admin actions go through has_role checks. The Data API never returns rows the caller isn't entitled to.
Audit & reconciliation
Per-venue reconciliation cron compares broker state vs our records; drift surfaces in reconciliation_drift_events. MCP, AI, and webhook calls are logged with timestamps and outcomes.
Report a security issue to security@globaltrackers.app. We acknowledge within 48 hours. SOC-2 readiness work is in progress.