Developer Docs
Dataset Passport — Developer Guide
Register datasets, attach Accord policies, and publish passports to Guardian nodes.
Dataset Passport — Developer Quickstart
Dataset Passport packages Sovereign IDs, ledger anchoring, and Guardian distribution so institutions can prove custody and policy for every dataset.
Use this if you are…
- Museums, archives, labs, or ministries publishing datasets to partners and AI labs.
- Any steward who needs to prove provenance, storage integrity, and Accord obligations for sensitive data.
What you get
- Canonical manifests for datasets, storage pointers, refresh cadence, and custodians.
- Accord-bound passports that express AI training, cultural, and commercial rules.
- Guardian node publication so labs can subscribe to verified feeds.
- Entitlements: 500 dataset slots, Guardian publication enabled, runtime integrity scoring.
Core APIs & SDK touchpoints
| Capability | REST Endpoint | SDK hint |
|---|---|---|
| Create steward identity | POST /api/v1/identity | client.createIdentity() |
| Register dataset | POST /api/v1/ai/datasets/register | client.request('POST', '/ai/datasets/register', …) |
| Issue dataset passport | POST /api/v1/passport | client.createPassport() |
| Publish Guardian alert/report | POST /api/v1/guardian/reports | client.request('POST', '/guardian/reports', …) |
| Verify dataset & integrity score | POST /api/v1/provenance/verify | client.provenance.verifyArtifact() |
SDK quickstart
import { createSovProvClient } from '@sovprovenance/sdk-js'
const client = createSovProvClient({
baseUrl: process.env.SOVEREIGN_API_URL!,
apiKey: process.env.SOVEREIGN_API_KEY!, // Map this key to dataset_passport via PRODUCT_SUBSCRIPTIONS
})
// 1. Register the dataset steward identity
const steward = await client.createIdentity({
name: 'Global Research Library',
type: 'institution',
publicKey: 'did:key:z6MkDatasetKey#1',
jurisdiction: 'EU-DE',
})
// 2. Register the dataset manifest (AI routes accept canonical dataset payloads)
const dataset = await client.request('POST', '/ai/datasets/register', {
stewardId: steward.id,
datasetName: 'Carbon Flux Archive',
storage: {
type: 's3',
uri: 's3://carbon-flux/raw/',
checksum: 'sha256:abc123',
},
metadata: {
refreshCadence: 'monthly',
schemaVersion: '1.2.0',
},
})
// 3. Issue a passport bound to Accord rules
const passport = await client.createPassport({
identityId: steward.id,
artifactId: dataset.dataset_id,
metadata: {
title: 'Carbon Flux Archive',
artifactType: 'dataset',
tags: ['climate', 'restricted-ai'],
},
accordId: 'accord-carbon-flux',
})
// 4. Publish a Guardian report so subscribers can ingest
await client.request('POST', '/guardian/reports', {
type: 'dataset_passport',
audience: ['labs', 'cities'],
passportId: passport.id,
summary: 'New climate dataset available under restricted AI terms.',
})
Implementation notes
- Storage bindings can reference S3, GCS, IPFS CIDs, or archival IDs—mirror checksums for each shard so Guardian nodes can validate.
- Use Accord metadata to express AI training allowances, derivatives, and jurisdictional limits; these become machine-readable policies for labs.
- Guardian publication requires
enableGuardianNodeentitlements (already on for Dataset Passport). Use/guardian/reportsto push alerts or/guardian/statusto check mirror health.