Skip to content

Add WebAuthn approval proof profile - #5

Merged
renezander030 merged 1 commit into
mainfrom
feat/webauthn-approval-proof
Sep 25, 2026
Merged

renezander030 merged 1 commit into
mainfrom
feat/webauthn-approval-proof

Conversation

@renezander030

Copy link
Copy Markdown
Owner

Summary

  • add an optional webauthn-es256 proof profile for high-assurance authenticated web approvals
  • bind the passkey challenge to the RFC 8785/SHA-256 digest of the complete unsigned ApprovalRecord, including its action, payload, and review-snapshot hashes
  • verify exact client data, origin and RP scope, UP/UV flags, counters, P-256 key, ES256 signature, and digest-addressed credential-registration evidence
  • add a deterministic real assertion fixture plus tamper-focused conformance vectors
  • publish the additive contract as v2.1.0 while retaining v2.0 records against their original schemas

Trust boundary

This provides independently verifiable cryptographic attribution when credential registration/state evidence is retained outside the audited platform. It does not prove that a platform-controlled browser faithfully rendered the bound review snapshot; trusted client presentation remains an explicit deployment boundary.

Validation

  • python scripts/generate_examples.py
  • python scripts/validate_contracts.py
  • python -m unittest discover -s tests -v
  • deterministic regeneration check
  • pip check

Closes #1

@renezander030
renezander030 merged commit 5f03eab into main Sep 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Approve step is process-bound, not proof-bound — worth a cryptographic binding?

1 participant