SECURITY

Built for the documents you’d never email.

Your contracts live in a private bucket, encrypted at rest, readable only by your organization and the named analysts assigned to your engagement, and you can delete them at any time, which removes both the database rows and the stored files. That is the promise this page exists to prove, mechanism by mechanism.

THE NUMBERS WE ENFORCE

Precise, because vague pages make you assume the worst.

~200

customer tables covered by Postgres row-level security

24

automated cross-tenant isolation suites run in CI on every change

60 s

signed download URL lifetime, minted per request, never pre-signed into HTML

40 MB

upload cap, with the file's actual byte signature checked, not its extension

12+

password minimum, screened against known breach corpora before acceptance

1 year

maximum age of API keys and SCIM tokens, stored as SHA-256 hashes

15 min

audit event batches streamed to your SIEM, signed and cursor-tracked

3 days

business-day SLA to acknowledge a vulnerability report, with safe harbor

VERIFY, DON’T TRUST

Don’t take this page’s word for any of it.

The strongest control is the one you can test without asking us. Every account ships with the instruments to check our claims from the inside.

Open your Security Center

In the app under Settings, Security, Posture: your org's MFA coverage, audit export, and SIEM webhook setup, live, on your own tenant's data.

Run the isolation test

Create two organizations, upload a document to one, and confirm the other's session cannot read it. The denial comes from the database's row-level security, not an application error page.

Watch your own audit stream

Subscribe an audit webhook and signed, cursor-tracked batches of your org's events arrive within 15 minutes. Compare them against what your team actually did.

Test deletion end to end

Delete a contract and confirm rows and files are gone, then download the timestamped deletion certificate that the deletion wrote.

Reviewing us for your company? The security review package is one link with everything your team needs: the reading order, every document, the live verifications above, and our honest gaps.

Open the review package

ARCHITECTURE

Isolation enforced by the database, not the app.

Most breaches of multitenant apps happen in application code. Ours is designed so that even buggy application code cannot cross a tenant boundary, and we test that claim automatically on every change.

Row-level tenant isolation

Every one of roughly 200 customer tables carries your organization ID, and Postgres row-level security policies enforce the boundary on every query. 24 automated cross-tenant isolation suites run in CI on every change: the failing cross-org read is a permanent regression test, not a demo.

Private file storage

Contracts live in private buckets with storage policies mirroring the same org rule. There is no public URL to any customer file, ever.

60-second signed downloads

Every file download uses a signed URL minted per authorized request and expiring in about a minute. Nothing is pre-signed into a page, so a leaked link or a saved HTML file is dead before it can be abused.

Encrypted everywhere

TLS for everything in transit; database and storage encrypted at rest. No secret is ever stored in the codebase, keys live in server-side environment variables only.

Hardened headers

HSTS, nosniff, frame-deny, and a strict Content-Security-Policy carrying a fresh per-request nonce, which is why every page renders dynamically instead of from a cache that could serve a stale policy.

Rate limiting

Authentication, upload, and AI routes are rate-limited per user and per IP, with per-key limits on the public API. In production the limiter fails closed.

IDENTITY & ACCESS

The right people, proven.

Access control that assumes credentials get phished and roles get misassigned, and limits the blast radius of both.

TOTP multi-factor auth

App-based MFA for all users with session step-up enforcement, enforceable org-wide by policy, and mandatory for every member of our own staff.

SCIM 2.0 provisioning

Okta, Microsoft Entra, or any SCIM-capable IdP provisions and deactivates users automatically, offboarding in your directory is offboarding here.

Role-based access

Owner and member roles per organization, managed by your own org owners. Sensitive actions like member management and deletions are owner-only.

Admin rights can't be self-assigned

Platform staff access lives in a separate table that no customer-facing code path can write to. There is no privilege-escalation route from a customer account.

Per-contract access control

Restrict individual contracts to named people within your own organization, need-to-know inside the tenant boundary too.

Hashed, expiring API credentials

API keys and SCIM tokens are stored as SHA-256 hashes and expire within a year. We can verify them; nobody can read them back.

Enforced SSO

Switch on Require SSO and password and magic-link sign-in are refused for your domain. Owners keep a break-glass path so a broken IdP cannot lock you out.

Session control

See every device your account is signed in on, revoke any one, or sign out everywhere else. A sign-in from a new device emails you the same minute.

Breached-password screening

New passwords need 12 characters and are checked against known breach corpora with a privacy-preserving query before they are accepted.

DATA PROTECTION

Your contracts, accounted for.

Complete accountability for every byte you give us, on the way in, at rest, and on the way out.

Upload validation

Allowed document types only, a 40 MB cap, and a file-signature check on the actual bytes, a renamed executable doesn't get in because the extension says PDF.

Full audit trail

Every view, download, create, update, and delete of contract data is logged with actor, action, entity, organization, IP, and user agent. Analyst access to your files is logged the same way, in the trail you can inspect.

Real deletion

When you delete a contract, both the database records and the stored files are removed, and deleting your organization sweeps every storage bucket. Deletion is a data path, not a support ticket.

Confidentiality scanner

Anything shared outside your organization is scanned for sensitive terms first, and external share links expire.

AI without training

AI features run against your tenant-isolated data at request time. Your contracts are never used to train models, ours or anyone else's. The full data flow is spelled out below.

Anonymized benchmarks

Benchmark aggregates are pooled and anonymized. Nothing that could identify your company, contract, or terms is ever exposed to another customer.

Audit stream to your SIEM

Signed batches of audit events push to your SIEM every 15 minutes, cursor-tracked so nothing is skipped, and owners can export the complete history as CSV any time.

Automatic security alerts

An hourly detector reads the audit trail and emails your owners when one account's downloads, exports, or permission changes look unusual.

INTEGRATION SECURITY

Connected, without becoming the weak link.

Every connector, webhook, and inbound channel is authenticated in both directions.

Encrypted connector credentials

SAM, spend, and workflow connector credentials are encrypted at rest, scoped to your organization, and used only server-side.

Verified inbound

Email-in and CLM webhooks verify HMAC signatures before anything is processed; each org's inbound addresses carry unguessable capability tokens.

Signed outbound webhooks

Events we send you are HMAC-signed with timestamped signatures, so your systems can verify us the same way we verify them.

AI DATA FLOW

Exactly what leaves, to whom, and for how long.

Written the way your team will ask it in the DPA review, because that is where this question always lands.

1

Nothing leaves until you act

AI runs only when a member of your org runs an AI feature. There is no background training job reading your documents.

2

What leaves, and to whom

The specific document text and question needed for that one run go to Anthropic (Claude), our only model provider. Nothing goes to any other AI vendor, ad network, or analytics service.

3

What comes back, and where it lives

The analysis returns to your tenant and is stored under the same row-level security as the document it came from.

4

Retention and training

Anthropic does not use API data to train models. A contractual zero-data-retention addendum is in progress and tracked on the claim ladder above until it is signed.

5

Attribution

Every AI run is metered and attributable to the user and organization that ran it, so your admins can see who analyzed what.

WHERE EVERYTHING STANDS

The claim ladder, including what we haven’t built.

SOC 2 is auditor-attested and GDPR has no government badge, so we mark a claim Implemented only when the code or the evidence exists. A vendor that tells you what it does not have is a vendor whose yes you can believe.

Implemented

In the code, verifiable in your own tenant.

  • Database-enforced tenant isolation

    Since day one, tested in CI on every change

  • TOTP MFA, step-up, org-wide enforcement

    Mandatory for our own staff

  • Enforced SSO and SCIM 2.0

    July 2026: Require SSO refuses password sign-in

  • Session list, revoke, sign out everywhere

    July 2026, with new-device email alerts

  • 12+ character passwords, breach-screened

    July 2026

  • API key and SCIM token expiry

    July 2026: one year maximum, hashed at rest

  • SIEM audit streaming and CSV export

    July 2026: signed 15-minute batches

  • Deletion that sweeps rows and files

    July 2026: org deletion clears every bucket

  • security.txt and disclosure policy

    July 2026, with a 3-business-day SLA

  • DPA, subprocessor list, and terms pages

    July 2026, linked below

  • AI runs in your audit trail

    July 2026: every AI run lands in your org's audit log with actor, feature, and model

  • Privileged data paths under review ratchet

    July 2026: any new code path that bypasses row-level security fails CI until it is reviewed into a pinned baseline

  • Break-glass sign-ins are audit-visible

    July 2026: an owner using the SSO bypass writes auth.sso_breakglass to your audit log

  • Per-org IP allowlist and session policy

    July 2026: owner-set CIDR allowlist, max session age, and idle timeout, enforced on every request, denials audit-logged

  • Deletion certificates

    July 2026: every contract, retention, and organization deletion writes a durable timestamped certificate you can download

In progress

Underway now, status stated plainly.

  • SOC 2

    Type I targeted Q4 2026, Type II after the observation window; controls implemented and mapped to evidence today, report under NDA when issued

  • GDPR program

    DPA, subprocessors, and deletion live; records of processing being finalized with counsel

  • CCPA / CPRA

    Privacy notice live; no sale of personal data

  • Anthropic zero-retention addendum

    API data is already excluded from model training; the contractual zero-data-retention addendum is being formalized

Not yet

We list what we haven't built so you can believe the first column.

  • Third-party penetration test

    First engagement being scheduled; the report will land in the NDA document room

  • ISO 27001

    Not started; SOC 2 comes first

  • Customer-managed keys (BYOK)

    Not built

  • EU data residency

    Not built; all data is hosted in the US today

  • Passkeys / WebAuthn

    Not built; TOTP is the second factor today

  • WorkOS-brokered SAML setup

    SSO works per org today; fully self-serve IdP onboarding is not built

Skip the questionnaire weeks: our standard DPA, subprocessor list, and terms are public, and the NDA document room holds the policy set and a pre-completed security questionnaire, with every access logged.

Request documents under NDA

SHARED RESPONSIBILITY

Who runs what, so nothing falls between chairs.

What VendorBenchmark runs

The platform and its controls.

  • Tenant isolation policies and their CI test suites
  • Application access control, MFA step-up, SSO enforcement
  • Audit logging, SIEM streaming, and security alerting
  • Upload validation and short-lived signed downloads
  • Secret handling, key hashing, and connector encryption
  • Incident response for the platform, with direct customer notification

What our infrastructure runs

SOC 2 Type II audited providers, listed with roles on our subprocessor page.

  • Supabase: Postgres hosting, storage, encryption at rest, backups
  • Vercel: application hosting, TLS termination, edge network
  • Anthropic: AI model inference, no training on API data
  • Provider status pages: status.supabase.com and vercel-status.com

What you control

The controls only your org can turn.

  • Enforce MFA or Require SSO for your organization
  • Review members, roles, and per-contract access regularly
  • Rotate API keys and SCIM tokens; they expire within a year regardless
  • Subscribe the audit stream to your SIEM and watch it
  • Delete contracts and data you no longer need us to hold

Incident history and commitment

No customer data breach to date, as of July 2026. If that ever changes: you hear it from us directly within 72 hours of confirmation, followed by a written post-mortem, and the audit trail shows you exactly what was touched. Short-lived file links and per-request access mean the blast radius of any incident is bounded by design, not by luck.

Security is owned by a person

Security at VendorBenchmark is owned by Fredrik Filipsson, founder. Reach the security team at info@vendorbenchmark.com, or through security.txt and the disclosure policy. Vulnerability reports are acknowledged within 3 business days, and good-faith research gets safe harbor.

This page last reviewed July 15, 2026 by Fredrik Filipsson.

SECURITY FAQ

What your security team will ask.

Who can see my contracts?
Members of your own organization, further restrictable per contract to named individuals, and the analysts who produce your benchmarks. Every analyst view and download is written to the audit trail you can inspect.
How is tenant isolation actually enforced?
At the database. Every customer-facing table carries an org ID and is covered by Postgres row-level security policies, so a query from your session physically cannot return another organization's rows, even if there were a bug in the application layer. Storage policies on the file buckets mirror the same rule, and 24 automated isolation suites re-prove it in CI on every change.
Is my data used to train AI models?
No. AI features read your tenant-isolated data at request time to answer your questions and generate your deliverables, and that's it. Your contracts are never used to train models, and the full data flow, including exactly what is sent to Anthropic and when, is documented on this page.
Is my pricing visible to other customers?
Never in identifiable form. Benchmark aggregates are anonymized and pooled; nothing that could identify your company, your contract, or your specific terms is exposed to anyone else.
Do you support SSO and automatic user provisioning?
SAML and OIDC single sign-on per organization, with a Require SSO switch that actually refuses password and magic-link sign-in for your domain once it is on. SCIM 2.0 provisioning works today with Okta, Microsoft Entra, and any SCIM-capable IdP, provision, list, and deactivate from your directory. TOTP multi-factor authentication is available to all users, enforceable org-wide, and mandatory for our staff.
Can we stream audit logs to our SIEM?
Yes. Subscribe an audit webhook and signed batches of audit events arrive every 15 minutes, cursor-tracked so nothing is skipped. Owners can also download the complete history as CSV from the audit log page.
Do you have a vulnerability disclosure policy?
Yes: responsible disclosure, referenced from our security.txt. Good-faith research gets safe harbor and an acknowledgment within 3 business days.
How do file downloads work?
Files are served exclusively through signed URLs that expire after roughly 60 seconds, generated per authorized request. There are no public or long-lived links to any customer file, and every download lands in the audit log.
What stops a malicious file upload?
Uploads are restricted to document types, capped at 40 MB, and checked against the file's actual byte signature rather than its extension. A disguised executable is rejected before it touches storage.
Can we delete our data completely?
Yes. You can delete contracts yourself, and deletion removes both database rows and stored files. Deleting your organization sweeps every storage bucket. If you leave, your organization's data goes with you.
Can our security team review you before we buy?
Please do. We’ll walk your team through the architecture, complete your security questionnaire, and demonstrate the isolation model live, including the cross-tenant access attempt failing. Our standard DPA, subprocessor list, policy set, and a pre-completed security questionnaire are available through the NDA document room on the compliance page. Request access and mention the review; we’ll set up the session.
What happens if something goes wrong?
Every action in the platform is audit-logged, backups are enabled, and file access is short-lived by design, which bounds the impact of any incident. If an incident affects your data, you hear it from us directly within 72 hours of us confirming it, followed by a written post-mortem, with the audit trail to show exactly what was touched.

This is the short list. The full security & data FAQ goes deeper: contract handling step by step, data lifecycle and deletion, how the AI uses your data, and the infrastructure it all runs on.

THIS PAGE, OVER TIME

A security page that doesn’t change is a launch artifact.

Bring your security team. Seriously.

The fastest deals we close are the ones where the security review happens first.