🔐 Pilot Wealth is committed to protecting the security of our platform, our users' financial data, and our third-party integrations. This policy documents our information security program and controls.
This Information Security Policy establishes the security principles, controls, and responsibilities that govern Pilot Wealth's operations. It applies to all systems, data, infrastructure, and personnel involved in operating the Pilot Wealth platform, including all third-party integrations such as Plaid, Stripe, and Anthropic.
This policy is reviewed and updated on an ongoing basis as the platform evolves.
Information security is owned and managed by Pilot Wealth's founding team. The designated security contact is responsible for:
Security Contact (Technical): Arin B.A — Developer & Security Manager — contact.pilotwealth@gmail.com
Legal Owner: Riaz A — Owner, Pilot Wealth — contact.pilotwealth@gmail.com
Pilot Wealth handles the following categories of data, each treated with strict controls:
All user authentication is handled by Clerk, a SOC 2 certified identity provider. Pilot Wealth verifies user identity on every API request by validating Clerk-issued JWTs against Clerk's published JWKS endpoint, including full cryptographic signature verification and expiry checks.
Pilot Wealth enforces role-based access control (RBAC) at the API layer. User roles (free, pro, premium, admin) are stored in Clerk's private metadata — inaccessible to users — and verified server-side on every request. Admin privileges are additionally hardcoded via environment variable to prevent escalation attacks.
Every database query filters by authenticated user_id. No endpoint returns data belonging to another user. Ownership is verified on all read, write, update, and delete operations.
All data transmitted between clients and the Pilot Wealth server is encrypted using TLS (HTTPS). HTTP connections are not accepted in production. Strict-Transport-Security (HSTS) headers are enforced on all responses.
Plaid access tokens — the most sensitive credentials stored by Pilot Wealth — are encrypted using Fernet symmetric encryption (AES-128-CBC with HMAC-SHA256) before being written to the database. The encryption key is stored exclusively as an environment variable and is never committed to source code.
The production database is a managed PostgreSQL instance hosted on Render with encryption at rest enabled. Database credentials are stored as environment variables and rotated periodically.
All state-changing API requests require a valid CSRF token, verified via HMAC comparison. Webhook endpoints (Plaid, Stripe) are explicitly exempted as they use their own signature verification mechanisms.
API endpoints are rate limited per user using slowapi. Sensitive endpoints such as authentication, Plaid token exchange, and AI chat have stricter limits. Rate limiting is applied by authenticated user ID where available, falling back to IP address.
All API inputs are validated using Pydantic models with defined field types, length limits, and allowlists for enumerated values. String inputs are sanitized to remove HTML tags. Numeric inputs are bounded to prevent unreasonable values.
All HTTP responses include the following security headers:
All POST, PUT, and PATCH requests are limited to 10MB to prevent denial-of-service via large payloads.
🏦 Plaid — Pilot Wealth uses Plaid exclusively for bank connectivity. Pilot Wealth never sees or stores users' banking usernames or passwords. All bank credential entry occurs within Plaid's hosted Link interface. Plaid is SOC 2 Type II certified.
💳 Stripe — All payment processing is handled by Stripe. Pilot Wealth never stores card numbers or payment credentials. Stripe is PCI DSS Level 1 certified.
🔑 Clerk — User authentication and identity management is handled by Clerk. Pilot Wealth never stores passwords. Clerk is SOC 2 Type II certified.
🤖 Anthropic — AI features are powered by Anthropic's Claude API. Financial context sent to the AI is scoped to the authenticated user's own data only and is governed by Anthropic's data processing terms.
Pilot Wealth's backend is hosted on Render, a managed cloud platform. Infrastructure security controls include:
In the event of a suspected security incident, Pilot Wealth will:
🚨 To report a security vulnerability: Please contact us immediately at contact.pilotwealth@gmail.com with a description of the issue. We take all security reports seriously and will respond within 24 hours.
Pilot Wealth continuously identifies and mitigates security risks through:
Pilot Wealth operates in compliance with:
For security inquiries, vulnerability reports, or questions about this policy:
Pilot Wealth — Canada 🍁