{"slug": "we-crossed-6000-downloads-here-s-what-we-shipped-to-get-there", "title": "We crossed 6,000 downloads. Here's what we shipped to get there.", "summary": "Chron, an MCP server that logs and audits AI-assisted coding sessions, has surpassed 6,000 downloads. The tool, built by a developer to address compliance gaps such as SOC 2 evidence requirements, records every message, code change, and detected secret locally in a SQLite database, with hash-chaining and tamper evidence. It generates risk scores and audit-ready HTML reports for frameworks like SOC 2 and ISO 27001, and supports MCP-compatible tools including Claude Code, Cursor, and Windsurf.", "body_md": "[Tuesday morning. Your SOC 2 auditor emails you.](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fap2blzp2unap9fz5gmd9.png)\n\n\"Can you provide evidence of human review for all AI-assisted code changes in the last 90 days — which files were modified, what prompts were used, and whether any credentials were visible in context?\"\n\nYou open your IDE. Git log? Commits are there. PR history? Reviews too. But the AI session itself — the conversation, the code it proposed, whether it saw your `.env`\n\nfile, which compliance controls it touched — gone.\n\nThat gap is why I built Chron.\n\nChron is an MCP server that runs alongside your AI coding tool. Every message, every code change, every detected secret — locally timestamped, hash-chained, and stored in a SQLite database you own. No cloud. No data sharing. Works offline.\n\n```\n# Install once\nnpm install -g chron-mcp\n\n# Check setup\nchron doctor\n```\n\nWorks with Claude Code, Cursor, Windsurf, Continue.dev — any MCP-compatible tool.\n\n``` bash\n$ chron risk --since=30d\n\nSESSION           SCORE  BAND      SIGNALS\na1b2c3d4          87     critical  secrets·auth·infra\ne5f6g7h8          52     high      auth·findings(2)\ni9j0k1l2          28     review    code_changes\n```\n\nThe attention score: deterministic 0–100 per session. No ML, no API calls. Pure signal from what actually happened: secrets detected (+25), auth code changed (+15), infra modified (+12), open compliance findings (+8 each). A security lead can triage 90 days of AI sessions in under a minute.\n\n``` bash\n$ chron dashboard --since=30d --output=q3-audit.html\n\n✓ Written: q3-audit.html\n  8 sessions · 4 open findings · 1 critical · 2 high\n  Coverage: 6 controls covered · 3 needs evidence\n```\n\nFive sections in a single static HTML file — no server, no login, no port: executive summary, sessions ranked by risk score, findings grouped by framework (SOC 2 / ISO 27001 / EU AI Act / NIST AI RMF), a control coverage map, and contextual next actions. Open in a browser. Print to PDF. Attach to the audit package.\n\n``` bash\n$ chron dashboard --session=a1b2c3d4\n\n✓ Written: chron-session-a1b2c3d.html\n  Score: 87/100 (critical) · 3 findings · tamper: ✓ ok\n```\n\nThe session detail report: attention score breakdown, full timeline with code diffs, secrets with masked values, compliance finding cards with pre-built accept/dismiss CLI commands, which controls the session touches, and a tamper evidence bar (hash chain + NTP clock + Ed25519 signature).\n\nAn auditor can open one file and understand what happened, why it matters, which policies it touched, and what action remains — without accessing any internal system.\n\n``` bash\n$ chron patterns --since=30d\n\nChron Patterns  last 30d · 8 sessions\n\n●●●● HIGH    Repeated auth/access-control code modified\n             4 sessions touched these paths\n             · auth, login, rbac, permission…\n             Sessions: a1b2c3d4  e5f6g7h8  +2 more\n\n●●●○ MEDIUM  Recurring SOC 2 finding unresolved\n             soc2.cc6_1.ai_access_control_change in 2 sessions\n\n●●●○ MEDIUM  Findings unresolved for 28+ days\n             3 open findings across 2 sessions\n\n4 patterns detected  2 high  2 medium\n```\n\nSix pattern types: repeated secret exposure, repeated code-signal category changes (auth, infra, AI governance, monitoring), recurring unresolved findings, high-attention recurring sessions, stale findings (configurable: `--stale=21`\n\n).\n\n`--json`\n\noutputs `{ patterns, session_count }`\n\n— already shaped for SIEM ingestion in the next release. Pattern IDs are stable keys (`repeated_auth_access_control_code_modified`\n\n, `recurring_finding:soc2.cc6_1.*`\n\n) so SIEM rules can match without parsing titles.\n\n**One-off findings are noise. Patterns are risk.** This command tells you which is which.\n\nWe crossed **6,000 downloads** this week. As of publishing: **6,139**.\n\nNo fundraise. No acquisition. No VC backing. Just a CLI that answers a question nobody had an answer for, installed by 6,000+ developers who needed an audit trail for their AI coding sessions.\n\n`pattern_detected`\n\n, `high_attention_session`\n\n, `attention_score_computed`\n\nevents into your pipeline`chron evidence import`\n\nto link policy documents to coverage gaps\n\n```\nnpm install -g chron-mcp\nchron doctor\n\n# After a few AI sessions:\nchron risk\nchron patterns --since=30d\nchron dashboard --output=report.html\n```\n\n", "url": "https://wpnews.pro/news/we-crossed-6000-downloads-here-s-what-we-shipped-to-get-there", "canonical_source": "https://dev.to/sirinivask/we-crossed-6000-downloads-heres-what-we-shipped-to-get-there-3a1j", "published_at": "2026-08-03 09:39:55+00:00", "updated_at": "2026-08-03 10:11:59.626244+00:00", "lang": "en", "topics": ["developer-tools", "ai-safety", "ai-policy", "ai-tools", "mlops"], "entities": ["Chron", "Claude Code", "Cursor", "Windsurf", "Continue.dev", "SOC 2", "ISO 27001", "EU AI Act"], "alternates": {"html": "https://wpnews.pro/news/we-crossed-6000-downloads-here-s-what-we-shipped-to-get-there", "markdown": "https://wpnews.pro/news/we-crossed-6000-downloads-here-s-what-we-shipped-to-get-there.md", "text": "https://wpnews.pro/news/we-crossed-6000-downloads-here-s-what-we-shipped-to-get-there.txt", "jsonld": "https://wpnews.pro/news/we-crossed-6000-downloads-here-s-what-we-shipped-to-get-there.jsonld"}}