Registration gates: proof-of-work CAPTCHA and training-notice consent receipt #54

Merged
heimdall merged 5 commits from heimdall/registration-gates into main 2026-11-11 10:15:46 +00:00
Member

Gates the anonymous POST /auth/bifrost/register with a self-hosted proof-of-work CAPTCHA and a stored training-notice consent receipt. Scope, what is built and what is not (email verification, the sign-up form, receipts for Heimdall-provider sign-ups): docs/registration-gates.md.

  • GET /auth/bifrost/challenge, GET /auth/bifrost/notice, POST /auth/bifrost/consent/withdraw.
  • ConsentReceipt + migration AddConsentReceipts; account and receipt save together.
  • 26 new consumer-side tests; full suite 904 pass / 38 fail, the same 38 as origin/main (environmental).
  • Notice text is draft wording; Eureka owns the final text.

Not deployed. Needs a migration run on deploy.

🤖 Generated with Claude Code

Gates the anonymous `POST /auth/bifrost/register` with a self-hosted proof-of-work CAPTCHA and a stored training-notice consent receipt. Scope, what is built and what is not (email verification, the sign-up form, receipts for Heimdall-provider sign-ups): `docs/registration-gates.md`. - `GET /auth/bifrost/challenge`, `GET /auth/bifrost/notice`, `POST /auth/bifrost/consent/withdraw`. - `ConsentReceipt` + migration `AddConsentReceipts`; account and receipt save together. - 26 new consumer-side tests; full suite 904 pass / 38 fail, the same 38 as origin/main (environmental). - Notice text is draft wording; Eureka owns the final text. Not deployed. Needs a migration run on deploy. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
heimdall deleted branch heimdall/registration-gates 2026-11-11 10:15:46 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Bifrost!54
No description provided.