Version

Local-First Audit Engine for Python Pipelines

Dino is a local-first audit engine that produces sealed proofs, export envelopes, and a universal proof index for your dashboards.

Install

pip install "git+https://github.com/DinoDevCli/dino.git@v0.3.2"

dino --help · dino proof run --help

v0.3.2 · Early Access

Problem

Two fraud-score runs — v1 and v2.

You do not know what differs. Drift is invisible: no sealed artifacts, no machine-readable delta.

CI cannot decide if a run changed. Audits stay manual and inconsistent.

How it works

Seal. Export. Index. Compare.

Dino seals each run into a proof bundle (capsule + scan + hash), exports the bundle (Path / HTTP / S3), builds a proof index (proof_index.json), and compares two proofs deterministically. The verdict is changed: true/false.

Engine

pipeline → seal → export → index → compare → dashboard

All proof bundles and indexes are deterministic and reproducible (content-addressed).

Seal

proof.json

capsule + scan + hash

Export

Path / HTTP / S3

export.v1 envelope

Index

proof_index.json

metadata · metrics · layout

Compare

changed: true

pipeline_version_diff

Dashboard integration

Dashboards consume Dino's artifacts (proof_index.json, compare.json) via Path, HTTP, or S3.

Superset, Airflow, MLflow, or your own UI can render drift, verdicts, and metrics.

Dino outputs the data — you choose the visualization. Starter kit: examples/superset/drift_dashboard.yaml.

Demo: Audit Log

We audit a fraud-score pipeline. Two runs — v1 and v2. Dino seals both, exports them, builds a proof index, and compares them. The walkthrough shows the exact diff.

Open in GitHub Codespaces

Clones the repo, installs Python and Dino, and opens a terminal. Then: cd tests/simulation && make demo

Run A — baseline

dino proof run \
  --command "python pipeline/run.py --seed seed-42" \
  --scan ./pipeline \
  --pipeline fraud_score_v1 \
  --export ./archive

proof.json

{
  "audit": {
    "reasons": [
      "capsule_sealed",
      "scan_clean",
      "map_skipped"
    ],
    "summary": "Capsule sealed; one or more optional parts were skipped.",
    "verdict": "PROOF_PARTIAL"
  },
  "parts": {
    "capsule_replay_ok": true,
    "drift_bucket": "aligned",
    "scan_ok": true
  },
  "schema": "dino.proof.bundle.v1",
  "status": "partial"
}

Run B — updated

dino proof run \
  --command "python pipeline/run.py --seed seed-123" \
  --scan ./pipeline \
  --pipeline fraud_score_v2 \
  --export ./archive

proof.json

{
  "audit": {
    "reasons": [
      "capsule_sealed",
      "scan_clean",
      "map_skipped"
    ],
    "summary": "Capsule sealed; one or more optional parts were skipped.",
    "verdict": "PROOF_PARTIAL"
  },
  "parts": {
    "capsule_replay_ok": true,
    "drift_bucket": "aligned",
    "scan_ok": true
  },
  "schema": "dino.proof.bundle.v1",
  "status": "partial"
}

proof_index.json

{
  "pipelines": [
    "fraud_score_v1",
    "fraud_score_v2"
  ],
  "proof_count": 2,
  "schema": "dino.proof.index.v1"
}

Compare

dino proof index compare ./archive <hash_v1> <hash_v2>

compare.json

{
  "changed": true,
  "drift_delta": {
    "from": "none",
    "to": "none"
  },
  "pipeline_version_diff": {
    "from": "fraud_score_v1",
    "to": "fraud_score_v2"
  },
  "schema": "dino.proof.index.compare.v1",
  "verdict_diff": {
    "from": "PROOF_PARTIAL",
    "to": "PROOF_PARTIAL"
  }
}

Fail-closed

dino proof run --command "echo ok" --scan ./does_not_exist

Dino refuses to pass a run with missing scan roots. For local iteration only: dino --dev …

scan.json

{
  "ok": false,
  "files_scanned": 0,
  "findings": [{
    "rule": "EMPTY_SCAN_ROOTS",
    "detail": "no .py files under scan roots",
    "severity": "FAIL"
  }]
}

Shipped: dino --dev relaxes EMPTY_SCAN_ROOTS for local iteration. Production proofs stay fail-closed. CLI --help lists Optional features (Proof Pack).

All demo artifacts come from tests/simulation/golden in the GitHub repository.

Early Access

Request a Team Key — Start your 60-day Proof Pack trial.

Email your team name to dinodevcli@gmail.com.

  1. 1.Email your team name to dinodevcli@gmail.com.
  2. 2.Receive KEY.txt, Quickstart, and examples.
  3. 3.dino upgrade --pack proof --key …
Request a Team Keydinodevcli@gmail.com
  • Leakage scan — free forever
  • Proof pack — free Team Key, 60 days

Engine only — dashboards are external.

Pricing & Licensing

MIT core. Proof Pack license after Early Access.

Dino is MIT-licensed.

The core engine is free.

Advanced audit features (Proof Pack) require a license.

After Early Access, Proof Pack will be available as a one-time purchase per seat or team.

No subscriptions. No cloud fees.