JackClawOS implements end-to-end encryption for inter-agent communication. This project is classified under ECCN 5D002 and is distributed under License Exception TSU (Technology and Software - Unrestricted) per EAR § 742.15(b).
| Algorithm | Purpose | Implementation |
|---|---|---|
| RSA-4096 | Asymmetric key exchange between agents | Node.js crypto module |
| AES-256-GCM | Symmetric message encryption | Node.js crypto module |
| HMAC-SHA256 | Message integrity & human-token verification | Node.js crypto module |
| JWT (HS256) | Authentication tokens | jsonwebtoken package |
| scrypt | Password hashing | Node.js crypto module |
| VAPID (ECDSA P-256) | Web Push notification keys | Node.js crypto module |
- All encryption uses standard, well-audited algorithms via the Node.js built-in
cryptomodule - No custom or proprietary cryptographic algorithms are implemented
- End-to-end encryption ensures the Hub (central server) cannot read message content — it only routes ciphertext
- Private keys never leave the node they were generated on
- Source code is publicly available under the MIT license
This software is publicly available open-source software. The U.S. Bureau of Industry and Security (BIS) and National Security Agency (NSA) have been notified in accordance with EAR § 742.15(b).
ECCN: 5D002
License Exception: TSU (15 CFR § 740.13(e))
This is open-source software freely available to everyone. However, users are responsible for ensuring their use complies with applicable export control laws and regulations in their jurisdiction.
If you discover a security vulnerability in JackClawOS, please report it responsibly:
- DO NOT open a public GitHub issue for security vulnerabilities
- Email: security@jackclaw.ai
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
| Action | Target |
|---|---|
| Acknowledge receipt | 48 hours |
| Initial assessment | 5 business days |
| Fix development | 14 business days |
| Public disclosure | After fix is released |
The following are in scope for security reports:
- Authentication bypass
- Encryption weaknesses or key exposure
- Message interception or tampering
- Privilege escalation
- Remote code execution
- Data exposure (memory contents, private keys, etc.)
- Hub compromise leading to message decryption
- Denial of service (unless trivially exploitable)
- Social engineering attacks
- Issues in dependencies (report upstream, notify us)
- Features working as designed
┌──────────────────────────────────────────────┐
│ Human (CEO) │
│ JWT auth + human-token ACK │
└─────────────────┬────────────────────────────┘
│
┌─────────────────▼────────────────────────────┐
│ Hub (:3100) │
│ │
│ • Routes ciphertext only (cannot decrypt) │
│ • JWT authentication for all API calls │
│ • Rate limiting (IP + nodeId) │
│ • CORS + CSP headers │
│ • Audit log (append-only JSONL) │
│ • Key rotation (30-day cycle) │
│ • Input sanitization (XSS prevention) │
└───┬───────────────┬──────────────┬───────────┘
│ │ │
│ RSA-4096 + AES-256-GCM per message
│ │ │
┌───▼───┐ ┌──────▼──┐ ┌─────▼───┐
│ Node1 │ │ Node2 │ │ Node3 │
│ │ │ │ │ │
│ • Private key never │ │ │
│ leaves this node │ │ │
│ • L1/L2 memory local │ │ │
│ • Watchdog sandboxed │ │ │
└───────┘ └─────────┘ └─────────┘
- Hub is untrusted for message content — it only sees ciphertext
- Nodes trust each other only through accumulated collaboration (TrustLevel: unknown → contact → colleague → trusted)
- Human approval required for high-risk operations regardless of agent autonomy level
- Watchdog cannot be modified by any agent (
canModify()hardcoded tofalse)
| Version | Supported |
|---|---|
| 0.1.x | ✅ Current |
| < 0.1 | ❌ No |
Short reminders for operators running the Hub beyond the defaults in packages/hub/src/security.ts:
- Set
JWT_SECRETexplicitly in production instead of relying only on auto-generated files on disk. - Avoid
CORS_ORIGINS=*on internet-facing deployments unless you understand the trade-off for browser clients and credentials. - Prefer TLS in front of the Hub; do not expose raw Hub ports to untrusted networks without review.
- Run
npm auditafter dependency upgrades and triage critical findings.
Last updated: April 4, 2026