v0.5.0 — dashboard, editable PII policy, hardened firewall
Highlights — the launch release: a read-only dashboard ([ui] extra), an editable PII enforcement policy, a substantially hardened SQL firewall, a zero-config SaaS demo pack, and a full Mintlify docs site. The publish pipeline is fixed so the wheel actually ships the dashboard.
Upgrade note — no store migration (
SCHEMA_VERSIONstays14). Install the dashboard withpip install schemabrain[ui];schemabrain dashboardbinds to127.0.0.1only.
Added
- Read-only dashboard (
[ui]extra) — local FastAPI sidecar + static Next.js UI viaschemabrain dashboard(127.0.0.1only): schema/entity browser, PII Ledger, Refusal UI, Audit Viewer, Boardroom Brief; entity drilldown shows metrics + canonical joins. (#125, #126, #127, #129, #130, #132) - Editable PII policy —
schemabrain policy {show, apply, tag}+ apii_policy.yamloverlay + a read-only dashboard view; the catastrophic-leak floor is always-on and can't be overridden away. (#155) - SaaS demo pack (new bundled default) — 12 tables / 84 columns / 12 entities / 5 metrics / 8 joins covering all three catastrophic-PII legs;
initapplies it for $0 with no API key. Bundled packs are now a named registry (e-commerce stays as fallback). (#143, #164, #167) schemabrain doctor --verify— no-API-key mock-agent MCP smoke + environment preflight. (#116)schemabrain inithost selection (Claude Desktop / Code / Cursor / Windsurf) with detection;--host manual/--print-onlyprints the snippet without writing. (#115, #146)servequery guardrails —--statement-timeout-ms(30s) and--max-rows-per-result(10000);0opts out. (#116, #151)- Store ↔ YAML round-trip —
entities/metrics/joinsexport[-all],schemabrain apply,schemabrain diff(CI exit codes),init --emit-yaml-dir, and public*_to_yamlserialisers. (#113) audit verify --since <spec>(hex-prefix / duration / ISO cursor) and anaudit liststatus + cost-class footer. (#112)doctorprobespg_stat_statements(advisory). (#145)
Changed
- Agent steering moved into the MCP
initializeinstructionsfield (no user-pasted snippet); interactive--pii-blockdefault aligned with--yes+ docs. (#142) get_metricvalidateslimitin-body (typedmalformed_nameenvelope) and reports atruncatedflag; the metric executor uses aNullPoolengine. (#117, #165)
Security
- Catastrophic-leak floor (
credential,payment_card,government_id) enforced at every read path including theget_metricaggregate path; operator overrides can't strip it. (#154, #156, #157, #162) - Catastrophic column names no longer disclosed via
redacted_columnsor the unknown-column hint. (#174) - PII classifier hardened — auth-secret + internationalised + concatenated/abbreviated shapes;
RULE_COUNT46 → 60. (#152, #158, #161) serverejects control chars in quoted identifiers, refusesMIN/MAXover PII, fails closed on untagged columns; redaction centralised. (#150, #153, #154)- Safe-by-default
--pii-blockacrossserve/init/build_server/WizardConfig(catastrophic-leak set; explicit''to disable). (#110, #162) - Pinned the Hugging Face Hub model revision (B615 / CWE-494); added a 19-file firewall-bypass regression corpus. (#147, #149)
Fixed
get_metricrefusal envelope surfaces onlyblocked_categories(no probe oracle);describe_entityalways redacts catastrophic column descriptions. (#110)- PII verdicts labelled by attribution (
floor_blockedvs operator policy). (#160) - Publish pipeline builds the dashboard export with
uv build --wheel, so the wheel ships it and advertises[ui]. (#163) - Deterministic dashboard PII-category ordering; closed 7 launch-blockers via firewall hardening +
fastembedreliability. (#132, #147)
Documentation
- Full Mintlify site — mechanism explainers, per-client setup (Claude Desktop / Code / Cursor / Windsurf / Zed / Codex), comparisons, Works-with + security posture, threat model, First 5 Queries, dashboard guide, CLI reference. (#118, #120, #121, #122, #123, #124, #133, #135, #136, #140, #144, #145)
- Docs recast onto the SaaS demo; store-path default corrected to
./schemabrain.db; README + substrate fact-check and link repair. (#137, #138, #141, #166, #172, #173)
Internal
- Bundled-pack registry refactor; stale-comment / attribution hygiene; dependency bumps (
dorny/paths-filter3 → 4,opentelemetry-sdk). (#104, #106, #111, #119, #148, #164)
Install: pip install schemabrain[ui]==0.5.0
— Full changelog: https://github.com/Arun-kc/schemabrain/blob/main/CHANGELOG.md