Skip to content

fix: prove admission in epoch requests - #70

Merged
TheCryptoDonkey merged 1 commit into
mainfrom
fix/epoch-request-admission
Sep 22, 2026
Merged

TheCryptoDonkey merged 1 commit into
mainfrom
fix/epoch-request-admission

Conversation

@TheCryptoDonkey

Copy link
Copy Markdown
Member

Mirror of forgesworn/kithmoot's change: a kind 20468 epoch request now carries admission, an HMAC under HKDF(epoch-0 room key, kithmoot/v1/epoch-request-key) over roomId:authority:device:created_at. The creator's recovery responder refuses a request without one before the policy is consulted, so a stranger who reads a room id and its authority off a public rekey event is never answered. The body keeps v: 1.

The vendored vectors file gains only the new epochRequestAdmission group (5 vectors, run by EpochRequestAdmissionVectorsTest); the rosterEvent call-* vectors the web file has since gained are not brought across here.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TgQJ1LHZjQG6wiKVfZcXPs

Mirror of the kithmoot change: a kind 20468 epoch request now carries
`admission`, an HMAC under HKDF(epoch-0 room key,
"kithmoot/v1/epoch-request-key") over roomId:authority:device:created_at.
The creator's recovery responder refuses a request without one before the
policy is consulted, so a stranger who reads a room id and its authority
off a public rekey event is never answered. The body keeps v:1, so a
responder from before this ignores the field and a web desk from after it
refuses a client from before it.

The vendored vectors file gains only the new epochRequestAdmission group
(5 vectors, run by EpochRequestAdmissionVectorsTest); the rosterEvent
call-* vectors the web file has since gained are not brought across here.

Claude-Session: https://claude.ai/code/session_01TgQJ1LHZjQG6wiKVfZcXPs
@TheCryptoDonkey
TheCryptoDonkey merged commit bee21d0 into main Sep 22, 2026
7 of 8 checks passed
@TheCryptoDonkey
TheCryptoDonkey deleted the fix/epoch-request-admission branch September 22, 2026 15:17
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.

1 participant