Skip to main content

Cryptographic audit trails for AI agents — Ed25519 + PTA Behavioral Layer

Project description

Veralog Python SDK

Cryptographic audit trails for AI agents. Add one line to your agent, get a tamper-proof signed log of every action.

www.vrlg.tech

Installation

pip install veralog

Quick start

import veralog

veralog.configure(api_key="vrlg_...")

result = veralog.record(
    agent_id="sales-bot",
    action="send_proposal",
    payload={"client": "acme-corp", "deal_value": 50000},
    status="success",
)

print(result.verify_url)

Get an API key

import veralog
account = veralog.register(email="you@yourcompany.com")
print(account["api_key"])

Or register at www.vrlg.tech.

Configuration

# Explicit
veralog.configure(api_key="vrlg_...")

# Or via environment variable
export VERALOG_API_KEY="vrlg_..."

Record an event

result = veralog.record(
    agent_id="sales-bot",           # required: your agent's ID
    action="send_proposal",         # required: what it did
    payload={"client": "acme"},     # required: arbitrary dict
    status="success",               # success | warning | error | crash | timeout | blocked | cancelled
    severity="info",                # debug | info | warning | error | critical
    flags=[],                       # loop_detected | policy_violation | data_exposure | ...
    trace_id="trace-abc-123",       # optional: correlation ID
    tool_name="gmail_api",          # optional: tool used
)

print(result.event_id)    # UUID
print(result.verify_url)  # https://www.vrlg.tech/verify/{id}/page
print(result.events_used) # running total

Query events

events = veralog.get_events(
    status="blocked",
    agent_id="sales-bot",
    since="2026-06-01T00:00:00",
    limit=50,
)
print(events["total"])
print(events["events"])

Export all events

data = veralog.export()
# Returns dict with all events, signatures, and public keys

Verify an event

event = veralog.verify("8b466b96-8663-4742-a6a6-8964ce69e5d4")
print(event["signature"])
print(event["public_key"])

LangChain example

from langchain.agents import AgentExecutor
import veralog

veralog.configure(api_key="vrlg_...")

def run_agent_with_audit(agent_executor, input_text):
    try:
        result = agent_executor.invoke({"input": input_text})
        veralog.record(
            agent_id="langchain-agent",
            action="invoke",
            payload={"input": input_text, "output": result["output"][:200]},
            status="success",
        )
        return result
    except Exception as e:
        veralog.record(
            agent_id="langchain-agent",
            action="invoke",
            payload={"input": input_text, "error": str(e)},
            status="error",
            severity="error",
        )
        raise

CrewAI example

from crewai import Agent, Task, Crew
import veralog

veralog.configure(api_key="vrlg_...")

class AuditedCrew(Crew):
    def kickoff(self, inputs=None):
        result = super().kickoff(inputs=inputs)
        veralog.record(
            agent_id="crewai-crew",
            action="kickoff",
            payload={"inputs": inputs, "result": str(result)[:200]},
            status="success",
        )
        return result

Independent verification

Every event is signed with Phantom Trust Algorithm (PTA) v1.0 — the first cryptographic algorithm born from AI physics. You can verify any event without Veralog:

import binascii, struct

event = veralog.verify("your-event-id")

# PTA verification — no external library needed
sig = binascii.unhexlify(event["signature"])

# Check PTA version marker
assert sig[:4] == b"PTA1", "Not a PTA signature"

# Extract endo/exo genome key pair
endo, exo = struct.unpack(">HH", sig[4:8])

# Core PTA check: genome resonance >= 12/16 bits
resonance = bin((~(endo ^ exo)) & 0xFFFF).count("1")
assert resonance >= 12, f"Resonance {resonance}/16 below minimum"

print(f"PTA Verified — resonance {resonance}/16 — event was not tampered with")

Phantom Trust Algorithm (PTA) v1.0 — patent pending (Rospatent → PCT). Algorithm origin: God Code physics engine — endo_bits/exo_bits resonance.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veralog-0.2.2.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veralog-0.2.2-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file veralog-0.2.2.tar.gz.

File metadata

  • Download URL: veralog-0.2.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for veralog-0.2.2.tar.gz
Algorithm Hash digest
SHA256 23b98797cb42d85e06a0e936a84930dd7bed810b1ec9db395ff5f8baab6ff8d8
MD5 bb7bf084b01b9fdaf35b9ab920e7dec5
BLAKE2b-256 8370c029386bbc41634fb4aab4afe00dc1c36c9f9a1a9f5ef7f2d525f8509ab0

See more details on using hashes here.

File details

Details for the file veralog-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: veralog-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for veralog-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8ad743a77adaedd140b4c4c8eb206add86100a26a182f4a89b0e03a19bc20fd2
MD5 6ff2763b2d6428f9162b2618f4930180
BLAKE2b-256 c2e111130db102fbb71ac7989652fb630e839080f33f6373821bd2681cb1cf0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page