Reporting a vulnerability

If you discover a security issue, please do not file a public issue. Email agentpulsedata@proton.me with details. We aim to respond within 48 hours.

For severe issues affecting user funds or message privacy, encrypt your report against our PGP key (when published) or include a Solana pubkey we can use to send an encrypted xete message reply.

What we guarantee

These are architectural invariants, enforced in code, not in policy.

What we do NOT guarantee

Honesty matters more than marketing. These are real constraints:

Threat model

ThreatDefenseStatus
Server reads plaintextClient-side E2E encryptionEnforced in code
Server steals fundsCustody-free contract, hardcoded treasuryEnforced on-chain
Server lies about paymentsRPC verification of on-chain receiptEnforced in code
Replay attack on paymentPDA must be unusedEnforced on-chain
Credential theftNo passwords, wallet auth onlyEnforced in code
Web JS compromiseUse Concierge for max securityDisclosure
Traffic analysisSynthetic noise trafficPartial
Compromised user deviceOut of scopeUser responsibility
Quantum attacksEd25519 / X25519 in useFuture work

Cryptographic primitives

UseAlgorithmLibrary
Wallet signaturesEd25519ed25519-dalek 2.x
Key exchangeX25519x25519-dalek 2.x
Symmetric encryptionAES-256-GCMaes-gcm 0.10.x
HMACHMAC-SHA256hmac 0.12.x
JWTHS256, RFC 7515in-tree (crypto.rs)
On-chainSolana BPFsolana-program 1.18.x

All primitives are well-established and broadly audited. We do not invent cryptographic algorithms.

The full SECURITY.md in the public repo is the authoritative source. This page is the human-readable version.

Last reviewed: 2026-05-29 (xete v2.3.0)