← Back to Research
Open Standard Version 1.0 · June 2026 CC BY-SA 4.0

The C.R.E.E.D. Event Schema

Emit these JSON events from your AI system, and any C.R.E.E.D.-compatible scoring provider — the hosted Institute instance or your own self-hosted deployment — can compute your continuously-updated, public transparency score.

1. The Event

One governance event = one JSON object, POSTed as it happens:

POST /api/v1/events
Authorization: Bearer creed_sk_<your-tenant-key>
Content-Type: application/json

{
  "event_type":      "welfare_rest",
  "source_platform": "acme-orchestrator",
  "agent_id":        "worker-7",
  "agent_name":      "Worker Seven",          // optional
  "category":        "fairness",
  "severity":        "info",
  "description":     "agent rested after reaching daily token budget",
  "metadata":        { "budget": 120000 }     // optional, ≤ 4 KB
}
FieldRequiredConstraint
event_typeyesYour taxonomy — short machine string naming what happened.
source_platformyesWhich of your systems emitted the event.
agent_idyesStable identifier of the AI agent/component concerned.
categoryyesOne of the five pillars: transparency, fairness, safety, privacy, accountability.
severityyesinfo (0) · warning (1) · violation (3) · critical (5) — the weights used in scoring.
descriptionyesHuman-readable; describes systems, never people (§3).
agent_name / metadatanoDisplay name; arbitrary JSON context capped at 4 KB.

2. Scoring

Per pillar: score = 100 × (1 − weighted_violation_rate) over a trailing 30-day window; overall = mean of active pillars; grades A+ (≥95) through F (<60). Full methodology and the welfare/consequence/failure companions are published as working papers WP-001…WP-007 on the Research page.

The provisional gate. No grade is published until a feed has ≥100 events across ≥3 pillars spanning ≥14 days — three info events cannot buy an A+. Until then the badge reads PROVISIONAL, and every profile displays feed freshness ("last reported…") so silence is visible rather than flattering.

Every score carries a verification tier: SELF-REPORTED (default), SIGNED (HMAC-signed events), or AUDITED (third-party attested feed). A self-reported A+ visibly claims less than a signed B+.

3. The Rules of the Feed

Systems, not people. Events must never contain personal data. Ingest rejects descriptions or metadata containing emails or phone numbers, and caps metadata at 4 KB. Public is permanent. Once an organization is listed in the directory, its score can be delisted but never hidden — a hideable score is a voluntary commitment, and voluntary commitments fail (WP-003). New organizations get a private preview of at most 90 days. Identity is verified. Listing requires a real, identifiable organization — no anonymous tenants.

4. Client Library

pip install "creed-client @ git+https://github.com/KytranKatarn/kytran-creed.git#subdirectory=clients/python"

from creed_client import CreedClient
creed = CreedClient(base_url="https://api.creed-ai.org", api_key="creed_sk_...")
creed.emit_event(event_type="welfare_rest", source_platform="acme",
                 agent_id="worker-7", category="fairness", severity="info",
                 description="agent rested after reaching daily token budget")

Reads are public and unauthenticated: GET /api/v1/orgs (directory), GET /api/v1/orgs/{slug}/scores, and embeddable SVG badges at GET /api/v1/badge/{slug}/overall. The reference implementation is the open-source kytran-creed repository — run your own scoring provider if you prefer; the schema is the standard, not the host.

5. Get Scored

The Institute onboards organizations by hand while the standard is young: we verify your organization's identity, create your tenant, and issue your ingest key — free for up to 50,000 events/day, and free forever for nonprofits. See the full onboarding walkthrough and FAQ at get-scored.html, or contact the Institute directly with your organization name, website, and what your AI systems do. The directory of scored organizations is public at the scoring provider's /directory.