Skip to main content

// Security & trust

You're trusting us with privileged data.

Here is exactly how we protect it — the controls we run today, and an honest account of what we're still building. No overclaiming.

Last updated: 2026-06-10

Your matter data trains nothing. Your data is never used to train AI models. Draftiro uses the Google Gemini API on Google's paid tier, under terms that prohibit using your inputs or outputs to train Google's models. Gemini calls are stateless.
SOC 2 Type II
Audit in progress
In progress
No AI training
On your data, ever
Live
AES-256
At rest & in transit
Live
GDPR
DPA on request
Live
CCPA / CPRA
Aligned
Live
ABA Op. 512
Built-in
Live

How your data flows

Your case content lives in a single-tenant-isolated Postgres database (Supabase on AWS us-east-1), encrypted at rest. When you chat or draft, only the context needed for that request is sent to the Google Gemini API over TLS and returned — nothing is stored on Google's side, and nothing trains a model. Citation checks call the public CourtListener API read-only. Optional Outlook integration reaches Microsoft Graph in your own tenant region.

INPUT
Your matters

Stored in Supabase on AWS us-east-1.

AI
Gemini over TLS

Only the needed context is sent; nothing is stored or trains a model.

CITES
CourtListener

Read-only citation lookups.

CALENDAR
Outlook Graph

Read-only, only if you connect it.

All data is stored in AWS us-east-1 via Supabase (single region). EU data residency is on our roadmap but not yet available.

Encryption & isolation

At rest
All databases (Postgres) and storage (case files) encrypted with AES-256 at the infrastructure layer (Supabase / AWS us-east-1).
In transit
TLS 1.3 everywhere. HSTS enforced on the production domain.
Application-layer encryption
Outlook OAuth tokens (access + refresh) are encrypted at the column level using AES-256-GCM with a server-side ENCRYPTION_KEY before ever hitting Postgres. If our DB ever leaks, your Outlook account is still safe.
Row-Level Security
Every database table enforces firm-scoped access at the Postgres level — not the application level. A bug in our code can't accidentally expose another firm's data.

ABA Model Rules alignment

Rule 1.1 (Competence)
Every case citation the AI emits is checked against CourtListener and flagged as verified, missing, or unchecked. Statutes, regulations, and court rules are extracted but not validated — the UI surfaces them as unchecked so you know to confirm in your authority. AI disclaimers append to every assistant message.
Rule 1.6 (Confidentiality)
Encryption + RLS + audit logs. All access is per-firm scoped. We do not train AI models on your data — Gemini calls are stateless.
Rule 1.7 (Conflicts)
Conflict-checking runs as you type new client / opposing-counsel names. Acknowledgment is logged with user ID and timestamp.
ABA Formal Op. 512 (Generative AI)
Every AI exchange auto-creates a billable time entry flagged AI-assisted in the time tracker, so disclosure to clients is auditable.

Audit & accountability

Audit log
Every create, update, delete, share, and export writes a row to audit_log with user, IP, user-agent, and timestamp. Retention: indefinite for the life of the firm account.
Conflict acknowledgment trail
When a lawyer proceeds past a flagged conflict, the case row records who acknowledged and when. Defensible in a malpractice review.

Your data, your control

Data export
Settings → Download my data — a JSON archive of every case, conversation, document, time entry, and audit-log row your firm owns. GDPR Art. 20 + ABA Rule 1.16(d).
Account deletion
Account deletion is a reviewed request. When you request deletion, we run legal-hold and billing checks, then delete or irreversibly anonymize your firm's data — typically within 30 days of a verified request. Encrypted backups age out on their normal cycle. Export anything you want to keep first.
No model training
We do not train AI models on your data. Gemini API calls are stateless and run under Google's paid-tier terms, which prohibit using your inputs or outputs to train Google's models.
No selling
We never sell, rent, or share your firm's data with third parties. Period.

Data retention

How long each class of data lives. The windows below cover backups and logs.

DataRetention
Cases, documents, drafts, clientsLife of the account; deleted or anonymized after a verified deletion request (legal-hold + billing checks first), typically ≤30 days
Chat history & AI exchangesLife of the account; deletable per-conversation any time
Audit log (create/update/delete/share/export)Indefinite for the life of the firm account
Database backups (point-in-time recovery)Encrypted; age out on their normal rolling cycle
Error/observability logs (Sentry)90 days, PII-redacted
Outlook OAuth tokensUntil you disconnect; deleted on disconnect
Stripe billing recordsRetained by Stripe per their legal/tax obligations

Subprocessors

The vendors that process data on our behalf. The full subprocessor list is the authoritative, maintained source of truth and matches our DPA.

  • Supabase (PostgreSQL, Storage, Auth)
    Database + file storage + authentication · AWS us-east-1
  • Vercel
    Application hosting + CDN · Edge network
  • Google (Gemini API)
    AI inference (chat, drafting, summaries) · us-central1
  • Microsoft (Graph API)
    Optional Outlook calendar + email integration · Per user's tenant region
  • Stripe
    Payment processing — we never see card details · us-east-1
  • Sentry
    Error tracking with PII redaction · us-east-1
  • CourtListener (Free Law Project)
    Citation validation — read-only API calls · Public legal database

Standards & compliance timeline

  1. AES-256 encryption + Row-Level SecurityLive

    Live today. Data encrypted at rest and in transit; firm-scoped isolation enforced at the database layer.

  2. No AI training on your dataLive

    Live today. Gemini runs on Google’s paid tier under terms that prohibit training on your inputs or outputs; calls are stateless.

  3. ABA Op. 512 + Rule 1.7 controlsLive

    Live today. AI exchanges auto-log AI-assisted time entries; conflict checks run as you type, with an acknowledgment trail.

  4. SOC 2 Type IIIn progress

    In progress. Draftiro is not SOC 2 Type II certified today; an independent audit is underway. We will not represent it as complete until a report issues.

  5. EU data residencyIn progress

    On the roadmap as we bring up an eu-central-1 region — not yet available. Today all data is stored in AWS us-east-1.

  6. SAML SSOIn progress

    Rolling out on the Practice and Enterprise tiers. Most solo and small firms don’t need it — if you do, tell us.

Request a DPA or BAA

Need a signed Data Processing Addendum for procurement, or a BAA for PHI workflows? We'll send the current documents and walk your team through them.

Request documents

Report a vulnerability

Found a security issue? Email security@draftiro.com. We credit reporters who'd like public acknowledgement.

Email security@draftiro.com