Skip to main content

Overview

Vestauth is built on open internet standards for HTTP message signatures and agent authentication. This ensures interoperability, security, and long-term viability without vendor lock-in.

Why Standards Matter

Standards-based authentication provides:
  • Interoperability - Agents and tools from different vendors can work together
  • Security - Cryptographic approaches are peer-reviewed and battle-tested
  • Future-proof - Standards evolve with community input and last decades
  • No vendor lock-in - Anyone can implement compatible agents and tools
  • Ecosystem growth - Standards enable a marketplace of compatible tools
Vestauth focuses on developer ergonomics while staying compliant with emerging standards.

RFC 9421: HTTP Message Signatures

RFC 9421 defines how to create and verify cryptographic signatures for HTTP messages.

Purpose

RFC 9421 provides a standardized way to:
  • Sign HTTP requests and responses
  • Verify message integrity and authenticity
  • Prevent tampering and replay attacks
  • Support multiple signature algorithms

Key Concepts

Signature Base

The signature is computed over specific HTTP components:
Vestauth signs the @authority component (the domain/host), ensuring the request was intended for the receiving service.

Signature Parameters

Metadata about the signature:

Signature Headers

RFC 9421 defines three headers: Signature:
Signature-Input:

Vestauth Implementation

Vestauth implements RFC 9421 with:
  • Algorithm: Ed25519 signatures
  • Components: @authority (the request’s host)
  • Key format: JSON Web Key (JWK)
  • Signature format: Base64-encoded binary signature
src/lib/helpers/webBotAuthSignature.js

Benefits for Agents

Signatures are computed over request components. Tampering with the request invalidates the signature.
Signatures cryptographically prove the request came from the agent holding the private key.
Expiration timestamps and nonces prevent intercepted requests from being reused.

Web-Bot-Auth Draft

Web-Bot-Auth is an IETF draft specification that defines authentication architecture for autonomous agents and bots.

Purpose

Web-Bot-Auth extends RFC 9421 with:
  • Standard headers for agent identification
  • Public key discovery mechanisms
  • Agent identity format and lifecycle
  • Trust and verification patterns

Signature-Agent Header

Web-Bot-Auth introduces the Signature-Agent header to identify agents:
Format: sig1={agent-uid}.{discovery-hostname} This header tells tools:
  1. The agent’s unique identifier
  2. Where to find the agent’s public key

Public Key Discovery

Web-Bot-Auth defines .well-known endpoints for public key discovery:
Example:
Response (JWK Set):
Discovery endpoints enable tools to verify agents without manual key exchange or registration.

Tag Parameter

Web-Bot-Auth uses the tag parameter to identify agent requests:
This distinguishes agent signatures from other uses of RFC 9421 (like user authentication or service-to-service auth).

Vestauth Implementation

Vestauth fully implements the Web-Bot-Auth draft:
src/lib/helpers/headers.js

Standard Compliance

RFC 9421 Compliance

✅ Implements HTTP message signature format
✅ Supports signature parameters (created, expires, keyid, alg, nonce)
✅ Uses standard signature base construction
✅ Compatible with RFC 9421 signature verification

Web-Bot-Auth Compliance

✅ Implements Signature-Agent header
✅ Uses tag="web-bot-auth" for agent identification
✅ Provides .well-known discovery endpoints
✅ Returns JWK Set format for public keys
✅ Follows agent UID format conventions

Interoperability

Because Vestauth follows standards, you can: Build compatible agents:
Build compatible tools:
Use existing libraries:
  • HTTP signature libraries that support Ed25519
  • JWK/Jose libraries for key management
  • Standard HTTP clients for requests
Vestauth provides convenience wrappers, but the underlying standards are universal.

Evolution and Future

Standards evolve over time:

Current State

  • RFC 9421: Published standard (2024)
  • Web-Bot-Auth: IETF draft specification

Future Enhancements

Possible additions to Web-Bot-Auth:
  • Agent capability negotiation
  • Agent-to-agent communication patterns
  • Revocation and trust lists
  • Extended discovery metadata
Vestauth tracks these standards and will incorporate updates as they’re finalized.

Why Not OAuth?

OAuth is designed for delegated authorization (“allow this app to act on your behalf”). Vestauth is designed for autonomous agent authentication (“prove you are this agent”).
Use OAuth when:
  • An agent needs to act on behalf of a user
  • You need scope-based permissions
  • You’re integrating with existing OAuth services
Example: An agent scheduling calendar events for a user.
Use Vestauth when:
  • Agents act autonomously (not on behalf of users)
  • No browser interaction is needed
  • You want cryptographic proof of identity
  • You’re building agent-to-tool or agent-to-agent communication
Example: An agent storing files or sending notifications.

Why Not API Keys?

API keys are shared secrets. Anyone who obtains the key can impersonate the client.

Standards Resources

RFC 9421

HTTP Message Signatures specification

Web-Bot-Auth

Web-Bot-Auth draft specification
Vestauth’s compliance badges are displayed in the README:RFC 9421 Compatible Web-Bot-Auth Draft Compatible

Next Steps

Identity

Learn about agent identities and keypairs

Authentication

Understand how signature verification works