# Security | InvoiceIQ by Analytos

> How rules run, where documents live, who can post, and why no model ever makes an accounting decision at posting time.

Canonical URL: https://invoiceiq.analytos.ai/resources/security

Trust

# Security

Where your data lives, how rules run, and why no AI model decides what gets posted.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)

## Deployed in your environment

InvoiceIQ runs where you run it — your cloud account or your own hosts — and you own the code. Documents are stored in your bucket or on your disk; rules, lookups, policies and the posting log live in your PostgreSQL database. Nothing about your ledger sits inside a vendor’s multi-tenant service.

## Where the AI is, and where it is not

Models read documents and write rule code at authoring time. At posting time no model is called for the accounting decision: an approved rule runs in a restricted sandbox — no imports, no file or network access, no clock, no randomness, under a timeout. That boundary is why the same invoice codes identically every time, and why a model cannot be prompted into posting something.

## Nothing governs money until it passes a test

-   Coding rules must reproduce their stored example invoices.
-   Match rules are backtested against bills you have already posted.
-   Placement rules are exercised against every charge shape the composer can produce.
-   Activation is refused otherwise. Every version keeps one-click rollback and an audit row naming who changed it.

## Nothing posts on its own

Every posting is a person approving a decision the system has already shown its working for. The golden rule is enforced one final time after the ERP has the bill: if the composed total does not equal the invoice, the bill is deleted and the post refused. Every attempt — successful or refused — is written to the Posting Log with who clicked it.

## ERP credentials

The demo build ships with an in-app demo ERP and pins every live-ERP credential to empty, so a walkthrough can never reach a real accounting system. On boot the service logs which ERP client it selected, so the configuration is verifiable in one line.

## Access

One sign-in for both products, token-based sessions, secrets held outside the codebase, and a module registry that lets either product be switched off at runtime. Self-service sign-up is off unless a deployment opts in.

## Email intake

A shared mailbox is read through Microsoft Graph or IMAP with a message-id ledger and a received-time watermark, so nothing is ingested twice and mailbox history is never back-ingested on day one.

[Canonical data model](https://invoiceiq.analytos.ai/resources/data-model) [For ERP & IT owners](https://invoiceiq.analytos.ai/solutions/for-erp-owners)

## Want to see it rather than read about it?

A walkthrough takes an hour and starts with your own documents.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)
