Privacy choices
Necessary onNecessary cookies are active. Optional analytics stays off unless you choose otherwise.
Published: 2026-08-31 · Last reviewed: 2026-08-31 · Sample as of: 2026-08-31
Voyager enforces a no-money-movement service boundary for its read-only personal finance record: its application interfaces do not initiate payments, transfers, or trade execution. Financial data is connected through Plaid with read-only access, while provider credentials are kept out of client browsers.
The boundary itself, and how every build proves it stays intact.
No-Money-Movement Boundary
Planned: no write tokens, payment endpoints, transfer capabilities, or trading APIs. The backend is being built without the software interfaces needed to move funds.
When you connect a financial account through Plaid, Voyager will explicitly request read-only OAuth scopes. Our ingestion adapters are designed to discard any write, payment, or modification capabilities granted during token exchange. There will be no background jobs, administrative controls, or automated routines capable of initiating transactions, bill payments, wire transfers, or securities orders. Your assets remain anchored in your financial institutions. Because the planned backend will lack fund-movement software interfaces, even an authorized system administrator or compromised service credential could not initiate financial transfers. We believe financial visibility should never create operational vulnerability across connected banks, credit cards, and brokerage portfolios.
Automated Static Isolation & Architectural Invariants
Planned: every build verified for separation between marketing assets, ingestion adapters, and client interfaces.
Every build is planned to run automated isolation-verification scripts performing static analysis on frontend bundles, Docker containers, and API manifests. The goal is to ensure no internal financial schemas, database credentials, or provider secrets ship in client-facing artifacts. Boundary definitions are treated as immutable invariants so architecture diagrams match the running production system once live.
Where credentials live, and the layers that keep tenants apart.
Isolated Ingestion & Key Vault Encryption
Planned: provider access tokens encrypted on receipt with managed key-vault keys and ASP.NET Core Data Protection in an isolated scope.
Provider credentials and institution access tokens are designed to never touch client browsers, public marketing containers, or persistent log streams. Ingestion workers are planned to run in an isolated backend subnet with zero direct inbound internet access. Tokens would be decrypted only transiently in memory by dedicated workers during scheduled sync runs, using keys rotated automatically via a hardware security module. Database connections will use mutual TLS with strict certificate verification. Raw provider secrets and bank account numbers will never be stored unencrypted, and inter-service traffic inside the virtual network will be authenticated and encrypted.
Zero-Trust Multi-Layer Defense
In private preview: TLS 1.3, Supabase JWT auth, PostgreSQL Row-Level Security, and segregated runtimes.
The public marketing site, web client, and backend API run in segregated runtime environments. The marketing app has no network route or database credentials to customer finance APIs. Client requests require cryptographically verified JWTs signed by Supabase Auth. PostgreSQL Row-Level Security policies under private-preview evaluation restrict every query to the verified tenant identifier, limiting cross-tenant leakage even if an application-layer defect occurs. Automated dependency scans and static analysis run before any build is promoted to staging or production.
What you can take with you, what we never log, and how fresh each number is.
Data Sovereignty, Export, & Deletion
Planned: absolute record ownership with open JSON/CSV export and complete account purge on request.
When you request account deletion, Voyager is designed to cascade a hard delete across personal records, cached snapshots, transaction logs, and provider link tokens. The plan is to retain no shadow profiles, anonymized training sets, or residual metadata. Data exports are planned to produce standardized, human-readable files containing balance timestamps, transaction splits, and categorization decisions for offline audit or migration to local spreadsheets. The design goal is personal financial autonomy without proprietary lock-in: deleting your account should leave zero lingering trace in primary databases.
Zero-PII Structured Logging Policy
Planned: system-health and correlation IDs only. Account numbers, tokens, balances, and names are scrubbed before logging.
The telemetry pipeline is designed to use masking middleware that inspects and sanitizes log payloads before they leave the application boundary. If an unhandled exception occurs during provider payload processing, the handler will log the correlation ID and sanitized error code while quarantining the payload. Engineers and support staff would debug connectivity without viewing customer financial details. Log retention will be bounded by automated expiration so diagnostic traces do not outlive their troubleshooting utility. The principle: data not collected or logged cannot be leaked.
Three-Timestamp Provenance Model
In private preview: separate timestamps for webhook arrival, verified sync, and actual financial-data change.
Most finance aggregators display a generic 'synced 2 minutes ago' timestamp that hides whether new transactions were actually fetched. In private preview, Voyager tracks three distinct timestamps: last_webhook_received_at (provider event), last_successful_sync_at (connection-health verification), and last_financial_data_change_at (actual posting date). This makes the age and reliability of each ledger entry visible. If an institution API reports delayed records, the gap is shown rather than presenting stale estimates as live balances.
How Voyager's planned No-Money-Movement Boundary differs from typical patterns seen in conventional financial software. Conventional-column claims describe common patterns, not every product — evaluate any provider on its own documentation.
Designed with no write tokens, transfer APIs, or trading endpoints (planned)
Planned: hardware key vault + isolated worker subnet; zero client exposure
Planned: automated zero-PII masking for account numbers and payloads
Planned: 1-click complete cascade purge + open JSON/CSV export
Planned: PostgreSQL Row-Level Security (RLS) + JWT session binding
Comparison basis: Voyager's documented target architecture versus typical shared-backend finance apps and local files. Not an audit of any named competitor.
Read-only OAuth connection.
Air-gapped ingestion pipeline.
Immutable double-entry ledger.
Authorized read-only queries.
Direct cryptographic OAuth link to Plaid. Scoped exclusively to transactions and balances.
Illustrative schematic of the planned one-way read path. Interactive stages above carry the detail.
What you can check today, and what is honestly still on the roadmap.
Available now
This brief, the privacy policy, and dated review stamps on every control.
Read the privacy policyAvailable now
Bank, credit, loan, brokerage, and holdings accounts via Plaid — connected with read-only OAuth scopes only.
See how connections workAvailable now
Report a suspected issue through the contact form. Include a correlation ID if shown; never send account numbers or tokens.
Contact the teamPlanned
Planned SLA: open JSON/CSV export at any time; deletion will cascade across personal records, snapshots, and provider tokens with no shadow profiles retained.
Read the data-rights policyPlanned
No penetration test or SOC 2 report to share yet. Third-party testing and audit cadence will be published here before live billing opens.
See launch readinessShort answers to the questions this page is built around. Each matches a section above.
No. Voyager is designed as a read-only record with no payment, transfer, or trading endpoints. The No-Money-Movement Boundary is planned and CI-verified: every build is checked so marketing, ingestion, and client artifacts stay separated.
Read-only OAuth scopes for transactions, balances, holdings, and positions. Write and transfer capabilities are discarded at the gateway layer, and provider tokens never reach the browser.
Planned: encrypted on receipt with managed key-vault keys and ASP.NET Core Data Protection, decrypted only transiently in memory by isolated ingestion workers. Database connections use mutual TLS.
Planned: open JSON/CSV export at any time and a complete cascade purge on request, with no shadow profiles or training sets retained. See the privacy policy and contact page for current status.
Not yet. Automated dependency scans and isolation checks run in CI today; independent penetration testing and SOC 2 status will be published here when available.
Request early access to the private preview, or talk to the team about a control on this page.