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

ServiceRoleData sentRetentionRegion
SupabaseManaged Postgres, authentication, file storageAccount, workspace, API key hashes, usage logsLife of account / billing windowUS
Cloudflare WorkersEdge runtime for the API and consoleInbound request metadataOperational logs onlyGlobal edge
Brave SearchBacks the Search primitiveYour query, request metadataPer Brave's policyUS/EU
Lovable AI GatewayBacks the Extract primitive (LLM)Page markdown + your extraction promptForwarded, not stored by GyrenceUS
docABLBinary-document renderer (PDF/DOCX/XLSX/PPTX passthrough)Raw document bytes + content-typeForwarded and forgotten — Gyrence does not persistently store the rendered outputUS
Self-hosted Playwright workerBrowser-tier rendering for blocked / JS-heavy pagesTarget URLOperational logs onlyUS (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"
}
Data classification

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.