The posture
Graphor retains primary customer data indefinitely until the customer explicitly deletes it. No automatic time-based pruning runs on sources, conversations, or extractions. The customer is the source of truth on retention; Graphor provides the API and UI to act on it. This posture is intentional. Regulated customers (legal, financial, healthcare) typically need to control retention themselves — for example, to align with a case-file matter-management retention schedule, with an audit obligation under CVM or Bacen rules, or with a patient-record retention requirement under CFM resolutions. A platform that prunes on a fixed schedule does not fit those constraints. Three commitments balance this posture against the right to deletion:- Every delete propagates end-to-end. When the customer issues a delete, every backing store that holds the data drops it.
- A customer-callable DSR API satisfies LGPD art. 18 / GDPR art. 17. The customer (or their data subjects, when the customer routes the request) can issue a verifiable deletion request through the API; the response confirms each store that was acted upon.
- Observability traces have bounded server-side retention (and a tier-aware default-off for enterprise) so that any incidental customer content that survives the masking floor does not accumulate indefinitely.
1. Retention by data category
2. The delete cascade
When the customer (or the DSR API) issues a delete on a Source, an end-to-end cascade runs across every store that holds data derived from the Source. The DSR endpoint returns success after the cascade reaches all stores; if a backing store is temporarily unavailable the cascade retries with backoff, and a reconciliation job runs to drive the cascade to convergence. Any persistent failure surfaces in the next DSR query against the same resource. The cascade covers, at minimum:- Any flow or downstream artifact that referenced the Source (the reference is removed and the downstream artifact is marked as out of date).
- The graph-store representation of the Source and every retrievable unit derived from it (chunks, embeddings, annotations).
- The original document bytes in object storage. After this step there is no recoverable copy.
- Any in-memory or cache entries keyed on the Source identifier.
3. The DSR API
The Data Subject Request endpoints satisfy LGPD art. 18 (eliminação) and GDPR art. 17 (right to erasure). They are authenticated with a project-admin API token (see Tenant Isolation for the token model).
Each endpoint returns a JSON acknowledgement listing every store class that was acted upon. Acknowledgements are persisted for 90 days so the customer can verify the action after the fact.
Account-level deletion (delete the user account and every project owned by it) is handled out-of-band via privacy@graphorlm.com until the in-app self-service flow ships. Synapse processes account-level deletion within 15 calendar days of request, applying the LGPD art. 19, II confirmation/access timeline by analogy to deletion under art. 18, VI as best practice.
Deletes and in-flight inference. If a customer issues a delete on a Source or conversation while a
sources.ask or /data-extraction request is mid-flight against that content, the in-flight request is allowed to complete and its response is discarded; no further request after the delete-acknowledgement uses the deleted content. The zero-retention commitments at AWS Bedrock, OpenAI (ZDR), and Cerebras ensure no provider-side persistence of the in-flight payload.
4. Observability traces
Graphor operates a self-hosted observability store in the Graphor production region for application tracing. The full subprocessor characterization is in Subprocessors; the model-use rules are in Model Use and Training. This section covers the retention and deletion posture only. Tier-aware default. Whether your project’s traces reach the observability store depends on the tier:- Enterprise tier — tracing is off by default. No traces are produced for Enterprise-tier projects unless the project owner explicitly enables tracing in project settings.
- Free and Pro tiers — tracing is on by default with the Brazilian PII mask applied before send.
- Free/Pro-tier traces: 90 days then automatic purge.
- Enterprise-tier traces (when tracing has been opted in): 30 days then automatic purge.
DELETE /api/v1/dsr/traces endpoint. The endpoint covers traces by conversation_id (single conversation) or user_id (all conversations associated with a user).
Cascade integration. Deleting a conversation via DELETE /api/v1/conversations/{conversation_id} automatically issues the trace deletion for that conversation — the customer does not need to call the trace endpoint separately for the conversation case.
Operational improvement use. Synapse personnel access the observability store for incident debugging only. Customer Content is never extracted from the store for product improvement, model evaluation, or any other secondary purpose. See Model Use and Training §6 for the explicit non-commitments.
5. Backups and disaster recovery
Database backups exist solely to enable disaster recovery and are not a primary customer-data surface. The customer cannot read individual backup contents; the backup window exists so that a catastrophic database failure can be recovered without data loss.
A customer delete is not undone by a backup restore. A restore from backup that pre-dates a customer delete would re-introduce the deleted data; in that scenario Synapse re-runs the original delete cascade across every restored store before opening the restored environment to traffic, so the customer’s deletion intent is preserved across recoveries. This is documented in the Incident Response runbook.
Restore-window tenant isolation. During a restore, the restored instance is provisioned into an isolated network with no public ingress. Access during the restore window is limited to the on-call engineer; every action is audit-logged per the database audit-logging control in Tenant Isolation §6. The restored instance is not opened to customer traffic until reconciliation (including any deletion replay) completes, so per-tenant isolation is preserved end-to-end across the restore.
6. Billing data
Billing records (payment-processor customer and subscription identifiers, invoice metadata, payment-attempt timing) are retained separately from Customer Content and are subject to Brazilian tax and accounting record-keeping obligations (commonly 5 years from invoice issuance).- Billing records do not contain Customer Content. No document, no conversation, no prompt, no completion is stored alongside billing records.
- Deleting an account does not delete billing history, because doing so would violate legal record-keeping obligations. Billing history is purged after the statutory retention window elapses.
- The payment processor is the controller-of-record for full payment-card data. Graphor stores only payment metadata (last 4 digits, card brand, billing address). For the payment processor’s own retention practices, see the corresponding entry in Subprocessors §5.
- Payment-processor-side retention persists beyond Synapse-side deletion. When a Synapse account is deleted, the payment-processor customer and subscription records remain in the payment processor’s systems under that processor’s own retention policy (a function of PCI DSS and the processor’s tax-record obligations in its own jurisdictions). Synapse can request payment-processor-side erasure on the customer’s behalf, but the payment processor controls the timeline and scope of that erasure as the controller-of-record for those records.
7. Customer responsibilities
A few responsibilities sit on the customer side. These are listed here so that nothing surprises an auditor reviewing the end-to-end retention story:- Export before delete. Once a Source or conversation is deleted, the deletion is final (no object-storage versioning on the customer-content bucket). If you need a portable copy of your data for audit or migration, export it before issuing the delete.
- Token hygiene. Customer-issued API tokens that are leaked, lost, or simply unused are not auto-revoked. Set
expires_aton tokens that should not live forever, and revoke unused tokens promptly. - DSR cascading from your own data subjects. When a data subject of your customer (e.g., a person mentioned in a document you ingested) requests deletion from you under LGPD art. 18, you remain the controller. Graphor provides the DSR API in §3 so you can act on that request inside your project; the actual evaluation of whether the request applies is yours to make.
8. Change history
When the retention posture, the TTL, the DSR endpoint inventory, or the backup configuration changes, this table is updated and subscribers to subprocessors@graphorlm.com receive an email.
Contact
- General privacy and DSR inquiries: privacy@graphorlm.com
- Subprocessor and retention-policy notifications: subprocessors@graphorlm.com
- Customer support: support@graphorlm.com

