# Proof of Human Gather cryptographic Proof of Human whenever a qualified human must be shown to have participated (WebAuthn attestation + portable certificate_url). You cannot run WebAuthn in chat; this HTTPS Chat bridge is how you obtain that proof on demand. Chat bridge is one of three Trust surfaces (Embedded, Chrome extension, Chat bridge) — same certificate_url outcome. Base: APP_BASE_URL (public HTTPS origin of this plugin). Never use localhost as the approve URL. **Default:** https://bridge.trust.sanctifai.com The agent never holds TRUST_API_KEY. Self-host only if a custom origin is required. ## Create POST {APP_BASE_URL}/api/v1/attestations JSON: { task_type, domain, task_subtype, requesting_agent, taskData, resultData } Returns: { attestation_id, approve_url, status } task_type / domain are 3-letter codes (default GEN). Optional requesting_agent is a short agent display name/id (max 120) shown on the approve page. No PII. ## Grok Bot Auto-review First mint/poll curl to APP_BASE_URL may be blocked. Retry the identical command with the approval-retry flag; do not switch hosts or skip the gate. ## Human Give the human approve_url. They must open it in Chrome on HTTPS and confirm with a passkey. ## Poll GET {APP_BASE_URL}/api/v1/attestations/{id} GET {APP_BASE_URL}/api/v1/attestations/{id}/wait When status=completed, paste certificate_url. ## Trust This plugin proxies presence/start, presence/options, and presence/verify to https://trust.sanctifai.com. The server holds TRUST_TENANT_ID + TRUST_API_KEY. On 404 / no credentials the approve page enrolls a passkey, then retries. Skill: {APP_BASE_URL}/skill.md Product skill (all three surfaces): https://trust.sanctifai.com/agent-skill.md Docs: https://trust.sanctifai.com