Skip to content

Add interactive Matrix SAS verification - #29

Merged
TroyHernandez merged 3 commits into
mainfrom
feat/matrix-sas-verification
Sep 10, 2026
Merged

TroyHernandez merged 3 commits into
mainfrom
feat/matrix-sas-verification

Conversation

@TroyHernandez

Copy link
Copy Markdown
Contributor

Summary

Add standard interactive Matrix SAS verification from an R console, plus
event-loop integration and pinned directional user verification.

  • Human comparison of emoji or decimal values, modern SAS key agreement and
    MACs, cancellation/timeouts, stable outboxes, fixed key snapshots, and
    read-back-confirmed trust uploads.
  • Cross-user verification requires the peer master proof as well as its
    device proof. Same-account verification authenticates/signs the new device
    under the existing locally pinned identity.
  • Preserve verification envelopes and relations through encryption; save
    ratchet state and cursor before transport or trust uploads. Console retries
    reload persisted config so a stale R object cannot rewind sync.
  • Record the reproducible console and peer-identity recovery procedures in
    README, vignette, and the package-owned Matrix messaging skill. No private
    client database extraction is required. Operational incident details remain
    outside the public repository.

Dependencies and commit boundaries

SAS requires optional mx.crypto >= 0.2.1.2. Existing E2EE floors remain
mx.api >= 0.3.0.2 and mx.crypto >= 0.2.1.1; neither is raised by this PR.
The 0.2.0.10 bump is a separate DESCRIPTION/NEWS commit. Please preserve that
boundary when merging.

mx.crypto PR #8 is merged. CI pins its main commit
7feb052ab40e7ac5620b4d405635a2bc4905984c, reads the older dependency floors
from DESCRIPTION, builds vignettes, fails on check warnings, and explicitly
requires nonzero passing results from each SAS/identity test file. No drat
publication is needed for this change.

Validation

  • Fresh isolated build: 683/683 source assertions pass.
  • Local R CMD check --as-cran --no-manual: 0 errors, 0 warnings, 0 notes.
  • Independent Matrix Dart SDK 10.2.0 interoperation passes in both roles.
    Matching displays with an omitted master proof are correctly rejected.
  • CI-script controls exercise all 278 SAS/identity assertions and reject
    mutable dependency pins and warning check results.
  • Windows development check will run after merge.

Package reference pages on the separate website have not been updated or
deployed as part of this change.

@TroyHernandez
TroyHernandez merged commit 42b4698 into main Sep 10, 2026
2 checks passed
@TroyHernandez
TroyHernandez deleted the feat/matrix-sas-verification branch September 10, 2026 20:35
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