Security

Trust is the
first feature.

A system of action over the systems of record has to earn the right to act in your name. Invice assumes that model output and connected content can be wrong or adversarial, then keeps authority in code and explicit user decisions. Encryption, key handling, action authorization, and audit are built before the features that depend on them. The short version is below; the full brief is published in its entirety.

Built to be trusted

Every action is audited.
You set every permission.

An agent that acts on your behalf has to earn the right to. Nothing sends without your approval unless you opt in, and encryption, key handling, retention, and audit are built first, before the features that depend on them.

Documents in your vault are encrypted at rest. Decrypted only when an agent needs them, only inside your permission envelope.
Your model API key is encrypted at rest, decrypted in isolated memory during an active session, and discarded immediately after.
No model is trained on your documents, your emails, or your mission logs. We never read what an agent sends or receives.
Based in Canada. Built for PIPEDA and GDPR from day one.

The full picture, including what we do not do, is in the security brief.

Practice ledger

Everything
we commit to in writing.

Published controls, stated in testable terms. Each one is a posture we either hold or do not, so you can evaluate the product against the claim.

Practice ledger· 13 controls, stated in testable termsPublished in full
Prompt injectionUntrusted text cannot grant authority

Email, documents, web pages, connector output, model output, and generated summaries are treated as untrusted content. Action risk and data classes are code-defined; proposed destinations are payload-bound and checked again at execution.

Held
Exact approvalsPayload-bound and single-use

When policy requires review, the interface shows the action, destination, and data classes involved. Approval is bound to that exact payload, expires, and is consumed atomically; changing the recipient or content invalidates it.

Held
Outbound actionsOne enforcement gate

Automated external mutations pass one gate immediately before the provider call. It verifies workspace and mission scope, configured autonomy or exact approval, destination, automation pause, and dry-run state.

Held
Outbound emailYou are the sender

Client emails send through your own connected Gmail or Outlook account, and by default nothing sends until you approve the draft.

Held
Connected toolsFail closed by default

Dynamic MCP and REST tools require exact review before connector credentials are decrypted. Tenant-controlled destinations pass redirect-aware SSRF validation, and model calls never silently fall over to a different provider.

Held
Encryption at restIn your private vault

Documents are encrypted at rest. Decrypted only when an agent needs them, and only inside the permission envelope of the active mission.

Held
Encryption in transitTLS and HSTS

Traffic to and from Invice is encrypted in transit. HSTS prevents browsers from falling back to plaintext connections.

Held
API keysNever stored plaintext

Your model API key is AES-256 encrypted at rest, decrypted only into isolated session memory, and discarded immediately after the call. Never logged.

Held
AuthSupabase Auth, MFA-ready

Sessions verified via JWT on every request. We use getUser() not getSession() on the server. MFA available; SSO and SAML on Enterprise.

Held
Audit logsMetadata-only by policy

Every agent action writes an audit row. Payloads are scrubbed of PII at write. We record what happened, not the contents.

Held
Data residencyCanada, with two named exceptions

Your database and uploaded files are stored in Canada (Montréal). Your own model provider processes prompts under your API key and may run elsewhere. Vault embeddings currently process in the US (OpenAI) and are moving to Cohere to stay in Canada. We recommend zero-retention model providers. Enterprise can request region-locked deployments.

Held
TrainingInvice does not train on your data

Invice does not use your documents, missions, or audit logs to train models. A model provider you connect processes selected prompts under its own contract and settings.

Held
RetentionYours to control

Export window on cancellation, then permanent deletion confirmed in writing. Request deletion at any time.

Held
Published in full

Read the
full security brief.

The long version, published on the site instead of sent on request: threat model, encryption details, key handling and rotation, audit format, retention controls, sub-processor list, and where we stand on SOC 2. Where the product and the promise differ, the brief says so.