man/security

Security across every Raven transport.

Identity, authentication, encryption, routing, and relay security are specified independently of the carrier between hosts. Actual protection depends on the implemented security profile and supported transport.

terminal/security

Local identity. Explicit trust.

A node’s cryptographic identity belongs to its host. Verify the peer you intend to reach before treating a name or network address as trusted.

Public identity and key pinning

The CLI generates identity locally and exposes public identity details. Compare fingerprints out of band and pin the peer’s public key. Private keys and seeds must remain under the operator’s control.

Authenticated message origination

The normal Raven node requires the supported authenticated session setup before originating messages. A failed setup does not authorize a plaintext fallback.

Endpoint encryption

The Raven envelope path seals content locally before transmission. Transport security and payload encryption are distinct layers; the enabled profile determines the actual protection.

Host storage

Protect the profile directory, backups, operating-system account, and running process. Do not assume identical hardware key storage or recovery support on every platform.

Protected keys, platform-specific storage.

Raven generates identity material locally on the host. The implementation selects a supported OS-backed storage path rather than assuming one platform’s security APIs exist everywhere.

Identity storage in the inspected implementation
Platform Backend Boundary
macOS Keychain generic-password item Requires access for the running OS user and binary. No universal hardware-bound storage claim.
Windows DPAPI-protected identity.seed file Protection follows the Windows user context. TPM-backed storage is not assumed.
GNU/Linux Secret Service loading path Fresh protected identity creation is currently disabled in published code. Source compilation does not establish initialization readiness.

The CLI uses --data-dir when supplied. Otherwise it checks RAVEN_DATA_DIR, then ASH_DATA_DIR, then the home profile: ~/.raven, or an existing ~/.raven-ash when ~/.raven is absent. Without HOME it falls back to ./raven-data. Use an explicit stable path for services and separate profiles. Plaintext locked-file storage is an explicit lab/CI path, not a production substitute.

Inspect the identity-store implementation

protocol/atsam

Understand the active security profile.

ATSAM is a layered protocol design, with separately implemented pairing, discovery, presence, routing, and optional Vault features. Full post-quantum interoperability is not complete across the Rust terminal path.

security/boundaries

What encryption does and does not establish.

A cryptographic envelope protects specified properties of its contents. It does not establish every property of a host or network.

Relay and network observations

Sealed payloads do not hide all timing, packet size, IP endpoint, or availability information. Relays can drop traffic. No blanket anonymity, censorship-resistance, or delivery guarantee is made.

Compromised hosts

An attacker controlling an unlocked host or the running process may access keys or plaintext. Endpoint protection, updates, permissions, and backups remain the operator’s responsibility.

Key compromise and ratchets

Forward secrecy and recovery after compromise depend on the implemented ratchet, key deletion, fresh authenticated inputs, and the attacker’s access. No claim that one handshake repairs every possible compromise is made.

Unavailable peers

An offline listener, blocked port, unsupported carrier, or expired queue can prevent delivery. A successful build or queued envelope does not prove receipt.

security/agents

A signature is not encryption.

RDAP has a distinct threat model and identity store. Review its carrier configuration before sending confidential task content.

Trusted signed tasks

RDAP pins peer keys and verifies signed requests, recipient-bound tasks, and replay bounds. Trust policy determines which work is accepted.

Carrier confidentiality

Direct HTTP is unencrypted; use HTTPS or a protected network layer. The optional plaintext swarm mailbox is experimental and disabled by default.

Execution and providers

A trusted task can use permitted agent tools and context. Shell execution requires an explicit operator setting. A hosted model receives the content sent to it under the selected configuration.

review/status

Public source. Independent review still pending.

Raven has not been independently audited. Source code, reference tests, and software harnesses are available for review. They do not prove physical BLE, arbitrary Internet NAT traversal, or a completed independent cryptographic assessment.

responsible/disclosure

Report a security issue privately.

Follow the reporting instructions in SECURITY.md. Share the affected version, configuration, and a minimal reproduction through the specified channel. Keep private keys, message content, and credentials out of public issues.