Guides
Troubleshooting
Operational issues and fixes from product docs.
Troubleshooting
Source: app_docs/guide/troubleshooting.md, app_docs/guide/faq.md.
Worker offline
Symptoms: Cases stuck IN_PROGRESS; jobs PENDING; readiness worker “attention”.
Fix (self-host / local):
bun run workerConfirm DATABASE_URL matches the app. Check logs for worker_started.
No receipts
| Check | Action |
|---|---|
| Consent published? | Publish a version |
| Key valid? | Develop → publishable key not revoked |
| SDK origin? | Must be Erasure origin (apiBaseUrl / origin only) |
| Network | POST /api/sdk/v1/consent → 201? |
| Rate limit | 429 → back off |
Connector unhealthy / degraded
| Check | Action |
|---|---|
| Credentials | Rotate secrets (Owner) |
| TLS | Production SQL needs sslmode=require / ssl=true |
| Network from worker | Egress / firewall |
| Demo Acme MySQL | Intentionally DEGRADED for training in demo seed |
OTP not delivered
| Check | Action |
|---|---|
RESEND_API_KEY + EMAIL_FROM | Required in production |
| Spam folder | Subject line from org name |
| Rate limits | Wait; outstanding challenges capped |
RIGHTS_INTAKE_DEMO_OTP | Must not be true in prod |
| Logs | rights_intake_otp_delivered vs …_failed |
Readiness blocked
- Enable a System.
- SQL: add DELETE entities with identifiers.
- Clear unhealthy state if blocking attention.
- Publish consent for project-level blocked.
Discovery fails
| Cause | Fix |
|---|---|
| Non-SQL connector | Discovery only Postgres/MySQL |
| Auth/network | Fix connection string |
| Permissions | GRANT on information_schema + tables |
| Huge catalog | Discovery is capped; prioritize schemas |
Graph incomplete
Graph emphasizes mapped delete paths + sample unmapped.
Ignored tables appear sparsely. Re-discover after mapping.
Deletion skipped / no rows
| Cause | Fix |
|---|---|
| SKIP action | Intentional retention |
| Identifier mismatch | Subject email vs column values |
| Wrong table | Remap entity |
| Preview COUNT was 0 | Expected empty |
Evidence missing
| Cause | Fix |
|---|---|
| Wrong org | Membership scope |
| Request not found | IDOR-safe 404 |
| Empty Activity | Request never progressed |
Why not delete directly from the UI?
Direct SQL in a browser is unsafe and un-audited. Rights + worker + maps give verification gates, retries, timelines, and Evidence.