Live Demos

Five scenarios. Copy-paste commands. See exactly what Makoto does — and what happens without it.

Setup Guide →
All demos use uv for Python — no system Python conflicts, no virtualenv setup. Setup Guide →
Demo 01

The Poisoned Pipeline

Corrupted data accepted silently Unsigned data rejected at intake

Your IoT pipeline ingests partner CSVs. Without a DBOM gate, SQL injection payloads and impossible readings flow straight to analytics.

  • Corrupted CSV silently accepted (SQL injection, NaN, impossible sensor readings)
  • DBOM-less file rejected instantly at the pipeline gate
  • Hash-verified, signed file accepted with full provenance
$ git clone https://github.com/makoto-project/makoto
$ cd makoto/demos/01-poisoned-pipeline
$ ./run.sh
Full walkthrough →
Demo 02

The Reproducibility Gap

Origin and processing unknown Full lineage chain verified

A researcher cites experiment_v2.csv but can't explain which raw data version, outlier method, or processing steps were used. Paper rejected.

  • A mystery CSV with four unanswerable reviewer questions
  • Full 3-step lineage chain: instrument → outlier removal → normalization
  • Hash chain verified step-by-step — reviewer satisfied
$ git clone https://github.com/makoto-project/makoto
$ cd makoto/demos/02-reproducibility-gap
$ uv run demo.py
Full walkthrough →
Demo 03

GitHub Action — Provenance on Every Release

Manual, forgotten provenance Automatic DBOM in CI

Every data file change triggers automatic DBOM generation. No manual steps, no forgotten provenance. A real, usable GitHub Action.

  • DBOM JSON generated for any file in one command
  • SHA-256 hash, signer identity, and lineage auto-populated
  • 5-line workflow file ready to drop into .github/workflows/
$ git clone https://github.com/makoto-project/makoto
$ cd makoto/demos/03-github-action
$ uv run generate_dbom.py path/to/your/data.csv
Full walkthrough →
Demo 04

Configuration Incident Post-Mortem

Hours digging through git blame Instant who/what/when/why

Someone changes max_batch_size at 3am. Throughput drops 95%. Without an audit trail, the team burns hours investigating.

  • Config changed at 3am — no trail, hours of forensics
  • Same change with DBOM: signer, reason, old value — all instant
  • Mean time to resolution: 2 hours → 2 minutes
$ git clone https://github.com/makoto-project/makoto
$ cd makoto/demos/04-config-postmortem
$ uv run demo.py
Full walkthrough →
Demo 05

AI Dataset Verification

Dataset loaded on blind trust Hash mismatch blocks training

Your ML team downloads a training dataset from a shared drive. A single poisoned label can compromise model behavior — and you'd never know.

  • Training dataset loaded on blind trust — label poisoning invisible
  • SHA-256 verified, signer confirmed, 2-step lineage shown
  • One changed label → hash mismatch → training blocked immediately
$ git clone https://github.com/makoto-project/makoto
$ cd makoto/demos/05-ai-dataset-verification
$ uv run demo.py
Full walkthrough →