Governed AI you can put in front of your CFO
AI saves you time — but with financial data it has to be controlled. Here is exactly what controls exist today, in honest terms. We only claim controls that are actually built and tested in our code. The core principle: AI never changes your financial records on its own. A human always approves.
AI proposes. A person commits.
For automated categorization, AI writes a pending suggestion into a separate table — never your books. Only a human clicking Approve commits it, in a single transaction that also records who approved it. Reject changes nothing.
AI writes a suggestion — it never changes your books. Your approval is the only path that commits it.
The controls, one by one
Thirteen governance areas, each labelled by what is actually enforced.
One gateway for every AI call
🟢 EnforcedEvery AI feature — categorization, receipt reading, the assistant, anomaly and forecast summaries — routes through a single governed gateway. There is no code path that talks to a model directly, so the controls here can’t be skipped by one feature.
Data classified by sensitivity
🟢 EnforcedBefore anything is sent to a model, data is classified into Public, Controlled, Restricted, or Highly-restricted. The tier is fixed by the feature in code and can’t be loosened by the caller — and it decides where the data may go.
Your most sensitive data stays local
🟢 EnforcedHighly-restricted data — today, GST tax-ID (GSTIN) extraction — is code-blocked from every external provider and processed only on a local model. If an external provider is configured, that data is transparently rerouted to local; it never leaves your environment.
External providers vetted, blocked by default
🟢 EnforcedAn external AI provider can’t be used until it’s in the registry with a verified data-processing agreement and an approved maximum data tier. New providers start blocked. A blocked provider causes a safe fallback to the local model.
AI never changes your books — a human approves
🟢 EnforcedFor automated categorization, the AI writes a pending suggestion, not a change to your accounts. The transaction updates only when a person clicks Approve — the single code path that commits a suggestion. Reject writes nothing to your financial records.
Manipulation attempts detected and blocked
🟢 EnforcedText bound for a model is scanned for 18 categories of prompt-injection and manipulation — ignore-instructions, persona overrides, system-prompt extraction, jailbreaks, data exfiltration, cross-tenant probing. On a match, the call is blocked before any model runs, and logged.
If a safety check errors, we stop
🟢 EnforcedSecurity checks fail closed: an error in the injection scan, the tenant check, or the assistant’s topic classifier blocks the request rather than waving it through. (The provider policy fails safe-to-local so sensitive data stays protected while work still completes.)
Every AI call is audited
🟢 EnforcedEach governed call writes to an append-only, per-organisation audit log: the feature, data tier, provider and model, a redacted summary, confidence, whether injection was detected, the outcome, and latency.
Strict tenant isolation
🟢 EnforcedThe AI only ever works with your organisation’s data, taken from your authenticated session — never a URL or request body. Approve/reject actions are org-scoped on the server; a cross-tenant attempt returns “not found”. Verified by automated tests.
We don’t log your raw financial data
🟢 EnforcedThe audit log stores a classification summary — feature and data tier — not your prompts, amounts or documents. The audit trail never becomes a place your financial data can leak from.
Provider retention & “no training on your data”
🟢 EnforcedThe provider registry tracks, per provider, whether it retains prompts and whether it trains on data, alongside DPA status and region — and these gate whether a provider may be used. Enforcement of the gate is in our code; the commitments come from each provider’s DPA.
What we deliberately do not claim
To keep this page trustworthy, here is what we are not claiming, even though it might sound good:
- That a blocked provider “rejects” your request — it reroutes to the local model.
- AI accuracy or approval-rate dashboards — those counters aren’t populated yet.
- Governance-layer role restrictions on AI features (see #13).
- A persisted AI disclaimer on receipts/forecasts yet (see #11).
- Payroll-specific local-only protection — only GST receipts hit the top tier today.
AI governance, answered
External providers are gated on “does not train on data” and “does not retain prompts” terms recorded in our provider registry, and are blocked by default until vetted. Your most sensitive data (tax IDs) is processed only on a local model that never sends data out.
Want to review these controls in depth with your accountant? Contact us.