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

CapabilityREST EndpointSDK hint
Create steward identityPOST /api/v1/identityclient.createIdentity()
Register datasetPOST /api/v1/ai/datasets/registerclient.request('POST', '/ai/datasets/register', …)
Issue dataset passportPOST /api/v1/passportclient.createPassport()
Publish Guardian alert/reportPOST /api/v1/guardian/reportsclient.request('POST', '/guardian/reports', …)
Verify dataset & integrity scorePOST /api/v1/provenance/verifyclient.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 enableGuardianNode entitlements (already on for Dataset Passport). Use /guardian/reports to push alerts or /guardian/status to check mirror health.