Skip to main content

Documentation Index

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

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

Raw payload storage is where the full JSON payload of every LLM interaction is written. This is your storage — you maintain full control.

AWS S3

from agentsystems_notary import RawPayloadStorage, AwsS3StorageConfig

raw_payload_storage = RawPayloadStorage(
    storage=AwsS3StorageConfig(
        bucket_name="acme-corp-audit-logs",
        aws_access_key_id="AKIA...",
        aws_secret_access_key="...",
        aws_region="us-east-1",  # default
    ),
)

Required IAM Permissions

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["s3:PutObject", "s3:GetObject", "s3:ListBucket"],
    "Resource": [
      "arn:aws:s3:::acme-corp-audit-logs",
      "arn:aws:s3:::acme-corp-audit-logs/*"
    ]
  }]
}

GCP Cloud Storage

Coming soon
from agentsystems_notary import RawPayloadStorage, GcpCloudStorageConfig

raw_payload_storage = RawPayloadStorage(
    storage=GcpCloudStorageConfig(
        bucket_name="acme-corp-audit-logs",
        credentials_path="/path/to/service-account.json",  # optional, uses ADC if not provided
    ),
)

Azure Blob Storage

Coming soon
from agentsystems_notary import RawPayloadStorage, AzureBlobStorageConfig

raw_payload_storage = RawPayloadStorage(
    storage=AzureBlobStorageConfig(
        container_url="https://acme.blob.core.windows.net",
        container_name="audit-logs",
    ),
)

Storage Path Structure

Payloads are stored with the following path structure:
{env}/{namespace}/{YYYY}/{MM}/{DD}/{hash}.json
  • env: arweave, prod, or test
  • namespace: Your tenant identifier
  • hash: SHA-256 hash of the canonical payload