Redline
RedactCompareHistory
← Back to Privacy Policy

Data residency

Every third-party service Redline touches, what data flows there, and the region it runs in. In the default configuration, contract analysis stays within the European Union.

Default data flows

These processors are involved every time you use Redline.

Mistral AI

EU — Paris, France

LLM contract analysis — overview, clause extraction, risk assessment, chat responses.

Data
  • Pattern-redacted contract text (PII replaced with ⟦KIND_N⟧ tokens before leaving the browser)
  • Analysis prompts in the user's selected UI language (EN, FR, DE, NL, ES, IT) — Mistral is multilingual by training and processes every supported locale natively; no translation service is involved
Legal basis
GDPR Art. 6(1)(b) — performance of a contract
Notes
Default LLM provider. Model pinned to mistral-small-latest (snapshot mistral-small-2603). Mistral La Plateforme runs in the EU, no transfer outside the EU/EEA for either the contract text or the analysis prompts, regardless of the UI language the user has selected.
Policies
Privacy Policy·Data Processing Addendum

Vercel

Global edge network — requests served from the nearest region

Frontend hosting and edge delivery of the Next.js app.

Data
  • HTTP request metadata (IP, user-agent) for the duration of the request
Legal basis
GDPR Art. 6(1)(f) — legitimate interest (site delivery)
Notes
Edge hosting only. Contract text is never persisted by Vercel — analysis calls are forwarded to Mistral and responses stream back through the same request.
Policies
Privacy Policy·Data Processing Addendum

Railway

EU West — Amsterdam, Netherlands

Backend hosting (FastAPI) for file upload, OCR, and PDF export.

Data
  • Uploaded contract files during processing
  • Extracted contract text before redaction (server-side parser only)
Legal basis
GDPR Art. 6(1)(b) — performance of a contract
Notes
Contract text is held in memory during the upload → parse → return cycle and then discarded. Not logged, not stored on disk beyond the request lifecycle.
Policies
Privacy Policy·Data Processing Addendum

Optional data flows

These processors only come into play when a specific feature — saved history or magic-link sign-in — is enabled by the operator.

Neon

EU — Frankfurt, Germany

Managed Postgres for saved analyses, magic-link sessions, and clause embeddings.

Data
  • User email (if you sign in)
  • Saved analyses and their provenance metadata
  • Session identifiers
Legal basis
GDPR Art. 6(1)(b) — performance of a contract (for saved analyses) and Art. 6(1)(f) — legitimate interest (for session management)
Notes
Only used when the backend DATABASE_URL env var is set. In the zero-backend-state configuration Redline runs without Neon and no personal data is persisted. Saved analyses are auto-deleted after 30 days (SP-5 retention) unless the user pins them.
Policies
Privacy Policy·Data Processing Addendum

Resend

EU — Ireland

Transactional email — magic-link sign-in.

Data
  • User email address
  • One-time sign-in link
Legal basis
GDPR Art. 6(1)(b) — performance of a contract
Notes
Only used when the backend RESEND_API_KEY env var is set. Email addresses are sent to Resend solely to deliver the sign-in link and not used for marketing.
Policies
Privacy Policy·Data Processing Addendum

Jina AI

EU — Berlin, Germany

Cross-encoder reranker — reorders the top-20 chat-context candidates by semantic relevance to the user's question.

Data
  • User chat question (one per reranker call)
  • Pattern-redacted clause text for the top-20 candidates from the hybrid retriever
Legal basis
GDPR Art. 6(1)(b) — performance of a contract
Notes
Only used when the frontend JINA_API_KEY env var is set. In the zero-config default Redline skips reranking entirely and the chat context is served from the BM25 + cosine hybrid retriever alone. Redaction runs before the rerank call — no unredacted PII is sent to Jina.
Policies
Privacy Policy·Data Processing Addendum

This page is rendered directly from the typed frontend/src/lib/data-flows.ts config so it tracks the live configuration without manual drift.

UI chrome is translated to English, French, German, Dutch, Spanish, and Italian. Analysis output (clause summaries, risk explanations, chat answers) is produced natively by Mistral — no intermediate machine-translation service touches the contract text. Each locale is enabled only after a native speaker reviews the prompts; locales still pending review fall back to English analysis so no user sees unreviewed LLM legal prose in their language.

For the EU AI Act posture mapping, operator rollback levers, and the machine-readable transparency receipt, see the transparency page.