Skip to content

Quickstart

Certivu gives your AI-generated content a cryptographic signature — a tamper-evident, quantum-resistant proof of provenance. Anyone can verify that signature for free, forever.

Sign up at certivu.ai/register. You’ll get a Free tier organization immediately — no credit card required.

After signing up, verify your email to unlock all features.

A generator represents an AI model or pipeline. Each generator has its own ML-DSA keypair — the private key stays on your server, the public key is registered with Certivu.

Open the dashboard → Generators page and click Add Generator:

  1. Enter a name (e.g. stable-diffusion-xl)
  2. The dashboard generates an ML-DSA keypair for you
  3. Copy the private key immediately — it is shown only once
  4. The public key is automatically registered with Certivu

You’ll also receive your generator_id — keep it alongside the private key in your server’s environment variables.

Terminal window
npm install @certivu/sdk
# or
bun add @certivu/sdk
import { CertivuClient } from '@certivu/sdk'
const certivu = new CertivuClient({
apiKey: process.env.CERTIVU_API_KEY,
generatorId: process.env.CERTIVU_GENERATOR_ID,
})
const { token } = await certivu.sign({
content: await fs.readFile('./output.jpg'),
model: 'stable-diffusion-xl',
})
console.log(token) // ctv_7f3kx9mq2...

The SDK and CLI automatically:

  • Hash the content with SHA-3
  • Sign the hash with ML-DSA (FIPS 204, post-quantum)
  • Store a provenance record in Certivu
  • Return a compact ctv_ token
// Token auto-extracted from XMP metadata or watermark if not provided
const result = await certivu.verify({ content: imageBuffer })
if (result.authentic && result.confidence === 'high') {
console.log('Verified:', result.provenance.org, result.provenance.signed_at)
}

No API key required to verify. Call POST /v1/verify directly, use the CLI, or use the public verifier at certivu.ai/verify.

Explore and test all endpoints at api.certivu.ai/docs — powered by the OpenAPI 3.1 spec at api.certivu.ai/openapi.json.