# step: end-to-end encrypted rooms · e2ee_verify.py # order: 650 # paths: wai/extensions/confidentiality.md # independent: e2ee live python3 -I live-conformance/e2ee_verify.py live-conformance/e2ee # # wai.live.e2ee (extensions/confidentiality.md): the corpus's second implementation, # e2ee_verify.py, written from the extension's text and the documents it reads and # sharing no code with the reference (joule-moq's secure_objects and joule-moq-mls, # whose own checks run in joule-code-conformance.yml). Standard library only, run # isolated (-I): AES, AES-GCM and RFC 9605's counter mode written from their # specifications for test vectors only, HKDF and HMAC from the standard library, # BLAKE3 and strict Ed25519 from claim-conformance. It checks every vector RFC 9605 # and draft-ietf-moq-secure-objects-01 publish, every record, key schedule, sealed # object and room of vectors.json (taking each epoch's application secret as given, # §14), and requires every mutated copy of the corpus to fail. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/confidentiality.md: e2ee_verify.py reads this extension's §13 table, and the # registry's wire identifiers test reads its sections.