Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.spellguard.ai/llms.txt

Use this file to discover all available pages before exploring further.

@spellguard/amp

Admissible Messaging Policy for audit logging and message archiving.

Client Functions

FunctionDescription
encryptForVerifier(payload, key)Encrypt payload for Verifier
decryptFromVerifier(encrypted, key)Decrypt payload from Verifier
verifyArchiveIntegrity(commit, archive)Verify archive matches commitment

Server Functions

FunctionDescription
initLoggingBackends()Initialize configured backends
generateCommitment(message)Generate commitment for a message
logCommitment(commitment)Log commitment to backend
archiveMessage(message, commitment)Archive encrypted message
logAndArchive(msg, commit)Log and archive in one operation
getOrCreateChannel(a, b)Get or create channel between agents

Usage Example

import {
  initLoggingBackends,
  generateCommitment,
  logAndArchive,
  encryptForVerifier
} from '@spellguard/amp';

// Server-side: Initialize backends
await initLoggingBackends();

// Client-side: Encrypt message
const encrypted = encryptForVerifier(
  JSON.stringify({ action: 'transfer', amount: 100 }),
  verifier.sessionX25519PublicKey
);

// Server-side: Log with commitment
const message = {
  id: crypto.randomUUID(),
  sender: 'agent-a',
  recipient: 'agent-b',
  encryptedPayload: encrypted,
  timestamp: Date.now()
};

const commitment = generateCommitment(message);
const result = await logAndArchive(message, commitment);

console.log('Commitment ID:', result.commitmentId);
console.log('Archive ID:', result.archiveId);

Backend Configuration

# Environment variables
COMMITMENT_BACKEND=rekor   # 'memory' | 'rekor'
ARCHIVE_BACKEND=s3         # 'memory' | 's3'

# S3 configuration (when using s3 backend)
AWS_REGION=us-east-1
S3_BUCKET=my-spellguard-archives