Skip to content

Security

How your evidence and keys are protected.

One page for a partner's first question.

Your keys never reach an agent

Provider keys are envelope-encrypted at rest, with a per-workspace data key that is replaced every month. A sandbox receives a short-lived run token scoped to one run; our credential broker checks it, swaps in your key on the server and calls the provider. No provider key is ever placed in a sandbox environment or written to a log, and an automated test fails the build if one appears.

Sandbox isolation

Each station runs in its own Vercel Sandbox, a Firecracker micro-VM, with only that run's files mounted. Outbound traffic is limited to an allowlist and is read-only: a sandbox can fetch pages but cannot post, upload or send to any site. Sandboxes run in the US region only for now; an EU-only mode is planned.

Encryption

Data is encrypted in transit (TLS) and at rest in the database and file storage. File links are signed and expire within 15 minutes.

Evidence is untrusted input

Uploaded files are stored verbatim and never executed. Their text is passed to models inside an explicit "untrusted document" wrapper so instructions hidden in a file are treated as data. Uploaded files are not virus-scanned yet; scanning arrives in v1.1.

Data classes decide the provider

  • Public evidence may go to any provider you connect.
  • Target-confidential and fund-internal evidence only goes to providers with zero data retention.

What agents can and cannot read

  • They read the evidence of the target being run, for the stations it is tagged to.
  • They read a product's logged-in pages only if you store credentials for that target, and only during that run.
  • They cannot read other targets, other workspaces, or your keys.
  • They have no tool that sends, posts or emails anything.

Access and audit

Roles are enforced in the database with row-level security, not only in the interface. Changes to members, credentials, plans and deletions are written to an audit log. Support access is read-only, limited to 30 minutes and logged.

Incidents

We monitor errors, failed runs and health checks continuously. If an incident affects your data, we tell affected workspace owners within 72 hours with what happened and what we did.

Subprocessors and data processing agreements

These companies process data on our behalf. Each has a data processing agreement; model providers only receive what a run sends them, under your own key.

Report a vulnerability

Email hello@thediligence.app with "security" in the subject. We acknowledge within one business day and do not pursue good-faith research.