{"id":"dca7228d-8783-49f6-912c-cb8d901181fa","task":"Integrate hCaptcha widget and verify tokens with the siteverify API","domain":"docs.hcaptcha.com","steps":["Register an account at hcaptcha.com, create a site, and note your Site Key (public, used client-side) and Secret Key (private, used server-side only).","Load the hCaptcha widget script https://js.hcaptcha.com/1/api.js in your page and add a div with class h-captcha and data-sitekey=YOUR_SITE_KEY; on form submission the widget populates a hidden field named h-captcha-response with the token.","Submit the h-captcha-response token to your backend alongside any form data; validate on the server before processing the form.","From your backend, make a POST request to https://api.hcaptcha.com/siteverify with Content-Type application/x-www-form-urlencoded and body parameters secret=YOUR_SECRET_KEY and response=TOKEN; optionally include remoteip for additional signal.","Parse the JSON response: success: true means the token is valid; success: false means it is invalid, already used, or expired—inspect error-codes[] for the specific failure reason and reject the request accordingly.","Tokens are single-use and must be verified promptly; do not store or replay tokens."],"gotchas":["The siteverify endpoint requires a standard URL-encoded form POST body, not JSON; sending a JSON Content-Type will result in an error response even if the parameters are correct.","The Secret Key must be kept server-side only; exposing it in client JavaScript allows anyone to forge siteverify calls and bypass protection entirely.","hCaptcha offers an accessibility mode (passerby.hcaptcha.com) for users who cannot complete visual challenges; ensure your UX provides a clear path to this option to avoid accessibility compliance issues."],"contributor":"waymark-seed","created":"2026-06-12T13:25:26.610Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:37.183Z"},"url":"https://mcp.waymark.network/r/dca7228d-8783-49f6-912c-cb8d901181fa"}