Skip to main content

Sub-Processors

We list every sub-processor with the geography per row, the function each one performs, and the legal mechanism that authorises the data flow. The table below is the page; the rest is what we operate around it. No "industry-leading" claims, no certifications without scope, no pen-test boasts without a vendor and a date.

What we ship

Adjudon is a SaaS-only Decision Audit Layer hosted in Frankfurt (eu-central-1). Every customer integration crosses one HTTPS call to api.adjudon.com; the trace lands at the Fly.io Frankfurt edge, passes through PII scrubbing, the Confidence Engine, and the Policy Engine, and is appended to a tamper-evident SHA-256 hash chain in MongoDB Atlas Frankfurt. The sub-processors below are every external service that touches that data path or supports it operationally.

Sub-processors

Sub-processorRegionFunctionTransfer mechanismStatus
MongoDB AtlasFrankfurt (eu-central-1), GermanyPrimary database; trace + chain + audit storageEU-internalRequired
Fly.ioFrankfurt, GermanyAPI server hostingEU-internalRequired
Cloudflare PagesEU edgeLanding site, dashboard, docs CDNEU-internalRequired
Stripe PaymentsIrelandBilling, metered usage, invoicingEU-internalRequired (production)
ResendEUTransactional email (auth, notifications)EU-internalRequired
OpenAIUSAEmbedding generation (Confidence Engine third pillar)GDPR Chapter V SCCsOpt-in per organization
n8nEUDemo-request CRM (lead pipeline only)EU-internalOptional, not in trace pipeline
Google / GitHub / MicrosoftUSA / EU (per provider)Federated login (OAuth)Provider-specific termsOptional, customer-side opt-in

The OpenAI line is the one external-EU sub-processor in the trace path. The embedding call sends only the trace's inputContext + triggeringCondition text (already PII-scrubbed) to the text-embedding-3-small model and returns a 1,536-dimensional vector that is stored back in MongoDB Atlas Frankfurt. No customer trace payload is retained at OpenAI for training. The feature is opt-in — if your organization requires strict EU-only processing, contact [email protected] to disable it before first use.

The federated-login providers (Google, GitHub, Microsoft) sit at the authentication boundary, not in the trace pipeline. They see the authenticating user's identity, not customer trace data.

Sub-processor changes are notified in advance per GDPR Article 28(3)(d) on the timeline defined in the DPA. Contact [email protected] for the current text.

Encryption

LayerMechanismNotes
At restAES-256MongoDB Atlas-managed; keys rotated on the AWS schedule; Adjudon does not hold the master key
In transitTLS 1.2+HTTPS enforced at the Fly.io edge; plain HTTP redirects to HTTPS, then Helmet CSP applies
Tamper-evidenceSHA-256Per-org Decision Hash Chain + Operations Audit Log; replay-verifiable offline
PII pre-storageRegex scrubberEmail, IBAN, credit-card, SSN, phone — before hash, before persistence
BackupAtlas continuous + daily snapshotsPoint-in-time recovery; specific RTO/RPO defined in the DPA per plan

The chain is tamper-evident, not tamper-proof: any modification to a stored entry breaks the next entry's prevHash link, and verification returns brokenAt: <sequence>. Tampering is loud.

Penetration testing

We do not currently publish a third-party penetration-test report. A first independent test is planned and will be published with the vendor name and the test date once the engagement closes — see Penetration Testing for the scheduled-by date and the open-disclosure commitment.

We do not claim "battle-tested" or "industry-leading" security in the absence of that report. The chain export bundle is independently verifiable today; the pen-test report is the procurement-grade attestation we owe alongside it.

Vulnerability disclosure

Responsible-disclosure reports go to [email protected] until the dedicated security@ channel and PGP key publish — see Responsible Disclosure for the disclosure policy, the safe-harbour scope, and the response-time commitment under EU CRA Article 11 readiness.

Uptime

Plan tierUptime SLOStatus
SandboxBest-effortFree tier; no contractual SLO
Scale99.9%Live
Governance99.9%Live
Enterprise / Custom99.99% targetRoadmap, not live

The 99.99% Enterprise SLO is on the roadmap and is not live today. We flag this on every page that touches the SLO claim so procurement does not arrive expecting an enforceable 99.99% commitment that does not yet exist.

What we are working on (honest)

  • Penetration testing. Vendor and date TBD; the test, the report, and the remediation timeline will be published at Penetration Testing.
  • SOC 2 / ISO 27001. Neither is in progress today. We do not claim certification status we do not hold.
  • Dedicated [email protected] mailbox + PGP key. Coming with the responsible-disclosure programme; until then, [email protected] is the disclosure path.
  • 99.99% Enterprise SLO. Target tier exists in the plan matrix but is not contractually live.

See also