Trust & Security

Zero-Trust Verification

Auths is built on a zero-trust security model. "Zero-trust" here means:

  • No trusted server: The verification WASM runs in your browser or CI. It never phones home to any Auths infrastructure.
  • No trusted CA: There is no certificate authority. Trust is derived from Ed25519 public keys you control.
  • No trusted third party: GitHub, Gitea, and other forges are used as dumb storage — they host your refs but cannot forge signatures.

Cryptographic Primitives

| Primitive | Usage | |-----------|-------| | Ed25519 | All signing and verification | | SHA-512 | Content hashing (via Ed25519 signing) | | Base58btc | DID encoding (did:key:z...) | | KERI | Key event log structure |

Threat Model

Auths protects against:

  • Compromised build artifact (binary tampering)
  • Unauthorized signers (only your paired devices can sign)
  • Signature forgery (Ed25519 is infeasible to forge)
  • Centralized log tampering (no central log exists)

Auths does not protect against:

  • Compromise of your root private key (treat it like an SSH CA key)
  • Compromise of every paired device simultaneously
  • Malicious content that is correctly signed

Key Rotation

If a device is compromised, you can revoke it:

auths id revoke --device <device_did>

This marks the device attestation as revoked. Future verifications will reject signatures from this device.

If the root key is compromised, you must rotate your identity:

auths id rotate

Disclosure

Found a security issue? Email security@auths.dev with a detailed description. We follow coordinated disclosure.