docs(security): name relicario-server in device-auth section (audit F11/F12)

- F12: Device Authentication section now names the relicario-server crate
  and its two subcommands (generate-hook, verify-commit), and notes that
  signed commits without the server-side hook provide authorship only —
  any pusher can still land an unsigned commit.
- F11: drop the "optional before v0.4.0" version line (v0.4.0 was never
  tagged; v0.5.0 is the first release with the hook) and replace with a
  one-liner: registration is optional but recommended for shared vaults.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken
2026-05-02 16:25:21 -04:00
parent 8fd9a05875
commit 1342228a51

View File

@@ -48,6 +48,19 @@ When enabled, device authentication provides:
- **Push access control**: Deploy keys managed via Gitea API - **Push access control**: Deploy keys managed via Gitea API
- **Instant revocation**: One command cuts off both signing and push - **Instant revocation**: One command cuts off both signing and push
Enforcement requires deploying the `relicario-server` pre-receive hook
on the vault remote. The crate provides two subcommands:
- `relicario-server generate-hook` — emits the hook script to install at
`<repo>/hooks/pre-receive`
- `relicario-server verify-commit <sha>` — checks one commit's signature
against `.relicario/devices.json` and `.relicario/revoked.json` as of
that commit; the hook calls this for every pushed ref
Without the server hook, signed commits provide authorship metadata only
— any process with push access can land an unsigned commit, since
verification is otherwise advisory.
See `docs/superpowers/specs/2026-05-02-device-authentication-design.md`. See `docs/superpowers/specs/2026-05-02-device-authentication-design.md`.
## Access Control ## Access Control
@@ -57,5 +70,4 @@ Without device authentication, access control is transport-layer only:
- **CLI**: SSH key authentication to git remote - **CLI**: SSH key authentication to git remote
- **Extension**: Git credentials in browser storage - **Extension**: Git credentials in browser storage
Device registration was optional before v0.4.0. With device auth enabled, Device registration is optional but recommended for shared vaults.
all commits must be signed by a registered device.