Skip to content
Back

Protocol

Harbor is a self-custodied communication protocol built on Base L2. This page provides a technical overview of the core components.

Identity System

Harbor identities are built on two key pairs: X25519 for key agreement and Ed25519 for signatures. These keys are generated locally on your device. V1 backup and device enrollment can export encrypted identity material under user action.

  • X25519 — Used for Diffie-Hellman key exchange to establish shared secrets
  • Ed25519 — Used for signing messages and verifying authenticity

Your identity is linked to an Ethereum wallet address, but your cryptographic keys are generated independently. The wallet is used for on-chain operations and device enrollment verification.

Encryption Model

All messages are encrypted using XChaCha20-Poly1305, a modern authenticated encryption algorithm. The encryption keys are derived using the Double Ratchet protocol. The integrated ratchet path still has launch-blocking serialization issues.

  • XChaCha20-Poly1305 — Authenticated encryption with 192-bit nonces
  • HKDF-SHA256 — Key derivation for session keys
  • Double Ratchet — Forward secrecy through continuous key rotation

Messaging Protocol

Messages are intended to be encrypted locally before being submitted on-chain. The web receive path still uses stubs and does not complete commitment scanning, decryption, or persistence.

Message padding ensures that observers cannot infer content length from the encrypted payload size.

Storage Architecture

Harbor uses Base L2 for message delivery and key registration. Contracts are deployed on Base Sepolia, but the web KeyRegistry ABI is stale and onboarding does not register keys.

  • KeyRegistry — Stores device public keys and identity commitments
  • OnchainMailbox — Privacy-preserving message delivery via events

Local identity storage is encrypted with a wallet-signature-derived key. Session and message persistence stores exist but are not fully wired.

Learn More

For detailed security information and threat model analysis, see the Security page.

View Security Details