AISOURCEOFTRUTH.COM

Proof that a work existed by a date

A signed, dated record per piece, with outside timestamps on the daily root.

Who this is for

Writers, artists, researchers and studios.

The problem

In a dispute over who had a work first, a file's own dates are easy to fake. A record fixes that this exact work existed by its logged time, signed by you, and the daily root carries outside timestamps that do not depend on the registry.

How it works

Routes it uses

Set it up

Step 1. Publish when finished

Hash the final file and publish a provenance record. Keep the original file safe: the record holds only its hash.

BODY='{ ...record }'
SIG=$(printf %s "$BODY" | ./sign-ed25519)   # base64url signature over these exact bytes
curl -s -X POST 'https://aisourceoftruth.com/v1/records' \
  -H "Authorization: Bearer $AISOT_TOKEN" \
  -H "X-AISOT-Key-Id: $AISOT_KEY_ID" \
  -H "X-AISOT-Signature: $SIG" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H 'Content-Type: application/vnd.aisot.record+json' \
  --data-binary "$BODY"

Check: The record's asset digest matches your file.

Step 2. Read the certificate

The certificate lists the appended time, the inclusion proof and the daily root's RFC 3161 timestamps and Bitcoin anchor once they exist.

curl -s -H 'Accept: application/json' 'https://aisourceoftruth.com/r/{digest}/certificate'

Check: The certificate shows the proof, or when it will be ready.

Step 3. Export for a dispute

Export a bundle and give it with the file. Anyone can check it offline.

curl -s -X POST 'https://aisourceoftruth.com/v1/export' \
  -H 'Content-Type: application/json' \
  --data '{"digests":["{digest}"]}'

Check: node verify.mjs bundle.json passes.

Publishing needs a publisher key and a token. The one-time setup is on /agents and in the plan's design.md.

Wire it into your agent

Add it to the step where a piece is marked final, such as an export or a release script.

MCP: add https://aisourceoftruth.com/mcp to the agent's MCP servers. Tools used: publish_record, get_certificate, export_bundle. Read tools need no token.

With the PromptReports products, or alone

Expected outcomes

What it does not prove

The OpenSpec plan for your agent

Your coding agent fetches the plan and writes it into your repo as openspec/changes/integrate-aisot-dated-works/:

curl -H 'Accept: application/json' 'https://aisourceoftruth.com/use-cases/proof-of-authorship/openspec?lang=python'

Read it here: OpenSpec plan. Back to all use cases or the documentation library.

$ curl -H 'Accept: application/json' https://aisourceoftruth.com/use-cases/proof-of-authorship # this page is a rendering of the API. Reproduce it as data.