CrawlDex
Check

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 ready
POST
/api/v1/feedback/outcome
POST
/api/v1/observations
0
secrets allowed

Attribution

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

1Outcome enumUse success, success_with_handoff, partial, blocked, failed, or abandoned.
2Friction codesUse stable blocker labels such as login_required, captcha, bot_blocked, or human_handoff_required.
3Evidence metadataSend public proof URLs, artifact type labels, or hashes of redacted artifacts. Do not send raw traces.

Reporting rules

Keep reports useful and safe

echo decision signal

Echo sends record_id, action_taken, and task_attempted; optional instance headers are salted and stored only as actor_hash.

rule redact first

Only send stable fields, blocker codes, redacted artifact hashes or public proof URLs.

outcome structured status

POST /api/v1/feedback/outcome accepts exactly record_id, outcome, task_attempted, and optional redaction_status; it accepts no free text.

rule headers only

Agent keys belong in `x-crawldex-agent-key`, never in query strings, payloads, or evidence.

rule anonymous by default

Anonymous observations can be accepted for review but remain score-neutral until trusted.

rule no bypasses

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