🔐 Privacy-first • ⚡ Edge-native • 🧠 AI-ready

The universal proof layer for AI and developers.

Hash locally. Timestamp via API. Verify publicly.
No blockchain, no gas — just cryptographic truth.

✓ Hash-only (content stays local) ✓ HMAC-SHA256 server signature ✓ Cloudflare Workers + KV ✓ Public verification endpoint

Why developers choose TimeProofs

Instant Proof of Existence

Timestamp any SHA-256 hash in milliseconds. Zero setup, zero tokens, predictable cost.

AI & Agents First

Attach proofs to prompts, outputs, and workflows to build auditable pipelines in minutes.

Private by Design

Only hashes are sent and stored. Your original content never leaves your device.

How it works

Hash locally

Compute SHA-256 on client or server.

const buf = new TextEncoder().encode(text);
const digest = await crypto.subtle.digest('SHA-256', buf);
const hash = [...new Uint8Array(digest)]
  .map(b => b.toString(16).padStart(2,'0')).join('');

Timestamp

POST the hash — get back timestamp, signature, and a verify_url.

const r = await fetch("https://timeproofs-api.jeason-bacoul.workers.dev/api/timestamp", {
  method:"POST", headers:{ "Content-Type":"application/json" },
  body: JSON.stringify({ hash, type:"event", meta:{ source:"web" } })
});
const proof = await r.json();

Verify anywhere

Anyone can confirm existence via the public endpoint.

const res = await fetch(
  "https://timeproofs-api.jeason-bacoul.workers.dev/api/verify?hash="+hash
);
const check = await res.json();

30-second Quickstart

// POST /timestamp  { hash, type?, meta? }
// GET  /verify?hash=... → { ok, found, timestamp, signature }
// Base (beta): https://timeproofs-api.jeason-bacoul.workers.dev/api