Skip to main content

1. Set Up Your S3 Bucket

The SDK writes raw logs directly to your S3 bucket — you maintain full control.
  1. Create an S3 bucket (names are globally unique, so include your company name — e.g., acme-corp-raw-ai-logs)
  2. Create the following IAM policy:
  3. Create an IAM user and attach the policy
  4. Generate access keys for the user (select “Application running outside AWS”) and save them

2. Install the SDK

3. Configure Environment

Create a .env file:

4. Integrate the SDK

Create test_langchain.py:
Run it:
With debug=True, you’ll see confirmation that the log was written to S3 and the hash was uploaded to Arweave.

5. Verify

Anyone can verify your logs using the open-source CLI — no account required:
See Independent Verification for full CLI documentation.

Signer Options

The examples above use a local RSA-4096 private key. You can also use managed key services:
  • LocalKeySignerConfig — Local RSA-4096 private key (PEM file or env var)
  • AwsKmsSignerConfig — AWS KMS managed key
  • GcpKmsSignerConfig — GCP Cloud KMS managed key
  • AzureKeyVaultSignerConfig — Azure Key Vault managed key

Using Custodied Storage (Optional)

If you prefer AgentSystems to manage hash storage, you can use our custodied option instead of (or in addition to) Arweave.

Create Account

Go to notary.agentsystems.ai and sign up.

Generate an API Key

  1. From the Dashboard, click Add under API Keys
  2. Name your key and select environment
  3. Copy and save the key — it’s only shown once

Add to Environment

Add Custodied Hash Storage

Verify via Portal

  1. Go to notary.agentsystems.ai → Tenants → Generate Verification Ticket
  2. Export logs from your S3 bucket
  3. Upload both to verify.agentsystems.ai
See Verification Guide for full portal documentation.