← Back to Docs

Security Model

How AVP protects your AI agent credentials at every layer

Security Philosophy

AVP follows a defense-in-depth approach with multiple layers of protection:

  1. Encryption at Rest - Credentials are always encrypted when stored
  2. Workspace Isolation - Secrets cannot cross workspace boundaries
  3. Session Management - Time-limited access with explicit authentication
  4. Memory Protection - Secrets are handled carefully to minimize exposure
  5. Hardware Security - Optional HSM support for maximum protection

Encryption

File Backend Encryption

The file backend uses industry-standard cryptography:

# Key derivation process
key = PBKDF2(
    password=user_password,
    salt=random_16_bytes,
    iterations=480000,
    hash=SHA256
)

# Encryption
ciphertext = Fernet(key).encrypt(plaintext)

Keychain Backend

Leverages OS-provided security infrastructure:

Keys are protected by the OS and may require biometric authentication.

Hardware Backend (NexusClaw)

Maximum security with FIPS 140-3 Level 3 certified hardware:

Threat Model

AVP is designed to protect against these threats:

Threat Protection Backend
Plaintext credential exposure All credentials encrypted at rest All
Cross-agent credential leakage Workspace isolation boundaries All
Brute force password attacks 480K PBKDF2 iterations File
Memory scraping Secure memory handling, minimal plaintext time All
Disk forensics Strong encryption, no plaintext on disk File, Keychain
Key extraction attacks Keys never leave hardware Hardware
Replay attacks Session tokens with expiration All

Session Security

Session Properties

# Session creation with TTL
session = client.authenticate(
    workspace="production",
    ttl_seconds=3600  # 1 hour
)

# Session expires automatically after TTL
# Or can be terminated explicitly
client.terminate(session.session_id)

Memory Protection

AVP implementations follow these guidelines for handling secrets in memory:

Language Limitations: Some languages (Python, JavaScript) have garbage collection that makes secure memory clearing difficult. For maximum memory protection, use the Rust SDK or hardware backend.

Best Practices

Recommended Security Configuration

  1. Development: Use file backend with a strong password
  2. Staging: Use keychain backend for OS-level protection
  3. Production: Use hardware backend (NexusClaw) for maximum security

Password Requirements

For file backend, use passwords that are:

Workspace Organization

Compliance

AVP's security model supports compliance with:

Note: Compliance depends on your overall system architecture. AVP provides the building blocks, but you must ensure proper configuration and operational practices.

Security Reporting

Found a security vulnerability? Please report it responsibly: