Cryptographic host identity
Public identity material identifies a peer; verified fingerprints and pinned keys establish local trust.
man/technology
Raven separates identity, encrypted envelopes, and transport. The terminal controls the node; a supported carrier connects it to a peer.
RVN1 specifies a signed envelope and identity model that supported Raven hosts can use across multiple carriers.
Public identity material identifies a peer; verified fingerprints and pinned keys establish local trust.
The host seals the payload before transmission. Optional relays can forward the envelope without receiving the endpoint’s decryption keys.
A public specification is not a promise that every carrier or profile is implemented in every build. Use the current conformance and implementation notes.
system/components
The terminal build lives in the Rust workspace. These components keep the host, the command interface, and the wire format distinct.
Local identity, addresses, envelope processing, ATSAM primitives, routing policy, and queue components.
The receiving service and authenticated peer path, local control interfaces, and explicit bridge-pull support. A node runs on a host that its peers can reach.
The CLI for identity, contacts, messaging, inbox, and status. The Rust package is ash; raven and ash are executables built from the same CLI code.
Agent task delegation through A2A, with separate identity and carrier configuration. Integration with the production node’s protected identity and encrypted session path is incomplete.
transport/architecture
Raven hosts can use multiple transports. A transport hierarchy describes the architecture; availability follows the build and the host.
[ your machine ]
│
RAVEN NODE
│ RVN1 signed envelope
│
├── Internet P2P
│ libp2p · experimental
│
├── Local network
│ LAN / direct peer
│
└── Optional local transport
Bluetooth · adapter required
The architecture includes peer discovery and encrypted peer-to-peer streams over libp2p. Full DHT, relay coordination, and hole punching across real NATs remain experimental in the terminal path.
The current CLI dials a verified contact’s secure LAN endpoint. Reachable hosts communicate directly without a Raven-operated central messaging service.
Bluetooth can carry RVN1 envelopes where a compatible adapter is available. Real headless GATT support is not complete in raven-node; the CI BLE adapter is a mock. Servers can run Raven without Bluetooth.
transport/forwarding
RVN1 forwarding is designed to move the same sealed payload between carriers. A relay is a host participating in the configured path.
Queues, bounded replication, hop limits, expiration, and duplicate handling support delayed forwarding. These controls do not guarantee that a reachable route exists.
Authenticated bridge-pull clients are available. Automatic production A→B→C discovery is not connected to the CLI send path; a bridge harness is evidence for that harness.
Bluetooth requires suitable hardware and a compatible carrier. The headless node’s mock adapter is useful for software tests but is not evidence of physical GATT operation.
security/session
The normal terminal node refuses to originate a message without the supported authenticated session setup. Unsafe lab profiles are not a production substitute.
Compare the peer’s fingerprint through a trusted channel and pin the public key. An @tag is a local convenience, not an independent trust authority.
Payload protection happens at the endpoints before the envelope enters a carrier. Relay code is not entrusted with endpoint decryption keys.
ATSAM specifications cover more than the current terminal implementation. Full ML-KEM pairing and post-quantum ratchet interoperability have separate conformance and release gates.
interface/commands
These commands use the existing raven executable. Install prerequisites and follow the node setup guide for your operating system.
git clone https://github.com/Ahmadreza-Arezehgar/RAVEN.git cd RAVEN/node cargo build --locked --release -p ash --bin raven cargo run --release -p ash --bin raven -- --help
The executable is created in the workspace target/release directory. Add that directory to your PATH, or invoke the executable by its path. Windows uses raven.exe.
raven init · raven whoami · raven contact add --help · raven contact list
raven listen · raven send --contact @alice --chat · raven inbox · raven status
Both hosts need compatible identities, pinned peer public details, and a reachable listener. Use raven contact add --help to supply the public address, key, fingerprint, local tag, and LAN dial address.
communication/agents
RDAP verifies trusted requests and signed task envelopes. Its current keys, state, and carriers remain separate from Raven Node.
Direct A2A requests are signed. HTTP needs HTTPS or another protected layer for confidentiality. A Git carrier depends on a configured shared repository and its access controls.
The optional Raven swarm mailbox adapter carries signed plaintext and is disabled by default. It does not provide the production node’s end-to-end confidentiality.
The operator selects a local or hosted model. Task text and permitted project context may be sent to that provider; a peer signature does not change the provider’s data handling.
linux / windows / macos
Raven is terminal-native and targets Linux, Windows, and macOS. The CLI is the intended product interface. Backend initialization and service readiness differ by platform; see the installation FAQ.
Source-build the CLI for a shell or plain TTY. Fresh protected identity creation on GNU/Linux remains gated. A headless host needs a supported secure-store configuration; Bluetooth is optional.
Clone the repository, build the Rust workspace, and run Raven directly from PowerShell or Windows Terminal.
Run the same Raven CLI from Terminal.app, iTerm2, or any compatible shell. The protocol and identity model remain the same across macOS, Linux, and Windows.
Raven is designed to let humans, machines, and software agents establish authenticated, encrypted communication without a mandatory central messaging service.
Generate identity locally and verify the peer that will receive a message or task.
Support direct peers, encrypted forwarding, and degraded-network operation through implemented carriers.
Make the CLI a stable interface for people and hosts. RDAP agent exchange is part of the direction; its shared identity and encrypted node integration are not yet complete.
Publish specifications, source, and test evidence. Name the implementation and validation limits of every supported path.
engineering/evidence
Software checks establish only the behavior they exercise. Real network traversal, physical Bluetooth, cryptographic interoperability, and independent security review need their own evidence.