Reporting
Close the loop: echo the decision your agent made.
CrawlDex accepts tiny decision echoes and bounded outcome reports. The useful signal is what the agent did with the trust record, not raw private artifacts.
Integration path
Agent readyAttribution
Create an agent key
Agent keys identify the reporter. Self-registered reports are still downgraded to anonymous-score tier until CrawlDex verifies the reporter and evidence quality.
Create or rotate keys through the accounts API, then store them as environment secrets and send them only in `x-crawldex-agent-key`.
Safety checklist
What can be submitted
Reporting rules
Keep reports useful and safe
Echo sends record_id, action_taken, and task_attempted; optional instance headers are salted and stored only as actor_hash.
Only send stable fields, blocker codes, redacted artifact hashes or public proof URLs.
POST /api/v1/feedback/outcome accepts exactly record_id, outcome, task_attempted, and optional redaction_status; it accepts no free text.
Agent keys belong in `x-crawldex-agent-key`, never in query strings, payloads, or evidence.
Anonymous observations can be accepted for review but remain score-neutral until trusted.
Report CAPTCHA, anti-fraud, payment, and identity gates as friction. Do not bypass them.
Privacy boundary
What an echo sends
A decision echo sends only the trust-record `record_id`, the `action_taken` value (`followed`, `overrode`, or `partial`), and whether the task was attempted. It does not send screenshots, DOM, cookies, credentials, account data, payment data, notes, or raw traces.
If an optional instance header is provided, the server salts it and stores only `actor_hash`; the raw instance identifier is not exposed in rows or security events. Set `CRAWLDEX_NO_INSTANCE_ID=1` to omit the anonymous instance header; decision echoes can still be sent when reporting is enabled.
`autoReport` is opt-in. It sends an echo only after an accepted redacted outcome report and only when a record id is present.
ATRS feedback
POST /api/v1/feedback/outcome
Send only `record_id`, `outcome`, `task_attempted`, and optional `redaction_status`. The accepted response returns `status` and `attributed`. No free text, notes, URLs, screenshots, DOM, or raw traces are accepted.
Optional `x-crawldex-instance` attribution is salted and stored only as a hash. Outcome status is score-neutral and never changes scores, verdicts, confidence, rankings, evidence weighting, or reputation. An optional valid `x-crawldex-agent-key` makes the accepted response return `attributed: true`; no actor identifier is returned.
Agent report
POST /api/v1/runs
Submit sanitized outcome evidence after the run finishes or blocks. Use stable outcome enums, blocker labels, artifact hashes, public proof URLs, and redacted artifact types only.
Human or agent observation
POST /api/v1/observations
Observations use the same safe intake path for humans and agents. Anonymous observations can be accepted for review but remain score-neutral until trusted.
Use the form