Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
hush
command
Package main is the hush binary entry point.
|
Package main is the hush binary entry point. |
|
internal
|
|
|
audit
Package audit owns the hush server's tamper-evident audit log (Constitution III Layer 6).
|
Package audit owns the hush server's tamper-evident audit log (Constitution III Layer 6). |
|
cli
Package cli is the operator-facing command-line surface of the hush binary.
|
Package cli is the operator-facing command-line surface of the hush binary. |
|
cli/setup
Package setup hosts the diagnostic-first foundations the guided `hush init server` flow depends on: a structured error taxonomy (errors.go), a preflight check registry (preflight.go), and an existing-state classifier (state.go) that labels pre-existing config / vault / state-dir / Keychain artifacts as safe-to-reuse, repairable, or collision.
|
Package setup hosts the diagnostic-first foundations the guided `hush init server` flow depends on: a structured error taxonomy (errors.go), a preflight check registry (preflight.go), and an existing-state classifier (state.go) that labels pre-existing config / vault / state-dir / Keychain artifacts as safe-to-reuse, repairable, or collision. |
|
config
Package config owns the server-side TOML configuration file: schema, defaults, validation, and path-safety checks.
|
Package config owns the server-side TOML configuration file: schema, defaults, validation, and path-safety checks. |
|
discord
Package discord owns the Discord-backed approval surface.
|
Package discord owns the Discord-backed approval surface. |
|
discord/alerts
Package alerts is the operator-facing Discord alert surface for hush.
|
Package alerts is the operator-facing Discord alert surface for hush. |
|
keychain
Package keychain wraps the platform-native OS keychain operations behind a single Keychain interface.
|
Package keychain wraps the platform-native OS keychain operations behind a single Keychain interface. |
|
keys
Package keys derives every cryptographic key used by hush at runtime from a single passphrase, with no key material ever written to disk.
|
Package keys derives every cryptographic key used by hush at runtime from a single passphrase, with no key material ever written to disk. |
|
logging
Package logging provides the project's single slog.Logger constructor and the credential-redaction primitives every log call passes through.
|
Package logging provides the project's single slog.Logger constructor and the credential-redaction primitives every log call passes through. |
|
server
Package server: POST /claim handler.
|
Package server: POST /claim handler. |
|
supervise
Supervised child process layer.
|
Supervised child process layer. |
|
supervise/config
Package config owns the per-supervisor TOML configuration file: schema, defaults, validation, and path-safety checks.
|
Package config owns the per-supervisor TOML configuration file: schema, defaults, validation, and path-safety checks. |
|
supervise/validators
Package validators provides the pre-flight credential Validator interface plus five built-in implementations (anthropic, anthropic-oauth, openai, google-ai, github).
|
Package validators provides the pre-flight credential Validator interface plus five built-in implementations (anthropic, anthropic-oauth, openai, google-ai, github). |
|
supervise/watchdog
Package watchdog implements an alert-only log-pattern watchdog for hush supervisor child processes.
|
Package watchdog implements an alert-only log-pattern watchdog for hush supervisor child processes. |
|
testutil
Package testutil is the project's shared, test-only harness package.
|
Package testutil is the project's shared, test-only harness package. |
|
token
Package token implements the Layer-2 session-authority for hush: ES256K JWT issuance, validation, in-memory revocation/use-count store, and the cleanup loop that reclaims expired live records.
|
Package token implements the Layer-2 session-authority for hush: ES256K JWT issuance, validation, in-memory revocation/use-count store, and the cleanup loop that reclaims expired live records. |
|
transport/ecies
Package ecies implements the Layer-3 wire-level secret-response encryption for hush: BIE1 ECIES over secp256k1 (4-byte magic, 33-byte compressed ephemeral public key, AES-256-CBC ciphertext, 32-byte HMAC-SHA256 tag).
|
Package ecies implements the Layer-3 wire-level secret-response encryption for hush: BIE1 ECIES over secp256k1 (4-byte magic, 33-byte compressed ephemeral public key, AES-256-CBC ciphertext, 32-byte HMAC-SHA256 tag). |
|
transport/sign
Package sign implements the Layer-4 request-signing protocol for hush: canonical-JSON encoding, ECDSA sign/verify over SHA-256(canonical), and nonce + timestamp replay protection.
|
Package sign implements the Layer-4 request-signing protocol for hush: canonical-JSON encoding, ECDSA sign/verify over SHA-256(canonical), and nonce + timestamp replay protection. |
|
upgrade
Package upgrade implements the hush self-upgrade pattern: resolve a GitHub release for the requested channel, download the platform- specific tarball, verify its SHA256 against the published checksums file, extract it with Zip-Slip / zip-bomb defenses, and atomically replace the running binary via a copy-and-rename dance that is safe against the SIGBUS class of in-place binary mutation bugs.
|
Package upgrade implements the hush self-upgrade pattern: resolve a GitHub release for the requested channel, download the platform- specific tarball, verify its SHA256 against the published checksums file, extract it with Zip-Slip / zip-bomb defenses, and atomically replace the running binary via a copy-and-rename dance that is safe against the SIGBUS class of in-place binary mutation bugs. |
|
vault
Package vault is the on-disk secret store: an AES-256-GCM-encrypted file containing JSON-encoded name β SecureBytes mappings, written via temp- file + fsync + atomic rename, with strict permission enforcement at both open and save paths.
|
Package vault is the on-disk secret store: an AES-256-GCM-encrypted file containing JSON-encoded name β SecureBytes mappings, written via temp- file + fsync + atomic rename, with strict permission enforcement at both open and save paths. |
|
vault/securebytes
Package securebytes provides the SecureBytes container β an opaque, pointer-only secret holder that pins its payload in non-swappable memory, zeroes the payload on explicit Destroy AND on garbage collection (via a runtime finalizer), and renders as the literal string "[redacted]" through every standard log/format/JSON path.
|
Package securebytes provides the SecureBytes container β an opaque, pointer-only secret holder that pins its payload in non-swappable memory, zeroes the payload on explicit Destroy AND on garbage collection (via a runtime finalizer), and renders as the literal string "[redacted]" through every standard log/format/JSON path. |
Click to show internal directories.
Click to hide internal directories.
