Dingdawg Compliance

io.github.dingdawgPublished by GitHub account dingdawgv2.0.11Updated Oct 24, 2026

EU AI Act + Colorado AI Act compliance scoring. 87/100 in 60 seconds. Free local scan.

Overview

AI-generated overview

A local compliance scanner that scores an organization's readiness against 25 Colorado SB 205 AI Act controls and lists gaps.

What you can do
Score readiness against 25 Colorado SB 205 AI controls, interactively or from a JSON answer file, with category scores and critical gaps listed at the end of a scan (R19, R20, R21, R22, R23). List the full set of 25 controls with their categories and critical flags (R26, R30). Use it as a library to calculate scores, gaps and critical gaps from a self-assessment (R27). Track assessments in a local SQLite database and produce overall, per-framework and prioritized gap views (R28). Run read-only automated checks over a source directory and database files for access controls and audit logging (R29).
When to use it
Useful when a team using AI for consequential decisions such as employment, housing, credit, insurance, healthcare or education wants a quick self-assessment of Colorado SB 205 readiness and a list of gaps before the June 30, 2026 deadline (R4, R6, R57).
Requirements
Runs as a local process; the README installs it with pip and requires Python 3.9+ with no external dependencies (R16, R17). The manifest declares an optional DINGDAWG_API_KEY for paid tier access. The README states the scan is free, needs no signup and runs locally (R13, R14, R15).
Before you install
The manifest declares a DINGDAWG_API_KEY secret for paid tier access, so treat it as a credential. The free scan only shows what to check and where gaps are; it does not produce remediation plans, regulatory citations, evidence templates or audit-ready documentation, and the full gap report is a paid product (R59, R60, R61). The SQLite store writes to a local database file (R28).

Installation

In SourceWeft

  1. Open Dingdawg Compliance in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

dingdawg-compliance

Colorado SB 205 AI Act compliance scanner. Run it in 60 seconds. Get your score. Know your gaps before June 30, 2026.

bash
pip install dingdawg-compliancepython3 -m dingdawg_compliance scan

What it does

Colorado SB 205 requires any company using AI for consequential decisions (employment, housing, credit, insurance, healthcare, education) to:

  • Conduct impact assessments before deployment
  • Disclose AI use to consumers at point of decision
  • Provide appeal and human review mechanisms
  • Designate a Responsible AI Officer
  • Test for discriminatory bias
  • Maintain a 3-year audit trail

This tool scores your readiness across all 25 SB 205 controls. Free. No signup. Runs locally.


Install

bash
pip install dingdawg-compliance

Requires Python 3.9+. No external dependencies — stdlib only.


Usage

Interactive scan (recommended)

bash
python3 -m dingdawg_compliance scan

Walk through all 25 controls. Answer y/n/skip for each. Get your score at the end.

Example output:

──────────────────────────────────────────────────────  Overall Score: 44/100  [████████░░░░░░░░░░░░]  NEEDS WORK──────────────────────────────────────────────────────
  Category Scores:    ~ scope                  100%    ✗ impact_assessment        0%    ✗ transparency            33%    ✗ appeal                   0%    ~ governance              50%    ✗ bias_testing             0%    ✗ data_governance          0%    ✗ incident_response       50%    ✓ audit                  100%
  ⚠ Critical gaps (2) — mandatory under SB 205:    • CO-3   Pre-Deployment Impact Assessment    • CO-6   Consumer Disclosure at Point of Decision
  Need the full remediation report?  → dingdawg.com/compliance  (CO SB 205 gap report — $199)

Score from a JSON file

bash
python3 -m dingdawg_compliance score responses.json

Format for responses.json:

json
{  "CO-1": true,  "CO-2": true,  "CO-3": false,  "CO-4": null}

true = implemented, false = not implemented, null = unknown (scored as not implemented).

List all 25 controls

bash
python3 -m dingdawg_compliance controls

Use as a library

python
from dingdawg_compliance import calculate_co_sb205_score, CO_SB_205_CONTROLS
# Score a self-assessmentresponses = {    "CO-1": True,   # scope: identified consequential decisions    "CO-3": False,  # impact_assessment: no pre-deployment assessment yet    "CO-6": True,   # transparency: consumer disclosure implemented    # ... rest of controls}
result = calculate_co_sb205_score(responses)print(result["score"])           # 0-100print(result["gaps"])            # list of unimplemented controlsprint(result["critical_gaps"])   # CO-3, CO-6, CO-10, CO-14 if missing

Track assessments in SQLite

python
from dingdawg_compliance import ComplianceStore, ComplianceScorer, ComplianceFramework
store = ComplianceStore()  # stored at ~/.dingdawg/compliance/compliance.db
# Register and assess a controlstore.assess_control("CO-3", status="COMPLIANT", assessor="legal-team", notes="Completed Q1 2026")
# Scorescorer = ComplianceScorer(store)print(scorer.overall_posture_score())   # e.g. 72.0print(scorer.per_framework_score())     # per-framework breakdownprint(scorer.gap_analysis())            # prioritized gap list

Automated checks (read-only)

python
from dingdawg_compliance import AutoAssessorfrom pathlib import Path
assessor = AutoAssessor(    base_dir=Path("./src"),    db_paths=[Path("./data/app.db")])
results = assessor.run_all_checks()print(results["checks"]["access_controls"]["summary"])print(results["checks"]["audit_logging"]["summary"])

The 25 CO SB 205 Controls

IDCategoryControlCritical
CO-1scopeConsequential Decision Identification
CO-2scopeHigh-Risk AI System Classification
CO-3impact_assessmentPre-Deployment Impact Assessment★
CO-4impact_assessmentAnnual Impact Assessment Review
CO-5impact_assessmentImpact Assessment Documentation
CO-6transparencyConsumer Disclosure at Point of Decision★
CO-7transparencyDisclosure Timing
CO-8transparencyDisclosure Content — AI Role
CO-9transparencyDisclosure Content — Data Used
CO-10appealAppeal Mechanism★
CO-11appealHuman Review Option
CO-12appealOpt-Out Mechanism
CO-13appealAppeal Response Timeline
CO-14governanceResponsible AI Officer Designation★
CO-15governanceAI Inventory
CO-16governanceVendor Due Diligence
CO-17governancePolicy Documentation
CO-18bias_testingPre-Deployment Bias Testing
CO-19bias_testingOngoing Bias Monitoring
CO-20bias_testingProtected Class Analysis
CO-21data_governanceTraining Data Documentation
CO-22data_governanceData Minimization
CO-23incident_responseAI Incident Response Plan
CO-24incident_responseError Notification
CO-25auditThird-Party Audit Trail

★ Critical — mandatory remediation required before June 30, 2026.


What this doesn't include

This scanner shows what to check and where your gaps are. It does not generate remediation plans, regulatory citations, evidence templates, or audit-ready documentation.

For the full gap report with remediation guidance → dingdawg.com/compliance


License

Apache 2.0 — free to use, fork, and contribute.

Contributing

PRs welcome for new indicators, additional frameworks, or CLI improvements. Open an issue first for anything structural.

Source: README.md at commit 9838cd3

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v2.0.11LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.