Onivo · Security

AP automation security, in plain terms

Onivo AP reads invoices, matches them against purchase orders and receipts, routes approvals, and posts bills into the ERP. Along the way it holds vendor bank details, ERP credentials, and a record of who approved what. This page explains how that data is isolated, encrypted, and audited — and exactly where the invoice travels while it is being processed.

Isolated per tenant

Postgres row-level security separates each customer's data, enforced by the database itself.

Encrypted at rest

ERP tokens and bank details are encrypted with a key dedicated to exactly that data.

Tamper-evident audit

Every decision lands in a hash-chained log. Alter one entry and the chain breaks visibly.

MFA for administrators

Multi-factor authentication is enforced for platform administrators — not offered, enforced.

Data flow

Where the invoice actually goes

Onivo AP is hosted on Google Cloud, in the us-central1 region. When an invoice arrives — a PDF or an emailed attachment — invoice capture and OCR run on Google Document AI inside Onivo's own Google Cloud project — the same project that runs the rest of the pipeline, under Onivo's own access controls.

One step is different, and we would rather say so plainly than bury it: the AI document-review step sends invoice content to Anthropic's API. If that does not fit your data policy, the step can be disabled per deployment. Everything else described on this page applies either way.

Data controls

Controls enforced below the application

01

Tenant isolation in the database

Each customer's invoices, vendors, and approvals sit behind per-tenant row-level security in Postgres. The boundary is enforced by the database itself, not just by application code — a query without the right tenant context returns nothing at all.

02

Encryption with a dedicated key

Data is encrypted in transit with TLS and encrypted at rest. ERP credentials and bank details go further: they are additionally encrypted at the application layer, with a key reserved for that purpose alone. The most sensitive fields in the system get their own lock — how the ERP connection itself is stored and used is on the integrations page.

03

A hash-chained audit trail

Every decision on an invoice — an extraction correction, a match override, an approval — is written to a tamper-evident audit log. Each entry carries the hash of the entry before it, so an altered record breaks the chain instead of vanishing quietly.

04

Blank beats plausible

When a field cannot be read with confidence, Onivo leaves it blank rather than guessing. A blank field gets a human look; a wrong-but-plausible one gets paid.

Process controls

Security is also how the workflow behaves

A breach is not the only way to lose money in AP. There is also the same invoice paid twice, an approval that skipped the right person, a total that never matched the purchase order. Onivo treats these as security problems too, and the controls run on every invoice:

Access & disclosure

Who gets in, and who to tell

MFA where it matters most

Multi-factor authentication is enforced for platform administrators — the accounts with the widest reach are the ones that never sign in on a password alone.

Sign-in alerts on new devices

When an account signs in from a new device, the owner hears about it. A familiar login stays quiet; an unfamiliar one gets flagged while there is still time to act.

Per-screen permissions for your team

Role-based access controls decide what each of your users can see and do, screen by screen — who reviews, who approves, and who only needs to look something up.

Staff access, strictly limited

Access to customer data by Onivo staff is strictly limited: named operators only, behind enforced multi-factor authentication and a gated console.

A published route for researchers

Onivo publishes a security.txt file following RFC 9116, so a researcher who finds something knows exactly where to report it — no hunting for a contact.

Questions welcome

If your review needs more than this page — your questionnaire, your IT lead's questions — send them over. We answer specifically, not with boilerplate.

AI & your data

The AI learns from you, for you

When a reviewer corrects an extracted field — a misread total, a vendor name, a line description — Onivo learns from that correction, so the next invoice from the same vendor reads better. That learning serves your account: it makes extraction more accurate on your vendors' invoices, in your formats.

What it does not do is feed anyone else's models. Your invoice data is not used to train third-party foundation models. The one step that sends invoice content outside Onivo's own cloud is the document-review step disclosed above — named plainly, and disableable per deployment.

Retention & deletion

Your data stays as long as you decide

Retention windows are configurable, and deletion is honored on request. And when the relationship ends, so does our hold on the data: on cancellation, your data is deleted on request — fully.

FAQ

Security, answered plainly

Is Onivo SOC 2 compliant?

Not yet — Onivo is not SOC 2 certified today. What is in place: tenant isolation enforced at the database row level, encryption in transit and at rest with application-layer encryption for ERP credentials and bank details, a tamper-evident hash-chained audit trail, and enforced multi-factor authentication for platform operators. If your process needs more than this page, we will walk through a security review with your team.

Where is our data stored?

On Google Cloud, in the United States. Data is encrypted in transit and at rest, and each tenant's rows are isolated by the database itself — a query without the right tenant context returns nothing.

Is our invoice data used to train AI models?

Not third-party ones. Extraction learns from your own corrections so it reads your vendors' invoices better over time, and that learning serves your account. Your invoice data is not used to train third-party foundation models.

Who at Onivo can see our data?

Access to customer data by Onivo staff is strictly limited: named operators only, behind enforced multi-factor authentication and a gated console. On your side, role-based access controls with per-screen permissions decide what each of your users can see and do.

What happens to our data when we cancel?

Retention windows are configurable while you are a customer, and deletion is honored on request. On cancellation, your data is deleted on request.

How is our data encrypted?

In transit with TLS, and at rest across the platform. The most sensitive fields — ERP credentials and vendor bank details — are additionally encrypted at the application layer, with a key dedicated to exactly that data.

Talk to us

Ask us the hard questions

Bring your security questionnaire, your IT lead, or both. We will walk through tenant isolation, the audit chain, and the data flow on a live system.

Book a demo →