Subprocessors

Version subprocessors-v1-2026-08, effective [[EFFECTIVE_DATE]]

Draft, not yet reviewed by counsel.

Active

ProcessorWhat it does for usData it seesLocationContract
Google Cloud — Cloud Run, Cloud SQL, Cloud Storage, Secret Manager, Cloud KMS, Cloud Logging, Cloud Build, Artifact RegistryHosting, database, file storage, key management, logsAll account and health data at restsouthamerica-east1 (São Paulo)Google's Cloud Data Processing Addendum, incorporated into the Google Cloud terms the account runs under, with the EU standard contractual clauses it carries for transfers
Google Cloud — Speech-to-Text v2 (Chirp)Converts recorded audio into textAudio recordings and the resulting texteu multi-regionSame DPA; transfer covered by the highlighted consent in 03
Google Cloud — Vertex AI (Gemini)Summaries, extracted terms, Ask answers, suggested questions, de-identification pass; for the opt-in live-notes feature, live listening notes and verdicts on whether prepared questions were answeredTranscript text and derived text; for the opt-in live-notes feature, the recording's audio while the visit is in progress, sent inline per window, together with the visit's note board and open questionssouthamerica-east1Same DPA; under Google Cloud's data-governance terms as they stand today, our data is not used to train Google's models
Google BigQueryDestination for opt-in usage events (ships with 0.13.0, activated at deployment: the real adapter, the dataset and the purge job are all in this release, and the environment's fake-sink flag is off in Terraform — the first event lands when 0.13.0 is applied and deployed, not before)Pseudonymous events only: event name, timestamp, random analytics_id, coarse client metadata. Not the content of a recording, a transcript, a summary or a notesouthamerica-east1 (per-region dataset)Same Google Cloud DPA; retention 24 months per ../retention.json, enforced as the events table's partition expiry; delete-by-id purge ≤ 30 days
Google Firebase HostingServes the published legal site https://scribe.dehaze.de/inapp: the privacy policy, the terms, the deletion page, the imprint and the notices, including the /inapp/* pages the app itself opens in its in-app browserWeb-request metadata of anyone who opens one of those pages: IP address, user agent, requested URL, timestamp, in Google's request logs. No account data, no health data, and no sign-in is involved — reading a legal page is deliberately possible without an accountGoogle's global CDN edge, so a reader is served from the edge nearest them; the origin content is staticFirebase Data Processing and Security Terms (same contracting relationship as the Cloud row)
Google Firebase Crashlytics (live as of 0.13.0, ruling D14)Crash reporting for the appContent-free crash reports: stack trace, device model, OS and app version. No health data, no content, no email, no user identifier, no IDFA; dev and prod streams separated by the per-identity Firebase projectsGoogle infrastructureFirebase Data Processing and Security Terms; retention 90 days — Crashlytics' own fixed retention, recorded in ../retention.json
Google Firebase Cloud MessagingDelivers push notifications to devicesDevice push token, neutral notification textGoogle infrastructureFirebase Data Processing and Security Terms
Apple Push Notification serviceDelivers those notifications on iPhonesDevice token, neutral textApple infrastructureApple Developer Program terms
Apple Maps (MapKit)Draws the map for a visit's saved location on iPhonesThe coordinates being shown, while the map is on screen. No account data, no health data, nothing about the visit itselfApple infrastructureApple Developer Program terms (platform service under Apple's own terms, not an Art. 28 processor)
Google Maps Platform (Android)Draws the map for a visit's saved location on AndroidThe coordinates being shown, while the map is on screen. No account data, no health data, nothing about the visit itselfGoogle infrastructureGoogle Maps Platform terms (platform service under Google's own terms, not an Art. 28 processor)
MailjetSends sign-in codes, deletion confirmationsEmail address, message contentEUMailjet's data-processing terms, part of its standard terms of service

Planned — must be added here before they go live

ProcessorPurposeBlocker
Google Cloud — separate training projectSegregated de-identified training corpusLive only for opted-in users; confirm it is contractually inside the same DPA scope

Formerly planned and now settled: both map services moved to the active table (0.13.0 — the Android map now renders through the Google Maps SDK rather than a placeholder, so the row is no longer conditional on C9); BigQuery moved to the active table (0.13.0, Q-08 closed); Sentry did not ship — crash reporting is Firebase Crashlytics in the app (ruling D14, superseding the spec's earlier Sentry posture), and backend errors surface through Google Cloud Error Reporting derived from the existing structured logs (no new backend SDK, inside the Google Cloud row above).

Not processors