6 Commits

Author SHA1 Message Date
ea827c8e42 Harden Sigil: tests/test_hardening.py 2026-10-05 21:26:17 +08:00
47abc7d717 Harden Sigil: tests/helpers.py 2026-10-05 21:26:15 +08:00
9cbc3f5122 probe 2026-10-05 21:25:47 +08:00
908ea0439f Harden Sigil: tests/test_viewcodes.py 2026-10-05 21:24:53 +08:00
f1ad41f6d9 Harden Sigil: tests/test_sessions.py 2026-10-05 21:24:50 +08:00
4d9e101f54 Sigil: agent identity for the new internet
Replace passcode identity with Ed25519 challenge-response.

- Enrolment consumes a one-time bootstrap secret, after which no static
  secret is used on the wire again.
- Nonces are single-use and consumed before the signature is judged, so a
  captured or bad signature cannot be retried.
- Sessions are short-lived, scoped, and typed agent vs human_via_agent.
- Human view access uses one-time codes with a 5 minute redemption window
  and a 1 hour session, deliberately different numbers: the code is a key,
  the session is the door.
- Invariant: only an agent signature may act as an agent. Enforced and tested.
- Append-only audit trail.

54 tests, covering refusals rather than only the happy path.

Reference implementation, not reviewed or hardened. See README Status.
2026-10-05 20:43:50 +08:00