Subprocessors
Gyrence relies on a small number of third-party services to operate. Each entry lists the role the service plays, the data Gyrence sends, retention, and region.
This list covers operational subprocessors. For the full privacy posture (rights, retention, contact), see the Privacy Statement.
Subprocessor list
| Service | Role | Data sent | Retention | Region |
|---|---|---|---|---|
| Supabase | Managed Postgres, authentication, file storage | Account, workspace, API key hashes, usage logs | Life of account / billing window | US |
| Cloudflare Workers | Edge runtime for the API and console | Inbound request metadata | Operational logs only | Global edge |
| Brave Search | Backs the Search primitive | Your query, request metadata | Per Brave's policy | US/EU |
| Lovable AI Gateway | Backs the Extract primitive (LLM) | Page markdown + your extraction prompt | Forwarded, not stored by Gyrence | US |
| docABL | Binary-document renderer (PDF/DOCX/XLSX/PPTX passthrough) | Raw document bytes + content-type | Forwarded and forgotten — Gyrence does not persistently store the rendered output | US |
| Self-hosted Playwright worker | Browser-tier rendering for blocked / JS-heavy pages | Target URL | Operational logs only | US (Gyrence-managed) |
docABL — when it's invoked
Gyrence's /fetch primitive forwards the raw bytes of a recognized binary document (pdf, docx, xlsx, pptx) to docABL when the upstream content type or magic bytes match one of those kinds. docABL returns extracted markdown which Gyrence ships through the normal /fetch response shape.
When this happens, the response carries via: "docabl_passthrough", and source: "docabl_passthrough" is set on the result body. The in-product provenance chip in /app/fetch and /app/extract surfaces this; the /app/usage page shows a per-endpoint docABL call count; and each usage_events row persists an audit-grade metadata JSON blob:
{
"renderer": "docabl",
"renderMode": "passthrough",
"dataClass": "public",
"kind": "pdf",
"bytesLength": 2218394,
"docablOutcome": "ok"
}Gyrence only forwards bytes that were retrieved from a public URL submitted by your workspace. We treat passthrough payloads as data_class=public. Do not submit URLs whose contents your organization classifies above this tier without a written carve-out from us.
Honest-failure contract
docABL's outcomes are surfaced explicitly so callers (including Lacuna's FallbackClient) can route around them without guessing:
scanned_pdf_text_only_v1— image-only PDF; OCR is out of scope on this path.unsupported_binary— non-document binary or bare ZIP without an OOXML signal.docabl_error— docABL upstream error or timeout.
These reasons surface in the reason field on UnsupportedResult and are mirrored into usage_events.metadata.docablOutcome when applicable.
Changes to this list
Material changes to this subprocessor list are reflected in the Privacy Statement's "Last updated" date and communicated by email or in-product notification. Email operator@gyrence.com for the current list at any time.
