Commit Graph

27 Commits

Author SHA1 Message Date
Binh 5148fed9e8 Compliance tab overview: mapping coverage and ISO/BSI footprints
- Client Info Compliance tab: overview row above the framework tiles with an
  ISO/BSI switch. Mapping coverage (square donut, per mapping state) and the
  Annex A footprint (all 93 controls, titles from the active corpus) or the
  BSI Kernel footprint (top two practices, Show all window with all 901
  requirements, unreachable ones marked, pinned detail line).
- Mapping failed and ISO control without BSI requirement open Work through
  the new Compliance Engine facet ISO mapping; Client and Assessment context
  row in the tab (Core release Presentation for the DashboardPanel drilldown
  and context row).
- Fix: an ISO control accepted by an earlier run can be decided again after a
  remap of the same pipeline version no longer proposes it.
- Overview response adds coverage, bsiFootprint and annexATitles; Work
  assignments add failedFindings. Product version unchanged pending Platform release.
2026-10-14 11:54:48 +02:00
Binh 6570d6d64c 2.22.0: BSI Grundschutz++ derived from ISO mappings
Compliance Engine stage 1 for BSI Grundschutz++ (Kernel requirements only):
- Pinned snapshots of the BSI Kernel catalog and the official ISO 27001
  Annex A -> Grundschutz++ mapping with source URL, SHA-256 and CC BY-SA
  attribution, generated by server/compliance/update-bsi-assets.mjs.
- Requirements are derived from accepted ISO controls, never stored as
  decisions; missing mapping targets are reported.
- Client Info Compliance tab: BSI Grundschutz++ tile and Results window.
- Finding Reader: collapsed BSI requirements section grouped by ISO control.
- Work: BSI requirement and BSI practice facets.
- Data Hub: BSI catalog tile with Update from BSI and Use bundled catalog;
  new outbound target documented in SECURITY.md.
2026-10-14 11:54:47 +02:00
Binh 8ffec38521 2.21.0: Client Info Compliance tab with ISO mapping history
The Compliance row moves from the Client Info Overview into its own
Compliance tab (before AI Overview). The framework tile row and its
Results button stay unchanged so later frameworks add a tile.

The tab heading carries a Last mapping button. Its window lists up to 50
mapping batches and single finding mappings of all clients, because
mappings are global per rule. Each entry shows its trigger (Automatic,
Manual, Single finding), where it came from relative to the shown
timeslot (This timeslot, Other timeslot, Other client, Unknown), status
and content-free counts. Mapping runs now record their trigger, and
single mappings their origin as SHA-256 tokens only, since runs are
exported with every client. The tab refreshes while a mapping runs and
shows the last overview at once when returning to it.

Also: history table keeps the 14px table role in every column, and the
flaky sheet-selection-cost test uses 300 instead of 2,537 sheets.

Core changes (released Presentation, Governance, Platform, Core Tests):
DashboardPanel Compliance tab, AGENTS.md decisions, product version
2.20.0 -> 2.21.0, sheet-selection-cost test.
2026-10-14 11:54:47 +02:00
Binh 44905c84a6 feat(compliance): update compliance UI and logic for ISO controls
- Refactor compliance CSS to enhance layout and styling for the new Compliance row.
- Update RESULT_DB_DISCLOSURE_POLICY_VERSION to 3.8.0 for consistency across modules.
- Implement rollup logic for policy comparisons in result DB materialization.
- Enhance DashboardPanel to support theme filtering alongside control filtering.
- Introduce new ClientTileParts component for shared dashboard elements.
- Add tests for result DB materialization to ensure correct handling of GPO comparisons.
- Update existing tests to reflect changes in compliance logic and UI.
2026-10-14 11:54:00 +02:00
Binh 0eba6bf2b4 feat: extend Compliance Engine and ISO workflows for v2.19.0
- Move AI overview and privacy-safe JSON export into Compliance Engine
- Add ISO control and theme facets to Work, including GPO settings
- Enrich ISO queries with baseline context, Windows code meanings and technical explanations
- Count GPO settings once and preserve editable decisions across mapping runs
- Fix GPO mapping version conflicts and backup domain identity resolution
- Add regression coverage and update architecture and reimport documentation
2026-10-14 11:53:35 +02:00
Binh c0afbb14e0 2.18.0: Compliance Engine for ISO control mapping
Extract the regulatory ISO control mapping from the Core into the
Compliance Engine (src/compliance, server/compliance, tests/compliance).

- Fix ISO mapping after the Result DB privacy merge: look up a finding's
  Result DB row scoped to its project instead of comparing a stripped
  project id.
- Engine reads the Core only through ComplianceReadPort and writes only
  its own ComplianceStore (existing migration 026 tables, own pool);
  engine writes no longer advance the Core revision.
- Engines popup gains Compliance Engine; switched off it shows nothing
  and sends no requests. Permanent on/off invariance test.
- Map ISO controls opens a window like Accepted Risk; accepted controls
  appear as an ISO controls section in the Finding Reader and as tiles
  below the Context heatmap in Client Info (drill-down into Work).
- First two proposals of a finished mapping are accepted automatically
  (provisional user decision); existing decisions are never overridden.
- Activity log names Compliance Engine work, keeps running mappings,
  batches and corpus embedding until the backend ends them, and no
  longer logs repeated status checks.
- Data Flow diagram shows the Compliance Engine.
- Core guard treats a bare engine folder name as engine path; new guard
  area test.
2026-10-14 11:53:35 +02:00
Binh 8fab1ddade feat: scoped risk acceptance for Defender devices
Adapted pick of d9ff6a8: device-finding and device-snapshot targets with
immutable snapshots, migration 028, repositories, API, Defender panel,
Finding Reader and the Accepted Risks register.

Unlike the original, the register keeps the base rule for its current
count, and a scoped decision covers only the occurrences it captured.
After a reimport it stays with its full history, shows Review required
and covers nothing, like a whole-finding acceptance.
2026-10-14 11:52:32 +02:00
Binh a12529e39e feat(defender-for-iot): add dataset model, source extractor, and profile on Michael's base
Adapted pick of 7d3ef5f. The profile declares the now mandatory
securityScoring, priorityBasis and timeslotComparison. Client Info adds
Defender as a third tab beside Overview and AI Overview, and a
Defender-only timeslot starts in the Defender view. recordTitleFor only
replaces the title candidate; the Maester and CIS title rules stay.

Left out: the .gitignore entry, --tile-inset, the stored-profile
precedence Michael's fileProfile already has, and the old processing
version assertion.
2026-10-14 11:51:29 +02:00
Binh e91055f6de feat: add AI Overview panel and integrate AI overview functionality 2026-10-14 11:51:25 +02:00
Michael 7471afc79a push 2026-10-14 11:13:14 +02:00
Michael 563ad43f9c WP Tab mit export + Security Export 2026-10-13 09:05:26 +02:00
Michael 614ac1b147 Backup 2026-10-11 03:33:25 +02:00
Michael 250c213fc1 Business Impact + Management Report 2026-10-04 19:58:04 +02:00
Michael ec0d9f2d3e Context Engine + Backup Commit - not ready yet! 2026-10-01 18:05:02 +02:00
Michael efec1f593a 2.9.1: Management Report mit Heatmap und Ergebnisbalken
Die Client-Info-Aktion Management Report erzeugt den faktenbasierten
HTML-Bericht aus der gemeinsamen Reportprojektion: erfasste DC,
bewertete und abweichende Ergebnisse, Heatmap des Abweichungsanteils
und Pass-/Abweichungsbalken je Security Domain. Kein Mixed-Method-Score,
keine Scannerlisten, keine LLM-, Internet- oder Risikoableitung.
Report B bleibt technisch. Keine Projektions-, API- oder Persistenz-
aenderung.

Verifiziert: Vollsuite 1645 bestanden, 14 uebersprungen; 7 bestehende
Fehler in 6 Dateien identisch auf dem vorherigen Commit. Beide
Produktionsbuilds bestanden. Visuelle Browserabnahme offen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 09:49:38 +02:00
Michael d8f131d6da Anpassung Mitre Catalog Update 2026-09-28 09:03:24 +02:00
Michael a5262f19f5 neuer Goldstandart :) 2026-09-25 21:33:12 +02:00
Michael 0aadb81027 Bug Fix GPO Headlines in Work...and many more :) 2026-09-24 09:52:57 +02:00
Michael 83284c2183 Bug Fix Result DB 2026-09-23 13:53:40 +02:00
Michael cdd93fe9e8 Abtrennung zu neuem Datenmodell 2026-09-21 09:10:54 +02:00
Michael 03ea022f08 feat: add native scanner scoring and preserve client data on reimport 2026-09-10 12:41:18 +02:00
Michael dd92aa26d0 GPO Implementierung Testbereit 2026-09-06 20:54:33 +02:00
Michael 68172e715a Client Info Anpassung + weiter GPO Implementierung 2026-09-03 17:21:17 +02:00
Michael a5331de771 UI Anpassung- PK + PC HTML Import implementiert
Deploy / Test, build & deploy (push) Successful in 2m3s Details
2026-08-26 08:29:00 +02:00
Michael 6cfe0c1fd5 Design Anpassungen Dashboard + Rep. PC Importer 2026-08-24 15:17:22 +02:00
Binh d74d0a5c56 feat(dashboard): align metrics and risk profiles with reference layout 2026-08-24 12:48:35 +02:00
Tronth c473b0c94e Initial import 2026-08-24 09:16:16 +02:00