Integrations
Eight connectors. Zero shared secrets.
Every connector is its own service with its own credentials and its own network boundary. Data comes in on an hourly schedule and through verified webhooks; nothing reads at report time.
Live today
Where your money already moves.
Monogram tiles, not borrowed logos. Each connector is verified in production on real companies. The full catalogue — live, in development and planned — is on the connectors page.
Isolation
One service per connector. One blast radius.
Credentials are encrypted with a master key and never leave the connector process. core-api talks to connectors over internal JWTs scoped to each audience. A compromised connector can't read another's secrets — or the ledger.
- Encrypted secrets, per-connector
- Internal JWTs per audience
- Rate limits enforced at the edge

Ingestion
Hourly, daily, and on demand.
Every connector syncs hourly with balance updates; receipts ingest hourly; disputes and inventory sync daily. Plaid Link connects new accounts in-app; backfills replay any date range without duplicating a line.
- Plaid Link with cursors and balances
- Shopify payouts, disputes, orders, products
- Flexport billing, orders, inventory
FAQ
Straight answers
QuickBooks Online? Xero?
Planned. Not built. ERPNext is the ledger connector today; the connectors page marks QuickBooks Online, Xero, WooCommerce and others as planned so nobody is surprised.
What about credit bureau data?
An Experian connector exists as a scaffold for Personal credit-score insights; we don't count it among the eight live connectors.
Which banks does Plaid cover?
Plaid Link connects the thousands of US institutions Plaid supports, inside the app, with the transactions product. Cursors track what's been read; balances update with the hourly sync.
How do webhooks stay safe?
Webhook endpoints live inside the connector that owns the provider, behind the edge gateway, and every event is processed idempotently — a replayed webhook is a no-op. Plaid's webhook verification keys are fetched through the connector; scheduled sync remains the source of truth, so a missed webhook costs at most an hour.
Where are my API keys stored?
Encrypted at rest with AES-GCM in Postgres, decrypted only inside the connector that owns them. core-api never sees a raw provider secret; it talks to connectors over internal JWTs scoped per audience.
Can I trigger a sync now?
Yes, from Settings → Integrations: each connector has Trigger Sync and Trigger Backfill, and Plaid has its own sync. The scheduled sync-all runs at :15 every hour regardless.
What happens if a provider is down?
The job retries with backoff and the next hourly run picks up where the cursor left off. Nothing is duplicated when the backlog drains; the system status page shows whether the platform itself is healthy.
Can I bring a connector you don't have?
Connectors implement one internal contract (sync, backfill, webhooks, secrets) so a new one is a service, not a rewrite. Tell us which provider and we'll tell you honestly where it sits on the roadmap.
Connect the accounts. Keep the keys.
Private beta. Tell us where to send your access, and which company you close first.
