ConsulBooks
Menu
Get started

SECURITY OVERVIEW · REVIEWED SEPTEMBER 9, 2026

How ConsulBooks protects access, financial connections, bookkeeping records, and exports.

ConsulBooks handles sensitive financial records. We publish the concrete safeguards in the current product, distinguish provider responsibilities, and do not claim certifications or absolute security that we have not earned.

Required MFAPassword plus authenticator code before financial access
Plaid LinkConsulBooks never receives your bank password
Audit historyImportant actions and actors remain reviewable
Portable exportsAccountant package and integrity information
01

Identity and MFA

Supabase handles ConsulBooks email/password authentication and authenticator enrollment. ConsulBooks then requires the password-authenticated session plus a current TOTP authenticator code before the financial workspace, financial APIs, or Plaid Link can open.

  • Authenticator-app MFA required
  • Individual user sessions
  • Sign-out clears the ConsulBooks session and saved Plaid OAuth resume token
02

Institution connection

Plaid Link handles institution discovery, bank authentication, consent, and account selection. You enter any required bank credentials in Plaid's connection flow; ConsulBooks does not receive or store the bank username or password.

  • Selected U.S. institutions
  • OAuth redirect bound to the originating workspace
  • Connection can be revoked from Business setup
03

Secrets and tokens

Plaid access tokens are encrypted before database storage with AES-256-GCM, a random 96-bit initialization vector, and a server-side 32-byte key. Secrets never ship to browser code.

  • Authenticated encryption
  • Versioned ciphertext format
  • Production configuration validation
04

Webhook verification

ConsulBooks checks the signed Plaid webhook JWT, timestamp, key identity, signature, and raw-body SHA-256 before accepting an event. Body size, key fetching, and connection requests are bounded.

  • ES256 verification
  • Replay-age check
  • Positive and negative verification-key caching
05

Workspace isolation

Owner writes are resolved through the authenticated owner's business ID. An invited accountant receives separately authenticated, MFA-protected, read-only access only to explicitly accepted workspaces; report queries remain business-scoped.

  • Server-side ownership or permission lookup
  • Business-scoped database statements
  • Owner admin access requires MFA and a separate user-ID allowlist
  • Support changes are recorded in an admin audit history
  • No cross-client vendor memory
06

Audit and export

Important imports, approvals, rules, connection events, accountant access changes, exports, and support actions are recorded while the workspace exists. The accountant package is generated only after ledger-integrity checks and a final permission and data-revision check.

  • P&L, ledger-activity balance sheet, trial balance, general ledger, and cash activity
  • Transactions, exceptions, account summary, chart of accounts, and audit history
  • Manifest and integrity information included
07

Optional AI boundaries

External AI suggestions are off unless the owner opts in. Only uncertain items are eligible, using minimized fields such as shortened merchant text, direction, coarse amount band, industry, and entity type.

  • No exact amount, account number, owner email, or bank credentials in the categorization request
  • Model-only suggestions never auto-post
  • Owner can disable future AI requests
08

Disconnect and deletion

The owner can revoke accountant access, disconnect an institution, or permanently delete the bookkeeping workspace. Signing out ends the ConsulBooks session; it does not disconnect a financial institution. An invited accountant cannot edit books or manage connections.

  • Exact-name workspace deletion confirmation
  • Plaid revocation attempted before active workspace data is removed
  • Partial revocation failures remain visible and retryable

FINANCIAL DATA FLOW

Your bank credentials stay with the bank and Plaid.

  1. 1
    You approve access in Plaid Link

    The institution authentication and account-selection experience is provided by Plaid.

  2. 2
    ConsulBooks stores an encrypted connection token

    The server encrypts the token; the browser never receives the long-lived access token.

  3. 3
    Posted transactions enter your private workspace

    Pending items are skipped until posted. Updates are deduplicated and tied to the selected financial account.

  4. 4
    You review, export, disconnect, or delete

    Human decisions and important changes remain in the workspace audit history.

WHAT WE DO NOT CLAIM

Evidence before adjectives.

ConsulBooks does not currently claim SOC 2 certification, ISO 27001 certification, PCI certification, passkey or phishing-resistant MFA, “unhackable,” “zero-knowledge,” “bank-grade,” an immutable audit log, or categorically stronger security than QuickBooks, Xero, or another provider.

Security is a continuing operating program, not a landing-page badge. The service may change as controls, independent review, incident processes, vendor management, and customer access mature. Downloaded exports are outside ConsulBooks' controls and must be stored and transmitted securely by the customer or accountant.

To report a potential vulnerability, suspected account compromise, or security concern, email security@consulbooks.com. We investigate reports and notify affected users when required by law. Do not include bank credentials, passwords, access tokens, or unnecessary personal data.

RELEVANT DOCUMENTS

Privacy, terms, and connection provider details.