← All guides

How registry facts become a portable Trust Passport — profile, timeline, standing, and public API.

A Trust Passport is the public-facing bundle of a registrant’s CVT Trust Profile. It is not a separate database — it is a composed view of verified facts, policy-derived standing, and a positive-dominant timeline.

What a passport contains

SurfaceContents
ProfileName, category, verification status, tenure, training and insurance highlights
Trust levelBronze → Platinum — derived from verified positive signals over time
Good StandingPolicy indicator — not a safety guarantee
Trust TimelinePublic milestones only (verification, training, insurance, clean periods)
Trust statementsPlain-language highlights localised in English and Luganda

Conduct detail never appears on the public passport — only a standing indicator (Good Standing / Review Required / Not in Good Standing).

Three layers behind the passport

Registry (verified records)
        ↓ emit
trust_events (immutable facts)
        ↓ compute (policy version)
trust_profile_snapshots (interpretation cache)
        ↓ filter (access tier)
Public passport / Partner APIs

Connect consumes trust; it is not the profile engine. Dispatch and channels read the passport — they do not compute trust level.

Prerequisites

Before a passport exists:

  1. Registrant completes registry verification (status = verified)
  2. A verification ID is issued (e.g. CVT-RDR-2026-000042)
  3. The trust compute job runs and writes a snapshot

Unverified or suspended registrations do not publish a passport.

How events enter the timeline

Positive events are emitted when CVT verifies facts:

  • PROFILE_VERIFIED — first verification
  • INSURANCE_ACTIVE, FIRST_AID_CERTIFIED, ROAD_SAFETY_CERTIFIED
  • CLEAN_PERIOD_12M, CLEAN_PERIOD_24M
  • GOLD_ACHIEVED, PLATINUM_ACHIEVED (on upward level crossings)

Conduct events enter only after Stage B moderation completes — never from raw complaint intake. See the Moderation Framework.

Public URLs and API

ChannelURL / endpoint
Web passporthttps://cvt.jasilab.net/{locale}/passport/{verificationId}
Public API (JSON)GET /api/v1/passport/{verificationId}?format=json

Example JSON fields: verification_id, trust_level, standing, profile, timeline, policy_version, disclaimers.

Owner vs public view

ViewerWhat they see
Anyone (Tier 1)Public passport — positive timeline, standing indicator, no conduct detail
Registrant (Tier 0)Full own history including conduct categories, moderation outcomes, sealed-record indicators
PartnersSoft / Enhanced / Hard search tiers — with consent

Registrants can see who accessed their profile (partner org, purpose, date) when they unlock the passport with a registered mobile match.

Required language

When presenting a passport:

  • CVT verifies submitted registration information and maintains an accountability record.
  • Trust level means more verified positive signals over time — not “safe driver” or “loan approved.”
  • This is not a credit score, safety rating, or insurance approval.

CVT Trust Profile and Trust Timeline summarise information verified in the CVT registry and complaint outcomes that completed trust moderation. They are not a credit score, safety rating, or insurance approval. Partners apply their own policies.

Implementation checklist

  • Registry verification complete
  • Required documents accepted
  • Training / insurance events verified where applicable
  • Trust snapshot computed under current policy version
  • Public passport URL tested
  • Disclaimers displayed on UI and API responses

Further reading