Elydora Docs

Security

Elydora's layers cover cryptographic integrity, access control, and guidance for key handling.

Cryptographic Stack

Key Management

Agent Keys

Each agent has its own Ed25519 key pair. The private key is held exclusively by the agent and never transmitted to Elydora. Only the public key is registered.

Key Generation

The SDKs and CLI take the private key as the base64url-encoded 32-byte Ed25519 seed and register the base64url public key:

bash
node -e "
const { generateKeyPairSync } = require('node:crypto');
const { privateKey, publicKey } = generateKeyPairSync('ed25519');
console.log('private key seed:', privateKey.export({ format: 'jwk' }).d);
console.log('public key:      ', publicKey.export({ format: 'jwk' }).x);
"

Elydora Server Keys

Elydora signs all Acknowledgement Receipts (EARs) and Epoch Roots (EERs) with its own Ed25519 key. The public keys are available at the JWKS endpoint.

RBAC (Role-Based Access Control)

Elydora grants capabilities to five predefined roles. Each API endpoint requires one capability. See the RBAC page for the matrix.

Transport Security

Replay Protection

Multiple mechanisms prevent operation replay:

Agent Lifecycle

Data Integrity

Operation records are immutable once accepted. The chain hash mechanism ensures that any modification, deletion, or reordering of records is detectable. Epoch roots provide periodic bulk verification anchors.