The specification website for Makoto (誠) — a data integrity framework that brings SLSA-style assurance levels to data pipelines.
Live site: https://usemakoto.dev
100% Open Source. Makoto is, and will always be, fully open source under the MIT License — an OSI-approved license. There is no "open core," no proprietary tier, no source-available trickery. The spec, the schema, the examples, and this site are all yours to read, fork, run, and ship.
This repo is the source for usemakoto.dev. It contains:
| Path | Contents |
|---|---|
index.html |
Landing page |
spec/ |
Makoto Levels specification (L1/L2/L3) |
threats/ |
Data supply chain threat model |
examples/ |
Sample attestation JSON files |
levels/ |
Per-level requirements detail |
privacy/ |
Privacy-preserving attestation techniques |
comparison/ |
Makoto vs SLSA vs DVC vs checksums |
attestations/ |
Live attestation format examples |
integrations/ |
Platform integration concepts (Airflow, dbt, Spark, Kafka, Snowflake, Databricks, Dagster, Prefect, Expanso) |
assets/ |
CSS, JS, images |
expanso/ |
Redirect → integrations/expanso/ |
Makoto is platform-agnostic — the same DBOM format works on any data pipeline. The integrations/ directory contains conceptual integration pages for common platforms, each showing how Makoto attestations attach using that platform's native APIs:
| Platform | Category | Primary integration pattern |
|---|---|---|
| Apache Airflow | Orchestration | MakotoOperator + on_success_callback |
| dbt | Transformations | Post-hook macro + on-run-end |
| Apache Spark | Distributed compute | SparkListener + UDF + writer wrapper |
| Apache Kafka | Streaming | Producer/Consumer Interceptor, Connect SMT |
| Snowflake | Warehouse | Stored procedure + Task + External Function signing |
| Databricks | Lakehouse | Unity Catalog hooks + Job webhooks + DLT expectations |
| Dagster | Orchestration | @makoto_asset + materialization sensor + IO manager |
| Prefect | Orchestration | State hooks + MakotoResult serializer |
| Expanso | Edge pipelines | Bloblang mapping + custom processor plugin |
All integrations are conceptual — they use real platform APIs, but the Makoto-specific pieces (operators, hooks, processors, decorators) are illustrative sketches. To ship one for real, open an issue.
Pushes to main auto-deploy to GitHub Pages via the deploy workflow:
main → GitHub Actions → gh-pages branch → GitHub Pages → usemakoto.dev
DNS is managed via Cloudflare (proxied). HTTPS is handled by Cloudflare — no certificate configuration needed at the GitHub level.
Deploy time: ~30 seconds after merging to main.
No build step — it's static HTML/CSS/JS.
git clone https://github.com/makoto-project/usemakoto.dev
cd usemakoto.dev
# Serve locally (Python)
python3 -m http.server 8080
# → open http://localhost:8080
# Or with Node
npx serve .Spec corrections, new examples, and clarifications welcome.
- Fork the repo
- Edit the relevant HTML or JSON files
- Test locally (
python3 -m http.server) - PR against
main— deploy is automatic on merge
For large spec changes (new levels, new attestation types), open an issue first.
- Demo repo: makoto-project/makoto — 5 runnable demos, GitHub Action, DBOM generator
- Full spec: usemakoto.dev/spec/
- JSON Schema: dbom_schema.json
Licensed under the MIT License — see LICENSE for the full text.
This project is, and always will be, 100% open source. MIT was chosen specifically because it is:
- OSI-approved — meets the Open Source Definition (free to use, modify, redistribute, and sublicense, including for commercial purposes)
- Maximally permissive — short, plain, and battle-tested; legal review takes minutes, not weeks, which lowers adoption friction for teams shipping Makoto-conformant pipelines
- Universally compatible — MIT-licensed work can be combined with virtually any other OSS license (GPL, Apache, BSD, etc.), so downstream tools and specs can ingest the schema and examples without conflict
If you need a different OSI-approved license for compatibility (e.g., Apache-2.0, BSD), open an issue and we'll discuss.