Authentication Without Surveillance

SPY Protocol uses cryptographic proofs to verify authorized agents without passwords, tracking, or behavioral analysis

How SPY Protocol Works

sequenceDiagram participant A as Agent (Browser) participant P as Proxy (Gatekeeper) participant R as Protected Resource Note over A,R: SPY Protocol Authentication Flow A->>P: 1. SPY_INIT
public_key, capabilities Note right of A: Agent presents credentials P->>A: 2. SPY_CHALLENGE
challenge, requirements Note left of P: Proxy sends nonce A->>P: 3. SPY_AUTH
signature, proof Note right of A: Agent signs challenge P->>A: 4. SPY_ACCEPT
session_token Note left of P: Proxy grants access P->>R: Authorized Request R->>P: Protected Content P->>A: Protected Content loop Heartbeat every 30s A->>P: SPY_HEARTBEAT P->>A: SPY_HEARTBEAT_ACK end
1

INIT

Present public key

2

CHALLENGE

Receive nonce

3

AUTH

Sign challenge

4

ACCEPT

Receive token

// Signature Generation
signature = ECDSA_Sign(
    private_key,
    SHA256(challenge || timestamp || target_host || client_nonce)
)

// Total authentication time: <100ms
// No passwords, no tracking, just math

Passwordless

ECDSA public key cryptography eliminates password vulnerabilities

Bot Protection

Cryptographic proofs that bots and scrapers cannot forge

Fast

Sub-100ms authentication with minimal overhead

Open Specification

Protocol Features

  • ECDSA with P-256/P-384 curves
  • Challenge-response authentication
  • Session token management
  • Heartbeat mechanism
  • Rate limiting protection

Security Guarantees

  • Replay attack prevention
  • MITM protection
  • DoS mitigation
  • Key revocation support
  • Zero personal data collection

Example SPY_INIT Message

{
  "type": "SPY_INIT",
  "version": "1.0",
  "agent": {
    "name": "SPY-Agent",
    "version": "1.0.0",
    "platform": "linux-x64"
  },
  "public_key": "-----BEGIN PUBLIC KEY-----...",
  "supported_curves": ["P-256", "P-384"],
  "timestamp": "2025-01-01T12:00:00Z"
}

Start Implementing

For Proxy Developers

# Implement SPY endpoints
POST /spy/v1/init
POST /spy/v1/challenge  
POST /spy/v1/auth
POST /spy/v1/accept

# Session storage (Redis recommended)
# Rate limiting (10 attempts/min/IP)
# Audit logging required

# Reference: SPYIL/night (Go)

For Agent Developers

# Generate ECDSA keys (P-256)
# Store keys securely
# Sign challenges with SHA-256
# Manage session tokens
# Send heartbeats every 30s

# Reference: SPYIL/day (JavaScript)

Ready to Eliminate Bots?

Join the authentication revolution with SPY Protocol