§ Record · Independent verification & evidence · QuickBooks and Xero · read-onlyFacts verified September 23, 2026 · certificates verifiable by anyone at /verify

Security · stated plainly

The controls, as built. And what is not done yet.

BookSyncHQ is trusted with read access to other people’s books, and its whole claim is that a stranger can check its work. So this page says what the code does, not what a badge would imply — and it lists what we have not done, starting with the fact that no SOC 2 report exists.

S1 · Ledger access

Read-only, enforced where it can be seen.

No writes, by rule
No request BookSyncHQ makes to a QuickBooks or Xero API host is anything but a GET, apart from the OAuth token and revocation calls. The rule is checked by searching the code, and a tie-out that finds a break tells you where to correct it rather than correcting it.
Scopes
Xero is granted granular read-only scopes. QuickBooks Online offers no read-only accounting scope, which is exactly why the GET-only rule lives in our code rather than in the grant.
Credentials
Access and refresh tokens are encrypted with AES-256-GCM under a key held only in the server environment, refreshed server-side before they lapse, and never sent to the browser, written into a URL, or logged.
Disconnect
Disconnecting at /connect revokes the grant at Intuit or Xero and deletes the stored tokens. If the provider does not confirm the revocation, the page says so and tells you where to remove the app yourself.
S2 · Arithmetic and evidence

Deterministic arithmetic, and a record that shows if it was changed.

Integer cents
Money is parsed to integer cents and compared for exact equality. Floating point never compares money, and nothing is rounded away: a difference of a cent is a finding.
Evidence chain
Every run, finding, resolution, approval, certificate and disconnect is appended to a per-client record whose hash covers the previous record’s hash. Editing, deleting, reordering or truncating any record breaks the chain from that record onward, and the break is reported by sequence number.
Certificates
A certificate’s body is canonical JSON — what was compared, the SHA-256 of each input, when, the result, the resolutions and who approved them — hashed with SHA-256 and anchored by an RFC 3161 timestamp from DigiCert’s public authority. If the timestamp authority is unreachable, the certificate says “no timestamp” rather than pretending.
Anyone can verify
The public page at /verify recomputes the body hash, checks the certificate’s place in the chain and shows the timestamp token; the token also verifies offline with openssl ts -verify. See the specimen.
What that is not
Tamper-evident is not tamper-impossible. An operator with database access could rewrite a record; the timestamp is what makes that detectable for anything certified. A certificate is not an opinion on the financial statements.
S3 · Data

Processed transiently, stored encrypted, deleted on your schedule.

Processing
Where an AI-assisted feature is used, the minimum excerpt is processed under Anthropic’s commercial API terms: not used for training, deleted by the provider within 30 days. AI never changes a result — tie-outs are arithmetic.
No training
BookSyncHQ does not train models on anyone’s books. Xero’s API terms prohibit using API data to train AI or ML models on every tier (verified September 23, 2026); we treat QuickBooks data the same way.
Storage
Tie-out results and evidence are stored encrypted in a managed PostgreSQL database in the United States and deleted on the schedule you set. The free tie-out at /check computes in your browser.
Subprocessors
  • Vercel Inc. — Application hosting, serverless compute, and content delivery. United States; always.
  • Supabase Inc. — Managed PostgreSQL database for accounts, connections, and verification records (hosted on AWS, us-east-1). United States; always.
  • Anthropic, PBC — AI model processing for features that use it (for example, drafting a plain-language explanation of an exception). United States; only when you use an ai-assisted feature.
  • Stripe, Inc. — Payment processing and invoicing. United States; only when you purchase.
  • Cloudflare, Inc. — DNS for booksynchq.com, and routing of email sent to booksynchq.com addresses into our intake system (hosted on Vercel and Supabase). United States; dns always; email only when you write to us.
S4 · The application

Sessions, isolation and the headers every page carries.

Sign-in
Design partners sign in with an invite code that sets a signed, httpOnly session cookie for thirty days. There is no password to phish.
Isolation
Every authenticated request is scoped to the signed-in firm through the client’s owner; another firm’s object answers as not found, never as forbidden, so ids reveal nothing.
Headers
HSTS with preload, frame-ancestors none and X-Frame-Options DENY, nosniff, no referrer, and a Permissions-Policy that denies camera, microphone and location. API responses are never cached.
Inputs
Uploads are capped in size and rows and parsed as data; account and file names render as text, never markup; exported CSVs neutralize formula prefixes.
S5 · Not done yet

What we have not done, so you do not have to ask.

Not yetSOC 2
No SOC 2 report exists. We will not describe BookSyncHQ as SOC 2 anything until one does.
Not yetPenetration test
We have not published a third-party penetration test.
Not yetSSO and MFA
Sign-in is by invite code during the design-partner program; single sign-on and multi-factor sign-in come with general accounts.
Not yetData residency
Data is hosted in the United States only; there is no EU or other regional option.
S6 · Reporting

Found something? Tell us first.

Write to partners@booksynchq.com with the details and how to reproduce it, and please do not access data that is not yours while you look. Privacy practices are in the privacy policy; the service terms are in the terms.