Provenance Trail
AI Governance
Block
Complete data lineage and decision trail showing how AI arrived at conclusions. Tracks data sources, model inference, and human approvals with cryptographic hash verification.
Preview
Track every step from data ingestion to AI inference and human approval
Provenance Trail
3 steps • Complete audit trail with data lineage
Data Pipeline
data ingestion
Task Priority Analysis12/1/2024, 10:30:00 AM
AI Agent (claude-sonnet-4)
model inference
Task Priority Analysis12/1/2024, 10:31:15 AM
87%
claude-sonnet-4"Analysis shows Marketing Strategy project has highest deadline risk based on current velocity"
Olivia Chen
human approval
Task Priority Analysis12/1/2024, 10:35:22 AM
"Recommendation aligns with Q4 sprint priorities. Approved for implementation."
Props
ProvenanceTrail component API reference
| Prop | Type | Default | Description |
|---|---|---|---|
steps | Step[] | — | Array of provenance steps |
compact | boolean | false | Compact display mode |
searchable | boolean | true | Enable search functionality |
filterable | boolean | true | Enable filter button |
verifiable | boolean | true | Show hash verification |
onExport | (format: string) => void | — | Callback when export is clicked |
onVerify | (stepId: string, verified: boolean) => void | — | Callback after hash verification |
Step Type
| Prop | Type | Default | Description |
|---|---|---|---|
id* | string | — | Unique step identifier |
timestamp* | string | — | ISO timestamp |
action* | string | — | Action type (data_ingestion, model_inference, human_approval) |
actor | Actor | — | Who performed the action (type, name, email) |
target | string | — | Target of the action |
sources | Source[] | — | Data sources with name, hash, rows, quality_score |
outputs | Record<string, unknown> | — | Step outputs |
model | Model | — | Model info (name, version, parameters) |
rationale | string | — | Explanation for the action |
confidence | number | — | Confidence score (0-1) |
hash | string | — | Cryptographic hash for verification |
Usage
Import and implementation example
import { ProvenanceTrail, type Step } from '@/blocks/ai-transparency/provenance-trail'
const steps: Step[] = [
{
id: 'step-1',
timestamp: '2024-12-01T10:30:00Z',
action: 'data_ingestion',
actor: { type: 'system', name: 'Data Pipeline' },
target: 'Task Analysis Job',
sources: [
{ name: 'tasks-data.csv', rows: 2500, quality_score: 0.98 }
],
hash: 'sha256:verified...'
},
{
id: 'step-2',
timestamp: '2024-12-01T10:31:00Z',
action: 'model_inference',
actor: { type: 'ai', name: 'AI Agent' },
model: { name: 'claude-sonnet-4', version: '20250514' },
confidence: 0.87,
hash: 'sha256:abc123...'
}
]
export default function Example() {
return (
<ProvenanceTrail
steps={steps}
searchable={true}
verifiable={true}
onVerify={(stepId, verified) => console.log('Verified:', stepId)}
onExport={(format) => exportData(format)}
/>
)
}Built With
3 componentsThis block uses the following UI components from the design system:
Features
Built-in functionality
- Complete data lineage: Track from source to output
- Actor visualization: Icons for system, AI, and human actors
- Expandable details: Click to see sources, outputs, and rationale
- Model tracking: Model name, version, and parameters
- Quality scores: Data source quality indicators
- Hash verification: Cryptographic integrity verification per step
- Search filtering: Real-time search across steps
- Export functionality: Export for compliance documentation
- Dark mode: Full dark mode support
Accessibility
Accessibility considerations
ARIA Attributes
Timeline structure uses semantic markupExpandable steps are clickable regionsSearch input has proper input semanticsKeyboard Navigation
| Key | Action |
|---|---|
| Tab | Navigate between steps and controls |
| Enter / Space | Expand/collapse step details |
Notes
- Actor type indicated by icon and name
- Timestamps shown in readable format
- Confidence shown as percentage
- Hash verification status shown with icon and text