SDK
Three lines of code to your first certified artifact
TypeScript and Python SDKs for the full agent surface. Verify any certificate, receipt, or decision record without trusting the CertifiedData server — pure WebCrypto signature checks run in your agent's runtime.
TypeScript / JavaScript
Install
# pnpm / npm / yarn pnpm add @certifieddata/sdk # or npm install @certifieddata/sdk
Generate + verify
import { CertifiedData } from "@certifieddata/sdk";
const cd = new CertifiedData({
apiKey: process.env.CERTIFIEDDATA_API_KEY, // optional — omit for anonymous sandbox
});
// 1. Generate a certified dataset (sandbox, no auth)
const { cert, rows } = await cd.datasets.generate({
templateId: "fraud_detection",
rows: 500,
engine: "light",
});
console.log(cert.cert_id); // scert_...
console.log(cert.verify_url); // https://certifieddata.io/verify?id=...
console.log(cert.dataset_hash); // sha256:...
// 2. Verify ANY artifact client-side — no server trust
const ok = await cd.verify({ id: cert.cert_id });
console.log(ok.signatureValid); // truePython
Install
pip install certifieddata # or uv add certifieddata
Generate + verify
from certifieddata import CertifiedData
cd = CertifiedData() # anonymous sandbox
cert = cd.datasets.generate(
template_id="fraud_detection",
rows=500,
engine="light",
)
print(cert.cert_id) # scert_...
print(cert.verify_url)
print(cert.dataset_hash)
# Verify client-side (no server trust)
result = cd.verify(cert.cert_id)
assert result.signature_validZero-dependency verifier
Pure WebCrypto verifier. No runtime dependencies. Works in Chrome 113+, Firefox 130+, Safari 17+, and Node 20+. Use this when an agent must independently prove cryptographic validity without trusting the CertifiedData platform.
Verify any artifact — browser or Node
// Pure WebCrypto — works in any modern browser or Node 20+.
// No dependencies. No server trust.
import { verifyArtifactClientSide } from "@certifieddata/verify";
const r = await verifyArtifactClientSide({ id: "cert_abc123" });
if (!r.signatureValid) throw new Error("tampered");Decision logging (Python)
cd.decisions.log — Ed25519-signed record
cd.decisions.log(
label="loan_approval",
artifact_reference="cert_abc123",
selected_option="approved",
confidence=0.92,
)Agent commerce (TypeScript)
Quote → authorize → execute → signed receipt
// Quote → authorize → execute → receipt (all signed)
const quote = await cd.commerce.quote({
amount: 4900,
currency: "usd",
rail: "stripe",
counterparty: "vendor:synthetic-data-co",
purpose: "dataset_purchase",
});
const auth = await cd.commerce.authorize(quote.id);
const receipt = await cd.commerce.execute(auth.id);
console.log(receipt.verify_url); // anyone can verify without a session