567 lines
67 KiB
Markdown
567 lines
67 KiB
Markdown
# S Browser: Anforderungsabgleich und offene Arbeit
|
|
|
|
|
|
|
|
Stand: 2026-10-13. Diese Prüfung vergleicht die Anforderungen aus dem Chat mit vorhandenem Quellcode und benannten Testfällen. Ein vorhandener Test ist ein begrenzter Nachweis für sein Szenario, kein Sicherheitszertifikat. Laufende Änderungen anderer Agenten müssen nach Integration erneut geprüft werden.
|
|
|
|
|
|
|
|
## Ziel
|
|
|
|
|
|
|
|
Windows zuerst: einen zentral verwalteten Browser mit lokaler Inhaltsprüfung, freigegebenem KI-Zugang und einer verständlichen, abgesicherten Admin-Weboberfläche liefern. Vor einer Produktionsfreigabe müssen die unten genannten Sicherheits- und Betriebsgrenzen geschlossen oder ausdrücklich im erlaubten Produktumfang ausgeschlossen sein.
|
|
|
|
|
|
|
|
## Statusmatrix
|
|
|
|
|
|
|
|
| Anforderung | Stand | Nachweis und verbleibende Grenze |
|
|
|
|
|---|---|---|
|
|
|
|
| Chromium/Electron, Windows-Build | Teilweise | `apps/browser/main.cjs`, `scripts/package.mjs`, `scripts/verify-package.mjs`; sandboxierter Electron-Browser und geprüftes unpacked Windows-Paket. Kein eigener Chromium-Fork mit umfassenden nativen DLP-Hooks; kein signierter Produktionsinstaller oder Updatekanal. |
|
|
|
|
| Safari-artige Oberfläche, Light/Dark, Themes, kompakte/getrennte Tabs | Umgesetzt für Browser-Chrome | `apps/browser/index.html`, `style.css`, `renderer.js`, `scripts/ui-showcase.cjs`, `artifacts/sbrowser-ui-layout.json`. Websiteinhalte werden nicht umgestaltet. Echte native Tabs mit eigener DOM-/Scroll-/History-/Security-State-Verwaltung sind jetzt integriert; Tabwechsel lädt nicht neu. Tatsächliche DLP-/Revocation-Prüfung in `artifacts/native-tabs-proof.json`. Gemeinsame Unternehmens-Cookies bleiben absichtlich geteilt. |
|
|
|
|
| White Label und Firmenstartseite | Umgesetzt für laufende Browser-UI | Zentral signierte Firmenname/Farbe/PNG-Logo und Startseitenüberschrift/-mitteilung, authentisierter RSS-/Atom-News-Pfad, sichere serverseitige XML-Verarbeitung mit DNS-Pinning und expliziter Intranet-Freigabe. `docs/company-branding.md`, `tests/branding.test.mjs`, `tests/company-news.test.mjs`, `artifacts/company-branding-admin-proof.json` und `sbrowser-company-branding.png`. Websiteinhalte unverändert; authentisierte Feeds, kundenspezifische signierte Installer/Executable-Assets und rechtliche Hinweise bleiben offen. |
|
|
|
|
| Zentrale Verwaltung und erzwungene/verborgene Einstellungen | Umgesetzt für unterstützte Einstellungen | `packages/core/managed-settings.mjs`, `apps/browser/managed-settings.cjs`, `main.cjs`, `tests/managed-settings.test.mjs`, `scripts/managed-settings-smoke.mjs`. Native IPC prüft Berechtigungen; UI-Verstecken ist nicht die Autorität. Lokale Administratoren/OS-Manipulation bleiben außerhalb dieser Garantie. |
|
|
|
|
| Sichere Policy-Verteilung | Teilweise | `packages/core/policy-channel.cjs`, `apps/server/policy-channel.mjs`, `apps/browser/management-channel.cjs`, `tests/policy-channel.test.mjs`: ML-KEM-1024/AES-GCM und ML-DSA/Ed25519, Replay-/Versions-/Ablaufprüfung. HTTPS und unabhängiges initiales Pinning bleiben nötig. Kein HSM, Schlüsselrotation oder unabhängiges Kryptografieaudit; keine behauptete „doppelt quantensichere“ Zertifizierung. |
|
|
|
|
| SSO | Teilweise | `apps/server/auth.mjs`, `tests/server.test.mjs`: OIDC-PKCE, Signatur/Issuer/Audience/Nonce, Admin-Gruppen. Mock-IdP getestet; echter Kunden-IdP noch nicht integriert. Drei serverseitige Managementrollen (Admin, Operator, Auditor) aus OIDC-Gruppen in `apps/server/admin-access.mjs`; kein direktes SAML/SCIM. Remote-Shared-Bootstrap-Token wird verweigert; Bootstrap nur HTTP-Loopback. |
|
|
|
|
| Admin-Management-Oberfläche | Teilweise | `apps/server/public/index.html`, `admin.js`, `style.css`; funktionierende Enrollment-, Policy-, Integrations-, Teaching-, Bookmark- und Event-Formulare. `scripts/enterprise-admin-smoke.mjs`, `scripts/bookmarks-admin-smoke.mjs`. In dieser Iteration ergänzt: gruppierte Navigation, Fleet-/Auditfilter, Draft-/Änderungsprüfung, Dark/Light-Konsole, responsive Layouts und rollengerechte Aktionen. Tatsächliche Electron-DOM-/Screenshot-Proofs in `artifacts/enterprise-admin-proof.json` und `admin-console-*.png`. Gruppen-/Pilotverwaltung, effektive Vorschau, Versionsmeldungen und verpflichtende Zweitfreigabe sind inzwischen mit echten UI-Proofs ergänzt. Incident-Verwaltung mit Rollen, Verlauf, Zuständigkeit und Revisionsprüfung ist ergänzt und im echten UI geprüft. Einige Security-/Agentenfelder bleiben Advanced JSON; externe Tickets, automatische Fälle und vollständiger Daten-Lifecycle bleiben offen. |
|
|
|
|
| Fleet, Gruppen, Rollout | Teilweise | Gerätebestand, widerrufbare Credentials, globale signierte Policy, per-Gerät Dokument-/Bookmark-Steuerung und serverseitige Rollen vorhanden. `policy-history.mjs` liefert Historie/Diff/Restore als neue Version. `policy-review.mjs` erzwingt bei aktiviertem Deploymentflag unterschiedliche Autor-/Prüferidentität für alle Veröffentlichungswege, einschließlich Teaching und Gerätescan. Restriktive Gerätegruppen, explizite Pilot-Ausweitung und gerätgebundene effektive Policies sind inzwischen implementiert (`docs/group-policy-rollout.md`). Dynamische IdP-Gruppen, automatische Gesundheitsgates, prozentuale Rolloutringe und Mandantenisolation bleiben offen. |
|
|
|
|
| Admin-Bookmarks lesen/bearbeiten, Firmenlinks und erlaubte persönliche Links | Umgesetzt innerhalb des aktuellen Fleet-Modells | `packages/core/bookmarks.mjs`, `apps/server/bookmarks.mjs`, `apps/browser/bookmarks.cjs`, `tests/bookmarks.test.mjs`, `tests/bookmarks-native.test.mjs`, beide Bookmark-Smokes und Proof-Artefakte. Signierte Firmenlinks, per-Gerät persönliche Revisionen, native und Backend-Rechte. Kein geräteübergreifendes Benutzerroaming oder Gruppenzuweisung. |
|
|
|
|
| Eigener Proxy, VPN, DNS | Teilweise | `apps/browser/network-posture.cjs`, `packages/core/enterprise.mjs`, `tests/network-posture.test.mjs`, `scripts/enterprise-browser-smoke.mjs`: Windows-DNS, Corporate DoH, Proxy/PAC, VPN-Adapter/DNS-Prüfung. Adapterpräsenz ist keine kryptografische Tunnel-/Routenattestation; Erkennung hat Polling-Latenz. Reale Kundentopologien müssen getestet werden. |
|
|
|
|
| Live Domain/IP-/Inhaltsblockierung, YARA/Sigma | Teilweise | `packages/core/security.mjs`, `tests/security.test.mjs`, `tests/dns-alias.test.mjs`, `apps/inspector/engine.py`: Domain/IP-Regeln und echte lokale YARA. Sigma unterstützt nur genaue Event-Metadaten-Selektion, keine vollständige Sprache/Korrelation. OS-weit andere Anwendungen werden nicht kontrolliert. |
|
|
|
|
| ICAP zu eigener AV/Sandbox | Teilweise | `apps/browser/icap-client.cjs`, `enterprise-inspection.cjs`, `apps/server/inspection.mjs`, `tests/icap-client.test.mjs`, `tests/enterprise-gateway.test.mjs`: vollständige unveränderte Bodies, OPTIONS, ICAPS, fail closed. Kein verzögertes Detonations-/Polling-Protokoll, Vendor-REST oder sichere Freigabe adaptierter Inhalte. |
|
|
|
|
| Downloads mit zentraler YARA vor OS-Dateischreiben | Umgesetzt für unterstützte GET-Downloads | `apps/browser/main.cjs`, `inspection.cjs`, `tests/download-gate.test.mjs`, `scripts/smoke.mjs`: native Downloads gestoppt, bounded Memory-Scan, SHA-Bindung vor Save-Dialog/Schreiben. POST-/Blob-/andere Downloads nicht unterstützt und blockiert. Ein YARA-Allow ersetzt keine DLP-Klassifikation. |
|
|
|
|
| Vollständige Upload-/Text-DLP | Teilweise, wichtige Grenze | Unterstützte immutable HTTP-Body-/URL-Pfade und normale Windows-NTFS-Dateiuploads sind geprüft; letztere halten native Handles bis zum Request-Ende und prüfen tatsächliche Dateien und Multipart-Segmente. `docs/windows-file-uploads.md`, `tests/upload-lease.test.mjs`, `tests/file-upload-gate.test.mjs` und native Receiver-/Absturz-Proofs. Data-Pipes, Teilbereiche und Upload-Redirects bleiben blockiert; WebSocket-Nachrichten bei Freigabe, WebRTC, Streaming und codierte/covert Exfiltration sind nicht vollständig geprüft. |
|
|
|
|
| Copy/Paste/Cut und ClickFix | Teilweise | `packages/core/clipboard.mjs`, `apps/browser/page-clipboard-guard.cjs`, `site-preload.cjs`, `tests/clipboard.test.mjs`, `tests/page-clipboard-guard.test.mjs`, `scripts/smoke.mjs`: echte Tastatur-/Kontextmenü-Pfade, Policy-/Ziel-/Selektionsbindung; Seiten-Clipboard/Legacy-Pfade geschützt. Richtext, Dateien, contenteditable und Subframe-Transfers blockiert. ClickFix-Regeln erfassen ausgewählte gefährliche Ausführungsketten, nicht sämtlichen Schadcode von GitHub. Kein OS-weiter Clipboard-/Print-/Screenshot-Schutz. |
|
|
|
|
| Lokales OCR und Parsing ohne Cloud | Teilweise, Windows-Isolation implementiert | `apps/inspector/engine.py`, `requirements.lock.txt`, `CAPABILITIES.md`: gepinnte RapidOCR/ONNX-Modelle, begrenzte Parser, kein Modellnachladen. Der Broker importiert keine Parser; pro Anfrage führt `windows_appcontainer.py` einen attestierten Worker mit null Fähigkeiten, privaten Pipes und freigegebenen Runtime-Leserechten aus. Job-Limits und Nachfahrenbeendigung bleiben aktiv. Zwölf native Isolationstests sowie echtes YARA/OCR/Gemma im Broker bestanden (`artifacts/windows-appcontainer-proof.json`). PDF/OOXML-/Mediencoverage bleibt unvollständig. Das separate ACL-Provisionierungstool ist implementiert; geschützte Program-Files-Installation unter separatem Standardbenutzer und unabhängige Sandbox-Bypass-Prüfung bleiben offen. |
|
|
|
|
| Echtes semantisches GemmaEmbed2 | Umgesetzt als lokaler Klassifikationsbaustein | `apps/inspector/semantic.py`, `test_semantic_real.py`, `packages/core/semantic.mjs`, `scripts/provision-semantic-runtime.py`, `scripts/semantic-browser-smoke.mjs`, `artifacts/semantic-browser-proof.json`: reale gepinnte EmbeddingGemma-2 Q8_0-Gewichte, CPU, 768 Dimensionen, vollständige Tokenfenster. Kundenspezifische Schwellen, Accuracy-/False-Negative-Evaluation und Driftkontrolle fehlen. Das ist kein Fine-Tuning. |
|
|
|
|
| Bilder, Medien, Video | Teilweise | Lokales OCR und native Bildembeddings; begrenztes mono16kHz PCM16-WAV-Embedding in `semantic.py`/Realtests. Keine vollständige Audio-Transkription, Video-Frame-/Audiocoverage. Ein Medienvektor allein erlaubt keine unvollständig geprüfte Datei. |
|
|
|
|
| Internes Dokument „anlernen“, keine vollständige Speicherung | Umgesetzt für Features und konfigurierbare Zweitfreigabe | SHA-/Fragmenthashes und begrenzte semantische Vektoren, keine dauerhafte Quelldokument-/Plaintextspeicherung. Deploymentflag erzwingt unabhängigen Administrator für Veröffentlichung; Reviewer sieht Abdeckung/Modus und unveränderlichen Vorschlag. Hashes/Vektoren sind sensible Metadaten. Held-out Evaluation und automatisches Fine-Tuning fehlen. Forensisches Löschen von Prozess-/Paging-Speicher ist nicht garantiert. |
|
|
|
|
| Dokument-Scan je Browser aktivierbar | Umgesetzt | `app.mjs`, `main.cjs`, Fleet-UI; per-Gerät supplemental Scan. Pflicht-DLP/YARA bleibt davon unabhängig. Nachweise in Server- und Native-Smoke. |
|
|
|
|
| KI als First Class, kontrolliertes Gateway | Teilweise | `apps/server/app.mjs`, `inspection.mjs`, Browser-AI-UI, `tests/enterprise-gateway.test.mjs`: freigegebene lokale Ollama/kompatible Provider, serverseitige Credentials, Prompt-/Outputprüfung. Kein vollständiges Berechtigungs-RAG, Modellinventar, Provider-Tenantnachweis oder umfassendes KI-Tool-Autorisierungsmodell. |
|
|
|
|
| Lokale Agenten steuern Sessions | Umgesetzt für begrenzte kryptografisch geschützte API | `apps/browser/agent-control.cjs`, `tests/agent-control.test.mjs`, `tests/agent-adapters.test.mjs`, `scripts/agent-client.cjs`: Loopback, DPAPI-Pairing, zentrale Scopes und feste Aktionen; ML-KEM-1024/AES-256-GCM, gepinnte Ed25519/ML-DSA-87-Challenge, HMAC-SHA384-Requestbindung und Replay-Abwehr. Kein freies JS/CDP, Passwort-/Cookieexport. Stabile native Tab-UUIDs, Kontextbindung sowie explizite App-/Einstellungs-/Bookmark-/Tab-Rechte sind ergänzt und mit echtem CLI geprüft. Freigaben bleiben zentral begrenzt. Inspect/Scroll und tabgebundene Seitenaktionen sind ergänzt; sieben Agent-Phasen mit 124 tatsächlich exportierten Timing-Spans in `artifacts/agent-pq-trace-proof.json`. Vollständige UI-/History-/Screenshot-/Formularsteuerung und individuelle delegierte Agent-Identitäten bleiben offen. |
|
|
|
|
| Passwortmanager mit Post-Quantum-Kryptografie | Teilweise | `apps/browser/vault.cjs`, `password-fill.cjs`, `tests/vault.test.mjs`, `tests/password-fill.test.mjs`: ML-KEM-1024/AES-GCM/scrypt und Windows-DPAPI, Idle-/Blur-Lock, gebundene HTTPS-Formfüllung. Kein Sync/Recovery/Passkeys, keine unabhängige Kryptografieprüfung oder FIPS-Modulvalidierung. |
|
|
|
|
| UI+pHash+korrekte Login-URL gegen unbekannte Domains | Teilweise | `packages/core/visual-hash.cjs`, `visual-image.cjs`, `apps/browser/visual-phishing.cjs`, `visual-capture.cjs`, `tests/visual-*.test.mjs`, Native-Smoke: echte Pixel, DCT-pHash, exakte erlaubte HTTPS-Origins, Quarantäne/Audit. Admin muss vertrauenswürdige Referenzen liefern; keine voreingestellte Google-Bibliothek. Kein Pre-Render-Block; Layout-/Sprache-/Iframe-/Evasion-Abdeckung und Fehlalarmrate nicht ausreichend evaluiert. |
|
|
|
|
| OpenTelemetry und SIEM-Standardexport | Teilweise | `apps/server/telemetry.mjs`, `siem.mjs`, `packages/core/siem.mjs`, `tests/telemetry.test.mjs`, `tests/siem.test.mjs`: OTLP Signals, dauerhafte Audit-/Dedup-Pfade, ECS/CEF-Cursor und HTTPS/mTLS-Push mit zentralem SIEM-Exportschalter. Keine Dokument-/Promptinhalte in regulären Events. Incident-Triage und standardmäßig deaktivierte Datenbank-Aufbewahrung implementiert. Incident-Belege und ausstehende SIEM-Exporte bleiben erhalten. Zentral signierte Browser-OTLP-Traces/Logs mit Laufzeiten und Trace-/Span-Korrelation sind jetzt integriert und mit realem Electron/Collector geprüft. Separater verschlüsselter Belegspeicher serverseitig vorhanden; Browser-Erfassung/Analystenansicht, detaillierte Python-Phasen, automatische Fälle, externe SIEM-/Datei-/Backup-Aufbewahrung und reale Kunden-SIEM-Tests bleiben offen. |
|
|
|
|
| Frei anlegbare Nutzerprofile und Funktionsrechte | Umgesetzt für unterstützte Profileigenschaften | `tests/user-profiles.test.mjs`, native DevTools-Prüfung und `artifacts/profiles-admin-proof.json`, `profiles-review-admin-proof.json`, `devtools-profile-proof.json`: beliebige Profile, verifizierte SSO-Subjekte oder Geräte, Kategorien/Allow-/Denylists, restriktive Konfliktregeln, explizite DevTools-Delegationsobergrenze, Dokumentpflicht und Download-/AI-/Agentenrechte. Kategorien sind administrierte Domainlisten; keine umfassende kommerzielle URL-Kategorisierungsdatenbank. Freigegebene DevTools sind ein privilegierter Vertrauensbereich mit bekanntem Clipboard-Ausnahmepfad. |
|
|
|
|
| Bibliothekskomfort und KI-Organisation | Teilweise | Suchbarer Bookmark-Manager, geschützte Firmenlinks, persönliche Ordner und native Tabgruppen. `apps/browser/library-organization.cjs`, `apps/server/library.mjs`, `tests/library.test.mjs`, `tests/library-organization-native.test.mjs`: kontrollierter Gateway, Minimalmetadaten, lokale/serverseitige DLP, versions-/revisionsgebundene Vorschläge, ausdrückliches Anwenden; zentrale Vorschlags-/Autoapply-Schalter und eigene Agent-Scopes. Atomare persönliche Backend-Bookmarks ersetzen keine verteilte Atomarität mit lokalen Tabs: Kontextwechsel nach Commit verlangt ausdrücklich Reconciliation. Leere Gruppenverwaltung, Bulk-Operationen und vollständiger nativer Gateway-End-to-End-Nachweis bleiben zu prüfen. |
|
|
|
|
| Office-Makrocode im Download-Scan | Umgesetzt für unterstützte VBA-Container | `docs/office-macro-inspection.md`, `apps/inspector/office_macros.py`, `artifacts/office-macro-flow-proof.json`: originale Bytes, entpackte VBA-Projekte/OLE-Streams und dekomprimierter VBA-Code werden gegen zentrale YARA-Regeln im AppContainer geprüft; Makros werden nie ausgeführt. Unmatched benign VBA erlaubt, Quellcode-Treffer blockiert. Zusatzextraktion zentral abschaltbar; aktiviertes ICAP bleibt Pflicht. XLM/XLSB, verschlüsselte/beschädigte Projekte, eingebettete Container, p-code/source-Äquivalenz und umfassende Obfuskationsanalyse bleiben Grenzen. |
|
|
|
|
| Cross Platform und Mobile | Bewusst später | Benutzer hat Windows priorisiert. macOS/Linux/Mobile sind keine jetzt fertigen Produkte, auch wenn Paketkonfiguration Zielnamen enthält. |
|
|
|
|
|
|
|
|
## Priorisierte To-do-Liste und Abnahmekriterien
|
|
|
|
|
|
|
|
### P0: aktuell sichere Bedienung und überprüfbare Verwaltung
|
|
|
|
|
|
|
|
- [x] Admin-Weboberfläche in klare Arbeitsbereiche aufteilen: Übersicht, Fleet, Policies, DLP/Teaching, KI, Infrastruktur, Bibliothek, Ereignisse. Aktive Navigation, Suche/Filter, leere/Fehler-/Ladezustände und verständliche Entwurf-/Veröffentlichungszustände. Abnahme: echte DOM-/Screenshot-Tests durchlaufen Template, Änderung, Veröffentlichung und Geräteaktion; Backend-Rechte bleiben unabhängig von UI.
|
|
|
|
- [x] Admin-Authentifizierung und Workflow serverseitig überprüfen: Session-Lifecycle, Schreibschutz gegen fremde Origins, sichere Header und minimaler Bootstrapbetrieb. Abnahme: nicht authentifizierte/fremde/abgelaufene Requests scheitern; erlaubte SSO-Session arbeitet über denselben kontrollierten API-Pfad.
|
|
|
|
- [x] Produktionsgrenzen in Konsole/README sichtbar machen. Abnahme: kein „gesund/sicher“-Status nur wegen gespeicherter Konfiguration; aktueller Device-/Scanner-/Policy-Nachweis und tatsächliche Bereitschaft werden unterschieden.
|
|
|
|
- [x] Windows-Parser-Isolation als AppContainer mit echten Token-, privaten Datei-/Runtime-Schreib-, TCP-/UDP-, Kindprozess-, Deadline- und Pipe-Grenztests implementiert. Broker/Worker getrennt, keine Parser im Broker; zwölf native Tests und echte lokale YARA/OCR/Gemma-Operationen bestanden. Freigegebene Systemressourcen und Windows-Paketprivatspeicher bleiben nutzbar. Das schließt keine unbekannten Sandbox-Exploits aus.
|
|
|
|
- [x] Separates Installer-/Service-Provisionierungstool und native lesende Prüfung vorhandener Package-SID-ACLs implementiert. Normaler Scannerstart ändert keine Rechte; fehlende/writable/konfliktierende ACLs scheitern. Paketierung provisioniert erst nach vollständigem Kopieren. Native Tests prüfen echten Workerstart bei verbotenem Provisionierungs-Unterprozess.
|
|
|
|
- [ ] Geschützte Program-Files-Installation unter einem separaten Standardbenutzer sowie unabhängiger Sandbox-Bypass-Test. Ein eigener Entwickleraccount-Nachweis ersetzt diese Produktionsabnahme nicht.
|
|
|
|
|
|
|
|
### P1: Unternehmensbetrieb und Umfang erweitern
|
|
|
|
|
|
|
|
- [x] Verbindliche unabhängige Policy-Freigabe über Deploymentflag, dauerhafte unveränderliche Entwürfe, Hash/Diff/Basisversion und unterschiedliche Administrator-Identität implementiert. Alle Veröffentlichungswege einschließlich Teaching, Blocklisten, Gerätescan und Wiederherstellung durchlaufen denselben Publisher. Eigenfreigabe, falscher Hash, veraltete Versionen und doppelte Freigabe scheitern; echte Admin-/Operator-UI-Prüfung bestanden.
|
|
|
|
- [x] Restriktive Gerätegruppen mit expliziter Mitgliedschaft, deterministischen Konfliktregeln, gruppenspezifischen Firmenbookmarks und signierter gerätgebundener effektiver Policy implementiert. Baseline bleibt zwingend; Browser, AI-Gateway und Bookmark-APIs prüfen die effektive Policy. Dynamische SSO-/SCIM-Gruppenzuweisung bleibt offen.
|
|
|
|
- [x] Unveränderliche Policy-Historie, Versionsvergleich und explizit geprüfte Wiederherstellung als neue Version implementiert. CAS, aktuelle Schema-/Bookmark-Prüfung, frisches Ablaufdatum und Backend-Rollen gelten; sechs Backendtests und echter Admin-UI-Workflow bestanden.
|
|
|
|
- [x] Expliziter Pilot-/Expanded-/All-Members-Rollout mit zentraler Vorschau, versionsgebundener Zweitfreigabe und gemeldeten Geräteversionen implementiert. Gruppenstände werden historisiert und als neue Generation wiederhergestellt. Gemeldete Versionsgleichheit ist keine Gesundheitsattestation.
|
|
|
|
- [ ] Automatische Rollout-Freigabe-/Stop-Regeln, prozentuale Ringe und dynamische IdP-/SCIM-Mitgliedschaft.
|
|
|
|
- [ ] Sichere immutable Freigabe von Dateiuploads und vollständige unterstützte Netzwerkkanäle im nativen Browser. Abnahme: kontrollierter Receiver erhält niemals nach dem Scan ausgetauschte Bytes; Frames/Worker/WebSockets/Streams sind explizit abgedeckt oder gesperrt.
|
|
|
|
- [ ] Vollständige Dokument-Render-/Attachmentprüfung, Audio-Transkription und Video-Frames im isolierten lokalen Worker. Abnahme: bekannte Secrets in jeder unterstützten Modalität und im Dateiende werden erkannt; unvollständige Coverage kann nicht freigegeben werden.
|
|
|
|
- [ ] Semantische Teaching-Evaluation mit erlaubten/verbotenen/adversarial Beispielen, Schwellen und Review. Abnahme: messbarer Kunden-Testdatensatz, kein automatisches Abschwächen durch Benutzerfeedback, Policy-/Modellrevision pro Entscheidung.
|
|
|
|
- [x] Echte native Tabs mit unabhängigen Inhalten/Historien, gepinnten Agent-Kontexten und Aktivierungsepochen integriert. Native Tests zeigen DOM-/Scroll-Erhalt, keine Reloads, DLP in beiden Tabs, Schließen und zentralen Widerruf aller Views.
|
|
|
|
- [ ] Unerwartete WebContents-Crashes, atomare Renderer-Aktionsfreigaben über den Dispatch-Zeitpunkt und weitergehende Native-Race-Proofs härten. Sichtbarkeits-/Fokusprüfung bei Passwortfüllung mit echten Views bestanden.
|
|
|
|
- [x] Incident-Administration mit Ereignisreferenz, Rollen, revisionsgebundener Triage, unveränderlichem Verlauf und reinen Metadaten-Audits implementiert; tatsächliche UI-/HTTP-Prüfung bestanden.
|
|
|
|
- [x] Opt-in Datenbank-Ereignisaufbewahrung mit aktuellem SIEM-Cursor, Incident-/Sigma-Referenzschutz und erhaltener Replay-Deduplication implementiert; atomarer Fehler-Rollback und echter abgeschlossener Incident geprüft.
|
|
|
|
- [ ] Vollständiger Daten-Lifecycle: Fall-/Notizablauf, Exportdateien, SIEM, Dedup-Ledger, Backups und sichere Wiederherstellung; Benutzer-/Geräte-Lifecycle und automatische Fallbildung.
|
|
|
|
|
|
|
|
### P2: Produktionsfreigabe mit externen Voraussetzungen
|
|
|
|
|
|
|
|
- [ ] Reale OIDC-, VPN-/Proxy-/DNS-, ICAP-/AV- und SIEM-Kundenumgebungen testen. Keine synthetische Fixture als Kundennachweis verwenden.
|
|
|
|
- [ ] Windows-Code-Signing, signierte Installer und verifizierter Updater mit Release-Ringen und Recovery. Zertifikat/Signierservice und Betrieb müssen bereitgestellt werden.
|
|
|
|
- [ ] Schlüsselcustody/Rotation und optional HSM; unabhängige Prüfung von Policykanal und Vault; keine Zertifikatsbehauptung ohne Prüfung.
|
|
|
|
- [x] Implementierungs-Threat-Model mit Vertrauensgrenzen, Angriffsfällen und konkreten Abnahmekriterien in `docs/threat-model.md` erstellt.
|
|
|
|
- [ ] Unabhängiges Penetrations-/Bypass-/Tenant-Isolation-Testprogramm, Chromium-Update-SLA und Incident-Reaktion.
|
|
|
|
- [ ] Modell-/OCR-/Drittsoftware-Lizenzen und vollständige Notices vor Distribution prüfen.
|
|
|
|
- [ ] Nach Windows-Abnahme: Plattformdesign für macOS/Linux, später Mobile; native Schutzgrenzen pro OS neu nachweisen.
|
|
|
|
|
|
|
|
## Admin-Architekturentscheidung
|
|
|
|
|
|
|
|
Eine getrennte Weboberfläche ist die vorhandene und sinnvolle Verwaltungsarchitektur: Kunden betreiben sie hinter HTTPS und Enterprise-SSO. Adminrechte entstehen ausschließlich im Management-Backend, nicht aus dem Browser-Client oder ausgeblendeten UI-Elementen. Ein zusätzlicher nativer Admin-Browser würde die fehlenden Rollen-, Transport-, Session- oder Auditkontrollen nicht ersetzen. Der Verwaltungszugang sollte kundenseitig auf berechtigte Benutzer/Netze beschränkt werden; Konfiguration allein ist keine Produktionsabnahme.
|
|
|
|
|
|
|
|
## In dieser Iteration umgesetzt
|
|
|
|
|
|
|
|
- Admin/Operator/Auditor-RBAC in `apps/server/admin-access.mjs`, `auth.mjs` und `app.mjs`: explizite Route-Permissions, neu berechnete Sessionrechte und default-deny für unbekannte Adminrouten. Operatoren können Geräte betreuen und Teaching-Entwürfe erstellen, aber keine signierte Policy veröffentlichen. Auditoren lesen ohne Schreibrechte. Nachweise: `tests/server.test.mjs`.
|
|
|
|
- Remote Shared-Token-Anmeldung abgeschaltet; lokale HTTP-Loopback-Entwicklung behält Bootstrap. Enterprise-SSO bleibt für echte Deployments erforderlich.
|
|
|
|
- Sessionübersicht und sofortige Sessionwiderruf-API im aktuellen Code; IDs sind opake UUID-Handles, keine Cookies/Tokenhashes. Nur Admin darf inventarisieren/widerrufen. Origin-geschütztes Logout. Neue Servertests enthalten Rechte, Token-Nichtoffenlegung und sofortige Ablehnung widerrufener Cookies; endgültiger Gesamtlauf wird vom Root berichtet.
|
|
|
|
- Admin-Konsole mit Navigation, Suchfiltern, Änderungenprüfung und eigenem Theme; tatsächlicher Electron-Proof bestätigt Review ohne Veröffentlichung, Filter, Theme-Persistenz, mobile Breite und Read-only-Controls.
|
|
|
|
- Windows Inspector-Job-Containment mit echtem Prozessbaum-/Owner-Exit-Nachweis. Dies verbessert Ressourcenbegrenzung, ist aber ausdrücklich keine Parser-Sicherheits-Sandbox.
|
|
|
|
|
|
|
|
## Verifikation
|
|
|
|
|
|
|
|
### Aktueller Integrationsstand: Windows-Isolation, Historie und Zweitfreigabe
|
|
|
|
|
|
|
|
- `npm test`: 196 bestanden, keine Fehler (`artifacts/governance-unit-tests.log`).
|
|
|
|
- Python: 47 insgesamt, 43 ausgeführt und bestanden, vier optionale Modelldateitests im Routinelauf übersprungen (`artifacts/governance-python-tests.log`).
|
|
|
|
- Zwölf echte Windows-Isolationstests plus tatsächliches YARA, RapidOCR und Gemma im isolierten Broker bestanden (`artifacts/windows-appcontainer-proof.json`). Beinhaltet verweigerten Broker-Speicherzugriff und normalen Start ohne ACL-Provisionierungsprozess.
|
|
|
|
- Vollständiger nativer Browser-Smoke nach isolierter YARA-Integration bestanden (`artifacts/governance-native-smoke.log`).
|
|
|
|
- Tatsächlicher semantischer Browser-Clipboard-Test bestanden (`artifacts/isolation-history-semantic-browser.log`), einschließlich erlaubtem öffentlichen Text und blockierter Paraphrase.
|
|
|
|
- Tatsächliche Admin-Historien-/Wiederherstellungs- und unabhängige Freigabe-Workflows bestanden; einschließlich Geräteaktion vor/nach Freigabe, Operator-Beschränkung und verweigerter Eigenfreigabe (`artifacts/policy-history-admin-proof.json`, `artifacts/independent-review-admin-proof.json`).
|
|
|
|
- JavaScript-Syntax geprüft. Windows-Paket neu erstellt, spezifische Runtime-ACLs nach dem Kopieren provisioniert und finale Paketprüfung bestanden (`artifacts/governance-package-verification.log`): aktuelle Sicherheitsmodule, echter isolierter Kaltstart ohne neue Bytecode-Dateien, lokale CPU-Inferenz, DPAPI und nativer Agent-Helper. Hauptprogramm weiterhin `NotSigned`.
|
|
|
|
|
|
|
|
Die erste isolierte YARA-Integration scheiterte an geschützten DLL-Dateirechten. Explizite vorhandene Datei-ACLs und ein echter YARA-Upload-/Download-Test schließen diese konkrete Lücke. Beim Clipboard-Test wurde eine dynamisch eingefügte Testauswahl korrekt abgelehnt, wenn ihre noch laufende visuelle Revision den Kontext änderte; der Harness wartet jetzt auf Dokument-/Visual-Prüfung, ohne Produktionskontrollen abzuschwächen. Normale Laufzeitprovisionierung wurde inzwischen durch rein lesende ACL-Prüfung ersetzt. Ein geschützter Standardbenutzer-Installer und unabhängige Sicherheitsbewertung bleiben offen.
|
|
|
|
|
|
|
|
Vor Integration existieren die Unit-/Native-Testdateien und Proof-Artefakte oben. Diese Audit-Arbeit hat selbst keine neue Gesamttestsuite ausgeführt; die oben genannten neuen Nachweise stammen aus tatsächlichen Agentenprüfungen oder werden als noch zu integrierender Gesamtlauf bezeichnet. Der orchestrierende Agent muss geänderte Features mit passenden Tests, tatsächlicher Admin-DOM-/Screenshot-Prüfung und Windows-Paketvergleich verifizieren und die endgültigen Ergebnisse separat berichten.
|
|
|
|
|
|
|
|
### Integrationsprüfung durch Root, 2026-10-13
|
|
|
|
|
|
|
|
- `npm test`: 183 bestanden, keine Fehler (`artifacts/audit-unit-tests.log`).
|
|
|
|
- Python-Tests: 34 insgesamt, 30 ausgeführt und bestanden, 4 optionale echte Modelltests in diesem Routinelauf übersprungen (`artifacts/inspector-audit-tests.log`). Enthält zwei echte Windows-Prozessbaum-/Breakaway-Tests.
|
|
|
|
- `npm run check` und Syntaxprüfung des korrigierten Semantic-Testharness: bestanden.
|
|
|
|
- Vollständiger nativer Browser-Smoke: bestanden (`artifacts/audit-native-smoke.log`), einschließlich Clipboard, Frame-Bypass, YARA vor Save, pHash, Teaching und Revocation.
|
|
|
|
- Separater realer Gemma-Browser-Test: bestanden (`artifacts/audit-semantic-smoke-retry.log`); paraphrasierter vertraulicher Inhalt blockiert (0,843945), öffentlicher Text zugelassen (0,509778), keine Rohtexte im zentralen Audit.
|
|
|
|
- Tatsächliche Admin-Electron-UI-Prüfung: bestanden; Nachweis `artifacts/enterprise-admin-proof.json`, Light/Dark/Mobile-Screenshots und Bookmark-UI-Smoke.
|
|
|
|
- Windows-Paket neu erstellt und geprüft: aktueller Sicherheitsquellstand, wirklich gestarteter Job-begrenzter Paket-Inspector, lokale CPU-Modellinferenz, DPAPI und nativer Agent-Helper (`artifacts/audit-package-verification.log`). Authenticode-Status des Hauptprogramms weiterhin `NotSigned`.
|
|
|
|
|
|
|
|
Ein korrigierter erster Scanner-Smoke deckte den isolierten Python-Importpfad auf: Sibling-Module werden jetzt vom tatsächlichen Service-Verzeichnis geladen. Der erste separate semantische UI-Test scheiterte beim Sichern einer leeren Zwischenablage; der Harness behandelt leere MIME-Listen und synchrone Cleanup-Aufrufe jetzt korrekt. Beide gezielten Wiederholungen bestanden. Produktionsgates oben bleiben ausdrücklich offen; diese Ergebnisse gelten für die ausgeführten Szenarien.
|
|
|
|
|
|
|
|
### Gruppen-Integration, 2026-10-13
|
|
|
|
|
|
|
|
- 203 JavaScript-Tests bestanden (`artifacts/groups-unit-tests.log`); vollständiger nativer Browser-Smoke bestanden (`artifacts/groups-native-smoke.log`).
|
|
|
|
- Echter Admin-Gruppenworkflow mit Pilot, Vorschau und ausdrücklicher Ausweitung bestanden (`artifacts/groups-admin-proof.json`).
|
|
|
|
- Native Upload-Probe zeigt unveränderte Bytes nach Dateiänderung, aber unsichere Cookie-Erweiterung beim Electron-Protocol-Forwarding. Deshalb keine Produktionsfreigabe dieses Ansatzes; Details in `docs/immutable-upload-feasibility.md`.
|
|
|
|
|
|
|
|
- Verpflichtende Gruppen-Zweitfreigabe im echten Operator-/Admin-UI-Workflow bestanden: Vorschlag unveröffentlicht, Mitglieder/Kohorte/Regeln sichtbar, unterschiedliche Identität veröffentlicht (`artifacts/groups-review-admin-proof.json`).
|
|
|
|
|
|
|
|
- Neuer Windows-Build mit Gruppenpolicy-Empfangsbindung erstellt; finale Paketprüfung einschließlich aktuellem Quellvergleich, isoliertem Scanner, lokalem Gemma, Agent-Helper und DPAPI bestanden (`artifacts/groups-package-verification.log`). Authenticode weiterhin `NotSigned`.
|
|
|
|
|
|
|
|
### Incident-Integration, 2026-10-13
|
|
|
|
|
|
|
|
- 220 JavaScript-Tests bestanden (`artifacts/incidents-unit-tests.log`), Syntaxprüfung bestanden. Zehn gezielte Incident-/Retention-Tests zeigen Rollen, CAS, atomaren Rollback und Belegschutz.
|
|
|
|
- Echter Incident-Admin-Workflow inklusive Auditor-403, erhaltener Konflikteingaben und literal dargestellter HTML-Notiz bestanden (`artifacts/incident-admin-proof.json`). Gruppen- und Historien-UI nach Integration erneut bestanden.
|
|
|
|
- Lokaler Managementdienst auf Port 4310 mit aktuellem Backend neu gestartet. Datenbank-Aufbewahrung standardmäßig aus; Details in `docs/audit-retention.md` und `docs/incident-management.md`.
|
|
|
|
- Native Tab-Registry mit sieben Lifecycle-/Kontexttests vorbereitet (`docs/native-tabs-integration.md`), aber noch nicht in Hauptprozess, Renderer, Clipboard und Agenten integriert. Echte Tabs bleiben offen.
|
|
|
|
|
|
|
|
### Native Tabs, First-Class-Agenten und Observability, 2026-10-13
|
|
|
|
|
|
|
|
- 253 JavaScript-Tests bestanden (`artifacts/first-class-agent-unit-tests.log`). Vollständiger nativer Browser-Smoke inklusive echter Agent-App-/Settings-/Bookmark-/Tab-Aktionen bestanden (`artifacts/first-class-agent-native.log`, `artifacts/smoke-entry.txt`).
|
|
|
|
- Echte Tab- und OTLP-Collector-Proofs bestanden (`artifacts/native-tabs-proof.json`, `artifacts/native-tabs-receiver-proof.json`, `artifacts/native-browser-diagnostics-proof.json`). Parent/Child, Laufzeiten, korrelierte Logs und Deaktivierung nach Widerruf geprüft.
|
|
|
|
- Zentrale Diagnostik-Felder und neue Agent-Berechtigungen im echten Admin-UI veröffentlicht und Auditor-Schreibschutz geprüft (`artifacts/enterprise-admin-proof.json`).
|
|
|
|
- Verschlüsselter forensischer Server-Belegspeicher mit Deployment-Key, authentisierten Ereignisreferenzen, auditierter Entschlüsselung, Ablauf/Incident-Hold und neun HTTP-Tests implementiert (`docs/protected-evidence.md`). Nicht automatisch aktiviert: Browser-Erfassung, zentrale Sammelregeln und Analystenansicht fehlen.
|
|
|
|
- [ ] Vollständige forensische Browser-Erfassung: Downloadname/Quelle/Hash, menschliche Klickziele und Clipboard-/Form-Abläufe; relevante vertrauliche Inhalte kontrolliert verschlüsseln, Passwort-/Authentisierungsfelder nativ ausnehmen; Analystenansicht, SIEM-Belegreferenzen und physischer Daten-Lifecycle.
|
|
|
|
- [ ] Per-Agent-Identitäten, individuelle Widerrufe und umfassendere UI-/History-/Screenshot-Funktionen. Kryptografischer Request-Besitznachweis und Replay-Schutz sind inzwischen ergänzt; DPAPI-/Loopback-Pairing vertraut weiterhin Prozessen desselben Windows-Benutzers und ersetzt kein individuelles Delegationsmodell.
|
|
|
|
- [ ] Durchgehende Python-interne OCR-/YARA-/Gemma-Spans und Control-Plane-Codepfade instrumentieren; gegenwärtige Browser-Spans messen den lokalen Inspector-Aufruf, nicht alle internen Phasen.
|
|
|
|
- Anforderungen aus der jüngsten Nutzerpräzisierung stehen in `docs/agent-observability-requirements.md`: Vertraulichkeit darf relevante Security-Belege nicht unterdrücken; operationales Debug und geschützte Forensik sind getrennte Pfade.
|
|
|
|
- Windows-Paket mit stabilem Quellstand neu erstellt und vollständig geprüft (`artifacts/native-tabs-package-verification.log`), weiterhin `NotSigned`. Der erste parallele Build hatte eine während der ASAR-Erstellung geänderte Datei; neue Vor-/Nach-Quellprüfung verhindert die Abnahme solcher Artefakte.
|
|
|
|
|
|
|
|
|
|
|
|
### Aktualisierung: Agenten, Makros, Firmenbranding und Profile, 2026-10-13
|
|
|
|
|
|
|
|
Diese Nachprüfung hat aktuelle Quellen, benannte Tests und gespeicherte echte Laufzeit-Proofs gelesen. Sie hat keine neue Gesamttestsuite und keinen neuen Windows-Build ausgeführt; vorherige numerische Testergebnisse weiter oben sind historische Stände.
|
|
|
|
|
|
|
|
- `artifacts/native-browser-diagnostics-proof.json`: 98 Browser-/Backend-Spans, 88 Logs, sieben nachgewiesene Browser→Backend-Trace-Ketten, Laufzeiten und korrelierte Logs; sensible Testmarker nicht exportiert. Dies beweist die gemessenen Pfade, keine vollständige Instrumentierung sämtlicher Codezeilen.
|
|
|
|
- `artifacts/agent-pq-trace-proof.json`: sieben getrennte Agent-Stufen, insgesamt 124 Timing-Spans. Der Transport bietet hybride Signaturen, PQ-Key-Establishment, AEAD und Replay-Abwehr; das ist kein unabhängiges Kryptografieaudit.
|
|
|
|
- `artifacts/office-macro-flow-proof.json`: echter enthaltener Scan eines benignen VBA-Projekts erlaubt und desselben Projekts mit Source-YARA-Marker blockiert; jeweils fünf Module und vollständiger Extraktionsstatus.
|
|
|
|
- `artifacts/company-branding-admin-proof.json`: echte Admin-DOM-Prüfung für Logo, News und korrekt eingeordneten Startseitenbereich. `tests/branding.test.mjs` prüft signierte Geräteverteilung und authentisierte News. Feed-SSRF/DNS-/XML-Grenzen liegen in `tests/company-news.test.mjs`; Screenshots allein beweisen sie nicht.
|
|
|
|
- `tests/user-profiles.test.mjs` deckt freie Profile, verifizierte Identität, restriktive Konflikte, Delegationsobergrenze, Zweitfreigabe/CAS/Historie und gefälschte Enrollment-Subjekte ab; native UI-/DevTools-Proofs ergänzen die Quelltests.
|
|
|
|
- `tests/library.test.mjs` deckt kontrollierte Vorschläge/Apply, zentrale Abschaltung, schädliche Modellantworten, Policywechsel, CAS und begrenzte parallele Vorschläge ab. Vollständige verteilte Browser-/Backend-Atomarität wird ausdrücklich nicht behauptet.
|
|
|
|
- Dauerhafte Entwicklungsanweisung in `AGENTS.md`: Collector und tatsächliche Exporte/Trace-Ketten für weitere Änderungen nutzen. Python-interne OCR/YARA/Gemma-Phasen bleiben instrumentierungsbedürftig.
|
|
|
|
|
|
|
|
### Die nächsten drei Funktionslücken
|
|
|
|
|
|
|
|
1. **Vollständige sichere KI-Steuerung:** History, sichere Screenshots, komplexere Formularaktionen und individuelle Agent-Pairings mit separatem Widerruf. Abnahme mit echten Native-Aktionen, zentraler Abschaltung während laufender Aktionen, Passwort-/Token-Ausnahme, DLP vor Ausgabe und Replay-/Cross-Agent-Negativtests.
|
|
|
|
2. **Geschützte Security-Rekonstruktion:** native Erfassung relevanter Klick-/Download-/Clipboard-Abläufe, zentrale Sammelregeln, verschlüsselte Content-Belege und Analystenansicht. Der vorhandene Server-Belegspeicher ist kein vollständiger Browser-Erfassungsweg. Abnahme mit Security-relevanter Vertraulichkeit, nativer Authentisierungsfeld-Ausnahme, auditierter Entschlüsselung, Retention/Hold und SIEM-Belegreferenzen.
|
|
|
|
3. **Lokale Prüfcoverage und genaue Debug-Phasen:** Python-interne Parser/OCR/YARA/Gemma/Makrospans plus explizite Attachment-/Media-Coverage; unvollständige Prüfung bleibt blockiert. Abnahme durch reale isolierte Requests und exportierte gekoppelte Laufzeiten, sowie dokumentierte unterstützte Modalitäten. Immutable Dateiuploads bleiben parallel eine wesentliche native Enforcement-Lücke.
|
|
|
|
|
|
|
|
Ein aktueller Windows-Build muss nach Abschluss der Quellenänderungen separat neu paketiert und gegen den Quellstand geprüft werden. Kein Paketnachweis wird aus früheren Builds abgeleitet.
|
|
|
|
|
|
|
|
## Aktueller Windows-Paketnachweis
|
|
|
|
|
|
|
|
Am 2026-10-13 wurde der aktuelle Quellstand erneut mit `npm run package:win` paketiert und mit `npm run verify:package` geprüft. Beide Befehle bestanden. Die Paketprüfung vergleicht die neuen Agent-/Branding-/Bibliotheks-/Transfer-Komponenten exakt mit dem Quellstand und führt enthaltene Dokumentprüfung, fünf echte VBA-Module mit Allow-/Block-Regeln, Offline-EmbeddingGemma-2-CPU-Inferenz sowie den gepackten DPAPI-/PQ-Agent-Client aus. Nachweis und SHA-256: `artifacts/current-windows-build-proof.json`; vollständiger Lauf: `artifacts/current-windows-package-proof.log`. Die Binärdatei ist laut Windows-Authenticode-Prüfung **NotSigned**. Das ist ein geprüftes unpacked Entwicklungspaket, keine Produktionsfreigabe. Frühere Abschnitte, die den neuen Build als ausstehend bezeichnen, werden durch diesen konkreten Nachweis ersetzt.
|
|
|
|
|
|
## Formularsteuerung: aktuelle Iteration
|
|
|
|
Select/check und begrenzte Options-/Checkbox-Metadaten sind zentral einzeln freizugeben. 49 gezielte Agent-Tests und 323 Regressionstests bestanden. Im nativen Lauf bestanden die Formularaktionen; die längere Suite erreichte danach das Rate-Limit. Der Test wurde an das bestehende Budget angepasst, ohne Produktionslimits zu lockern. Ein neuer Windows-Build ist separat in Prüfung.
|
|
|
|
Formulariteration: aktueller Windows-Build und Paketprüfung bestanden (`artifacts/forms-package-proof.log`). Acht reale select/check-Timing-Spans sind in `artifacts/forms-trace-proof.json` belegt. Die Binärdatei ist weiterhin unsigniert.
|
|
|
|
Der abschließende tatsächliche Electron-Smoke-Lauf bestand mit aktivierten Traces (`artifacts/forms-native-final.log`), einschließlich select/check, sensibler Optionsverweigerung, Clipboard-/Download-DLP, Proxy, Teaching und zentralem Widerruf. Das Request-Limit wurde unverändert gelassen; der Test verteilt seine PQ-Aufrufe innerhalb des Budgets.
|
|
|
|
## Native KI-History-Navigation
|
|
|
|
Die zentral einzeln freizugebenden Aktionen back/forward/reload verwenden Chromiums native navigationHistory, ohne frei vorgegebene Ziele oder Seiten-JavaScript. Snapshot-Prüfung vor Dispatch und erneute Identitäts-/Policy-/Zielprüfung nach Navigation sind integriert. 335 Regressionstests, zehn gezielte Native-History-Tests und der echte Electron-Lauf bestanden (`artifacts/history-native-smoke.log`); exportierte Agent-Timings stehen in `artifacts/history-trace-proof.json`. Das ersetzt nicht persistente History-Suche/-Verwaltung, die weiter offen bleibt. Ein aktueller Windows-Paketnachweis wird separat geprüft.
|
|
|
|
Windows-Build und Paketprüfung für diese History-Iteration bestanden (`artifacts/history-windows-build.log`, `artifacts/history-package-proof.log`), einschließlich exaktem Vergleich des neuen History-Helpers. Windows-Authenticode: weiterhin NotSigned.
|
|
|
|
## Python-interne Debug-Traces
|
|
|
|
Acht feste Worker-Stufen (inspect/parse/ocr/ocr.load/yara/macros/semantic/semantic.load) liefern Debug-only-Timings über die vorhandenen privaten Pipes. Browser und Backend erzeugen historische Child-Spans unter der aktiven Trace-Kette, ohne Python-Netzwerkrechte. Vier Python-Timing-Tests, neun tatsächliche SDK-/OTLP-Tests und 339 Regressionstests bestanden. Ein echter AppContainer-Lauf mit OCR, VBA und Offline-Gemma lieferte 19 nachgewiesene Export-Spans (`artifacts/inspector-stages-real-proof.json`, `artifacts/inspector-stages-export-proof.json`). Der aktuelle Windows-Build wird separat geprüft. Einzelne native Modellkernels und sämtliche Parser-Unteroperationen sind weiter keine vollständig instrumentierte Call-Graph-Ansicht.
|
|
|
|
Windows-Build und Paketprüfung dieser Inspector-Trace-Iteration bestanden (`artifacts/inspector-stages-windows-build.log`, `artifacts/inspector-stages-package-proof.log`). Der gepackte Scanner liefert inspect/parse/yara/macros als geprüfte Metadaten; aktuelle Browser-/Core-/Python-Dateien stimmen exakt überein. Authenticode weiterhin NotSigned.
|
|
|
|
## Geschützte Incident-Belege und Analystenansicht
|
|
|
|
Metadata-Discovery und expliziter zweckgebundener Viewer sind jetzt verbunden. OIDC_ANALYST_GROUP liefert eine begrenzte Analystenrolle. Windows-Schlüssel-ACLs werden vor dem Laden geprüft; Quelle/Action/Decision/Hash/Größe und Inhaltshash werden auf verfügbare Widersprüche geprüft. 353 Tests, tatsächlicher Electron-Beleg-Viewer (`artifacts/evidence-ui-proof.json`) und acht exportierte HTTP-Spans (`artifacts/evidence-telemetry-proof.json`) sind verifiziert. Der neue Windows-Build/Paketcheck bestand, einschließlich korrigierter OLE-Transfer-Fakten. Binärdatei weiterhin NotSigned. Native automatische Belegerfassung, zentrale Sammelregeln und eine manipulationsnachweisbare Audit-Kette bleiben offen.
|
|
|
|
|
|
### Audit integrity implementation, 2026-10-13
|
|
|
|
Security event/Sigma commits now include chained exact-row digests. Optional externally protected ML-DSA-87 signing, explicit legacy seal, integrity API/admin verification, ECS envelopes and authorized retention proofs are implemented. Missing/different signing keys and corrupt chains fail startup. See [audit-integrity.md](audit-integrity.md). Independent checkpoint delivery, key rotation, large-scale incremental verification and chain compaction remain open; local verification alone does not prove resistance to whole-database rollback.
|
|
|
|
Verification for this increment: 367 tests passed in artifacts/audit-full-tests.log; final store integration focused tests passed; real Electron success/manipulation UI and exported parent/child trace IDs in artifacts/audit-ui-proof.json; Windows package and packaged security/native offline model verification passed in artifacts/audit-windows-build.log and artifacts/audit-package-proof.log. Management service restarted on current source. Installer Authenticode remains unsigned pending a production signing identity.
|
|
|
|
|
|
### Outbound request audit privacy, 2026-10-13
|
|
|
|
Generic outbound bodies now emit only request size/type, without SHA-256 fingerprints. Browser legacy encrypted queues and central legacy ingestion remove old upload fingerprints before replay/storage; ECS/CEF suppress historical upload hashes while preserving counts/type. Download file hashes remain. Historical immutable central records and already exported archives are not retrospectively erased. See [request-audit-privacy.md](request-audit-privacy.md). Independent review and 376 tests pass; native/runtime proof is being exercised separately.
|
|
|
|
Verification completed: 376 tests passed (artifacts/request-full-tests.log), native Electron smoke passed after correcting a fixture-only header initialization error (artifacts/request-privacy-smoke.log), actual synthetic credential request no-content/no-hash audit proof in artifacts/request-privacy-native-proof.json. Collector trace ac8660ae584e3ab502d53d304823861e shows browser.request 165.13 ms, local scan 155.54 ms, nested inspector/YARA stages and enterprise scan; saved in artifacts/request-privacy-trace-proof.json. Windows build and packaged native/offline-model verification passed (artifacts/request-windows-build.log, artifacts/request-package-proof.log). Management restarted with current ingestion code.
|
|
|
|
|
|
### Centrally managed automatic download metadata evidence, 2026-10-13
|
|
|
|
Signed default-off evidence controls, native terminal download metadata builder, atomic DPAPI event/evidence tuple, event-first replay, fresh server policy checks and exact-payload idempotency are implemented. Admin draft controls have actual Electron UI/OTEL proof. Full native capture verification is in progress; automatic interaction/content evidence and PQ evidence-upload transport remain open. See [automatic-download-evidence.md](automatic-download-evidence.md).
|
|
|
|
Verification completed for this increment: 395 tests passed (artifacts/evidence-capture-full-tests.log), JavaScript syntax checks passed, latest full Electron smoke completed successfully (artifacts/evidence-capture-native.log), actual allow/block encrypted download evidence and audited access proved (artifacts/download-evidence-native-proof.json), centrally signed disablement preserving ordinary audit proved in a focused native run with exit code 0 (artifacts/download-evidence-focused-proof.json). Actual admin draft/role UI and OTEL request proof in artifacts/evidence-policy-ui-proof.json; screenshot visually reviewed. Windows build and packaged native/offline-model verification passed; installer still unsigned. Earlier full attempts exposed premature test navigation before save completion and intermittent bookmark/vault readiness failures; save fixture now waits for terminal completion and static agent diagnostics are more precise. The latest full pass does not establish absence of all timing races.
|
|
|
|
|
|
### PQ evidence transport and authenticated agent status, 2026-10-13
|
|
|
|
The previously open PQ evidence-upload transport now has a distinct ML-KEM-1024/ML-DSA-87 + Ed25519/AES-GCM/HKDF-SHA384 profile. Browser submission and acknowledgement are encrypted, one-use challenges are device-bound, current collection policy is checked after decrypt, and automatic submission never falls back to plaintext. Production/required-PQ configurations refuse legacy plaintext ingestion. Device bearer authentication and current SQLite-backed server signing-key custody remain production limits. See [evidence-pq-channel.md](evidence-pq-channel.md).
|
|
|
|
Agent response status is now authenticated inside the encrypted response. The previously observed bookmark synchronization busy case permits at most three fresh-challenge retries only when the mutation has not begun, preserving exact CAS/policy inputs; all other failures remain nonretryable. Real cryptographic HTTP-header manipulation tests verify status binding. Native/package verification is in progress.
|
|
|
|
Verification completed: 416 tests passed (artifacts/evidence-pq-full-tests.log); full native browser smoke passed (artifacts/evidence-pq-native.log). Actual native wire inspection confirmed two encrypted evidence submissions with no source URL, filename or file hash in the outer request body, while plaintext submission was disabled (artifacts/evidence-pq-wire-proof.json). Eight exported crypto spans cover all four named phases with their actual normalized HTTP parents (artifacts/evidence-pq-trace-proof.json): first challenge 2.70 ms, decrypt 1.02 ms, store 7.10 ms. Windows build and packaged security/native-model verification passed; binary remains NotSigned. Source and integration review found no blocking channel-binding or downgrade defect; this is not a substitute for an independent production security assessment.
|
|
|
|
### Outgoing HTTP headers and complete restore review, 2026-10-13
|
|
|
|
The privileged session now inspects the bounded final header snapshot, including Cookie and Authorization, before HTTP data release. Individual values, joined values and the complete serialized snapshot pass the existing central detectors; enabled local semantic/YARA and upload ICAP checks require complete coverage. Context, policy, expiry and deadline changes block release. The approved immutable snapshot is returned to Chromium. No header values, names or credential fingerprints enter ordinary audit or traces. See [header-dlp.md](header-dlp.md). This proves exposed HTTP headers, not arbitrary transformed covert channels or subsequent WebSocket frames. A timed-out scan blocks but currently lacks a distinct durable timeout audit reason.
|
|
|
|
Policy-history restoration now renders user-profile/category differences as well as baseline and groups. Missing or truncated profile differences prevent approval; verified-subject/device assignments, website access and DevTools grants are visible before restoration. Six focused shipped-code tests and the actual Electron admin UI prove rendering and draft-only review (artifacts/history-profile-ui-proof.json and history-profile-ui.png); request trace ec25d702216af46ee29660f4c5bf6620 took 2.14 ms.
|
|
|
|
Verification: 428 tests passed (artifacts/header-dlp-full-tests.log), syntax checks passed, and the full actual Electron smoke passed (artifacts/header-dlp-native.log). The isolated receiver saw no prohibited header request and exactly one clean request; ordinary audit retained no header names/values (artifacts/request-headers-native-proof.json). Exported browser.request.headers span b31ea58c84c72ba8 took 0.27 ms beneath its actual browser.request parent in trace 85f181677440aaa821b9dca0050dc3ce (artifacts/request-headers-trace-proof.json). Windows build and packaged source/security/offline-model verification passed (artifacts/header-dlp-windows-build.log, artifacts/header-dlp-package-proof.log). Authenticode remains NotSigned. These checks do not close the remaining native upload binding, full agent identity/control, automatic interaction evidence, key custody, customer integration and production deployment requirements.
|
|
|
|
### Structured category management and Windows upload binding proof, 2026-10-13
|
|
|
|
Website categories now have accessible name, stable-ID and hostname controls instead of mandatory JSON. Draft edits survive refresh with their original CAS version; publication/independent approval remains explicit. Published IDs are read-only, referenced removal is refused and explained, and read-only roles cannot edit. The actual Electron UI verifies explicit backend publication and refreshed profile choices, draft retention, reference restrictions and responsive layout (artifacts/category-ui-proof.json and category-ui.png/category-ui-responsive.png). Actual configuration PUT trace c93f6e18e16fc8644f23bad169e33123 took 28.91 ms with its expected parent. See [website-categories.md](website-categories.md).
|
|
|
|
Header timeout cancellation now adds a static durable audit reason. Three tests execute the shipped native hook and prove exactly-once cancellation, rejection of late scanner approval, and no release when audit fails. This supersedes the preceding timeout-audit limitation.
|
|
|
|
434 tests, syntax checks and the full native Electron smoke passed (artifacts/category-admin-full-tests.log, category-admin-syntax.log, category-admin-native.log). A fresh actual header trace c1e027d9456b107e8f766e4f115f3443 proves its exported parent/child timing (artifacts/category-admin-header-trace-proof.json). Current Windows build and packaged source/security/offline-model verification passed (artifacts/category-admin-windows-build.log, category-admin-package-proof.log); binary remains NotSigned.
|
|
|
|
For the native upload gap, an isolated actual Electron 44.7.0 multipart experiment proved that restrictive Windows leaf plus ancestor handles can preserve file bytes while Chromium reads and sends its original request. Overwrite/hardlink/rename attempts failed; receiver bytes and omit/include cookie semantics remained correct; handles stayed held until matching terminal events (artifacts/upload-lock-native-proof.json). This is an implementation candidate, not product support: production reparse/path identity checks, bounded scanning of each file and multipart segment, cancellation/helper-death/redirect lifecycle and negative native tests are still required. Data-pipe and streaming paths remain separately open. See [immutable-upload-feasibility.md](immutable-upload-feasibility.md). The next implementation priority is this verified Windows ordinary-file path, alongside individual agent identity/control and protected interaction evidence; the full original objective remains incomplete.
|
|
|
|
### Managed Windows file uploads and actionable debug reasons, 2026-10-13
|
|
|
|
Ordinary canonical local NTFS full-file uploads are now integrated in the managed browser. The bounded private helper rejects reparse/network/device/alternate-stream paths and incompatible writable handles/mappings, verifies handle-derived path/volume/file identity and reads through the held handle. Main-process DuplicateHandle copies keep the locks alive independently of the helper. File magic, per-file and multipart DLP, enabled local scanners and upload ICAP precede release of the original Chromium request. Only matching native terminal events permit one-shot remote handle cleanup; helper/protocol or uncertain cleanup failures remain fatal across policy refresh. Range/data-pipe/streaming and changed-destination upload redirects remain blocked. See [windows-file-uploads.md](windows-file-uploads.md). This supersedes earlier statements that all ordinary file uploads remain blocked or are merely a prototype.
|
|
|
|
454 tests pass (artifacts/native-upload-full-tests.log), including real Windows overwrite/hardlink/rename/mapping/junction tests, helper-death parent-lock survival and strict cleanup, gate binding and native deadline tests. Actual managed Electron receiver tests prove exact allowed bytes once, confidential-file non-arrival and no content/body fingerprints in ordinary audit (artifacts/native-file-upload-proof.json). The full native smoke passed after narrowing top-level empty GET source binding to the same live guarded tab owner, preserving document-generation binding for data-bearing requests and all target/policy/DNS/header checks (artifacts/native-upload-final.log). Earlier long runs failed in visual/clipboard transitions; exact fixture diagnostics and request-context audit reasons were added, and the source-owner fix has three focused tests. This is not proof that every timing race is absent.
|
|
|
|
Subsequent observability changes have an additional actual-product helper-death/redirect/terminal-cleanup run with exit 0 and fatal quarantine surviving policy refresh (artifacts/upload-lifecycle-native-proof.json). Fixed safe reasons now export in spans and correlated logs; arbitrary rule strings, exception details and injected secrets are rejected. Trace e6d26d4edf738a7b4f6f562ab2112f5b contains browser.upload.fault span d1340482efba0711 under its original lease parent, reason upload-lease-lost, two matching logs and the actual durable event correlation; fault phase 36.27 ms (artifacts/native-upload-fault-trace-proof.json). Ordinary file lease/part stages and separate terminal cleanup timings are also exported (artifacts/native-upload-trace-proof.json). Durable security audit and protected forensic evidence remain distinct from diagnostic logs.
|
|
|
|
The final Windows build and packaged runtime/source verification passed, including the shipped upload helper's actual immutable snapshot/write/rename/cleanup checks (artifacts/native-upload-windows-build.log, native-upload-package-proof.log). Syntax checks pass; Authenticode remains NotSigned. Browser-main/network-service crash semantics, other filesystems, external customer integrations, individual agent identities/full control, automatic interaction evidence and production key custody remain unproven or incomplete. Development collector storage is finite and nearing its local budget; retention/rotation is a next observability maintenance task, not a claimed production SIEM capability.
|
|
|
|
### Structured agent audit and protected collector rotation, 2026-10-13
|
|
|
|
Existing local agent actions now carry strict action/scope/outcome facts and an optional requested session UUID. Scope must match the fixed action map; arguments, selectors, prompts, tokens and fabricated principal IDs are rejected. Legacy rule IDs remain for compatibility. Completion/failure audit phases have recording spans, and native control distinguishes failed requests from policy denials without claiming that a completed side effect was undone. ECS includes safetynet.agent and reports failed outcomes as failure; CEF uses existing standard custom-string slots without overwriting trace or audit-integrity references. Native proof confirms read completion scope/session and blocked sensitive-field execution with the field unchanged and no argument content in audit (artifacts/structured-agent-audit-native-proof.json). The blocked adapter in this fixture reports an untyped error, so its outcome is truthfully failed. The first fixture incorrectly waited only for denied; it was corrected to check both legitimate unsuccessful outcomes, retaining strict non-mutation/API-failure assertions. Trace f8e35fd442e718995d9274c646fb8e08 contains the recording completion-audit span and backend parent/child path (artifacts/structured-agent-audit-trace-proof.json).
|
|
|
|
The protected development collector now rotates before exceeding exact segment bytes, keeps two generated retired segments and pins the previous encrypted archive permanently. Default rolling budget is 150 MiB plus the pinned legacy size. Unsafe/reparse/hardlinked/unexpected files fail closed, and malformed span/hierarchy input is rejected before storage or counter changes. This is development telemetry retention, not security-evidence deletion policy. The live collector was upgraded after a verified encrypted backup. Real SDK traffic caused a rotation; SHA-256 comparison confirmed all 47,201,892 original encrypted bytes remain as the unchanged prefix of the 52,424,920-byte pinned segment, with zero rejected writes (artifacts/collector-live-rotation-proof.json). Readiness/trace lookup is process-local and does not rehydrate archive history. See [development-collector-retention.md](development-collector-retention.md).
|
|
|
|
468 regression tests, the full actual Electron smoke, syntax checks, Windows build and packaged runtime/source verification passed (artifacts/agent-audit-full-tests.log, agent-audit-native.log, agent-audit-syntax.log, agent-audit-windows-build.log, agent-audit-package-proof.log). Management and the protected collector run the updated sources. Installer Authenticode remains NotSigned.
|
|
|
|
Individual agent identity/expiry/targeted revocation is still absent: all current callers share the paired browser capability. The verified source audit and integrated acceptance contract are in [individual-agent-identities.md](individual-agent-identities.md). The next implementation must connect signed grants, individual protected credentials, principal-owned challenges, running-operation revocation, central admin review and structured principal attribution together; a disconnected registry or a surviving full-permission legacy capability would not satisfy that requirement. Other original production and full-browser-control gaps remain open; this increment does not complete the overall objective.
|
|
|
|
|
|
### Individual agent grants and correlated RPC diagnostics, 2026-10-13
|
|
|
|
This supersedes the preceding shared-capability-only status. Source integration
|
|
now includes signed individual grants, central draft editor, separate DPAPI
|
|
pairing descriptors, principal-owned challenges/proofs, per-identity revocation,
|
|
expiry/generation checks, persistently remembered generation floors, intersected
|
|
scope/host checks and verified principal attribution in audit/ECS/CEF. Forged
|
|
proofs remain unattributed. Legacy compatibility is an explicit central mode;
|
|
individual mode has no shared master credential. The trusted shell selects an
|
|
existing approved identity. Main policy reconciliation preserves unchanged peers
|
|
while invalidating changed authority. Stored AI organization proposals are checked
|
|
against the applying actor before central commit.
|
|
|
|
Actual Electron proof exercises both rendered grant selections, two different
|
|
credentials, forbidden actions, targeted revocation with unaffected peer,
|
|
allowed navigation, forbidden direct/redirect targets with zero receiver
|
|
requests, generation rollback rejection across two browser processes, stale
|
|
pairing rejection, and native OTEL request parent/child correlation linked to
|
|
structured actor audit. Screenshot was visually reviewed. Proof:
|
|
`artifacts/individual-agent-native-proof.json` and `individual-agent-pairing-ui.png`.
|
|
Admin draft/auditor workflow has separate `agent-grants-ui-proof.json` evidence.
|
|
|
|
Individual mode currently blocks browser-session requests lacking a guarded
|
|
native tab owner. Native proof confirms zero ownerless receiver requests even
|
|
after human address navigation, while owned tab fetch still succeeds. This is
|
|
containment, not complete actor attribution for service workers. Reliable
|
|
background-worker ownership or actor session isolation remains an open task.
|
|
The same-user DPAPI capability boundary remains; no executable identity is claimed.
|
|
A real management-server integration test now proves distinct reviewer publication, author self-approval denial, auditor denial, grant review diffs, signed publication, generation rotation and historical restore; the device floor rejects older generations. Expanded grant-specific native admin publication/history UI coverage remains open. Windows build and packaged-source/runtime verification pass, including the shipped individual DPAPI/PQ client. The final suite passes 496 tests; the contained parser, native upload leases and offline semantic inference were verified. Authenticode remains NotSigned. Logs: `artifacts/individual-final-tests.log`, `individual-windows-build.log`, `individual-package-proof.log`.
|
|
|
|
Other original production and full-control requirements remain open, including
|
|
protected interaction/content forensic capture, broader agent capabilities,
|
|
native streaming/ranged uploads, device authentication/key custody and rotation,
|
|
signed production distribution, external customer integrations and platform
|
|
expansion. This increment does not complete the overall goal.
|
|
|
|
Final current-source full Electron smoke passed in
|
|
`artifacts/individual-integration-native-final.log`. The local management service
|
|
was restarted only after process/listener identity verification and its health
|
|
check passes; the protected collector remains healthy with zero rejected writes.
|
|
Grant publication integration is covered by `tests/agent-grants-publication.test.mjs`.
|
|
|
|
## Protected interaction and debugging increment
|
|
|
|
Default-off signed interaction capture now records confirmed guarded clipboard
|
|
operations and completed agent clicks as protected metadata, with exact
|
|
device/event/action/session binding. Native proof verifies analyst decryption,
|
|
audited access, independent review, live selective disable and continuing download
|
|
metadata capture. General physical-click replay and controlled content capture
|
|
remain open. See `docs/interaction-evidence.md`.
|
|
|
|
Agent session titles now pass aggregate DLP inspection before export; credential
|
|
titles are masked and an actual native confidential-title proof preserves the
|
|
session ID. Legitimate credential form-submission exceptions remain unverified.
|
|
|
|
Evidence delivery has correlated capture/challenge/encrypt/send/ack/store phases.
|
|
Policy reconciliation adds fixed named verification/bookmark/page/agent/audit
|
|
phases. Export failure totals survive disable/reconfiguration within the process.
|
|
Signed policy continues to govern telemetry; pre-enrollment startup uses bounded
|
|
local snapshots rather than unauthorized export. These changes have 520 passing
|
|
tests, including actual OTLP and signed policy fixtures. Final verification after
|
|
service-attributed native diagnostics tests passes 522 tests. The actual native
|
|
browser proves diagnostic export stops on revocation; Windows build and packaged
|
|
source/runtime verification pass. Production completeness
|
|
and the broader original open requirements are not implied.
|
|
|
|
## Foreground gesture evidence and reviewed agent history
|
|
|
|
The browser now observes trusted foreground main-document clicks and
|
|
gesture-associated submit events in a private isolated world. Signed evidence
|
|
policy controls collection; sensitive forms, synthetic events and raw values
|
|
are excluded. New server event/source validation accepts only matching observed
|
|
click/submit facts. ECS explicitly reports an unknown outcome rather than claiming
|
|
successful transmission. Bounded collection and coverage limitations are described
|
|
in `docs/interaction-evidence.md`; this is not full replay or content capture.
|
|
|
|
Actual native proof verifies seven protected records, seven audited analyst
|
|
reveals, synthetic `click`/`dispatchEvent`/`requestSubmit` exclusion, password-form
|
|
exclusion, independent reviewed disable and continued scanned download evidence.
|
|
First failures identified the missing server event enum; subsequent trace checks
|
|
identified shared flusher context attributing two queued records to one source.
|
|
Both are fixed and negative/real-OTLP tests added. Each queued record now resumes
|
|
its own validated trace parent. All three actual human events have 17 correlated
|
|
spans each (`artifacts/human-interaction-trace-proof.json`). A visual DOM
|
|
reinspection does not imply another document; true document, activation, policy,
|
|
URL and native ownership changes still invalidate observation.
|
|
|
|
The native admin workflow now verifies grant creation, separate review,
|
|
self-approval refusal, auditor read-only controls, generation rotation and history
|
|
restoration without discarding an unrelated draft. The history view warns that
|
|
old credential generations cannot be resurrected and require a higher generation
|
|
plus re-pairing. Screenshots were visually inspected; real backend OTLP parents
|
|
verified (`artifacts/agent-grants-history-admin-proof.json`).
|
|
|
|
The separately evidenced shutdown cleanup error is fixed using an immutable,
|
|
non-enumerable native WebContents reference; destroyed views are removable and
|
|
closing does not reactivate remaining tabs. This does not establish the cause of
|
|
the earlier startup timeout. The current suite passes 546 tests. Production key
|
|
custody, signed installer/update distribution, worker/session ownership, full
|
|
secured agent capabilities, content capture, external customer integrations and
|
|
independent assessment remain open. The full objective is not complete.
|
|
|
|
Final Windows build and packaged-source/runtime verification pass, including
|
|
the new observer, contained scanner, immutable upload leases, offline semantic
|
|
inference and shipped protected agent clients. Syntax and actual native tab/DLP
|
|
tests pass (`artifacts/human-windows-build.log`, `human-package-proof.log`,
|
|
`human-final-syntax.log`, `human-native-tabs.log`). Authenticode is still
|
|
`NotSigned`; an unpacked build is not a signed production installer.
|
|
|
|
### Next priorities against the original requirements
|
|
|
|
1. Complete controlled agent capabilities: history/session restoration, window
|
|
management, safe visual capture, vault/file operations and administrative
|
|
actions need dedicated scopes, principal ownership, central disable, DLP and
|
|
durable attribution. Do not supply a generic JavaScript/DevTools bypass.
|
|
2. Support legitimate background workers in individual mode with provable native
|
|
ownership/session isolation; ownerless requests currently remain blocked.
|
|
3. Prove legitimate credential submission without exempting arbitrary password
|
|
controls or bypassing inspection of other form fields and changed targets.
|
|
4. Expand protected evidence to remaining interactions and controlled content
|
|
workflows with collection-gap visibility and purpose-bound analyst access.
|
|
Existing observed gestures do not establish full reconstruction.
|
|
5. Verify streaming/ranged/native upload paths and main/network-service crash
|
|
semantics, then production enrollment/device key custody/rotation, signed
|
|
installer/update delivery and real customer SSO/ICAP/SIEM/HA integrations.
|
|
These require independent deployment evidence, not only mocked local tests.
|
|
|
|
Mac/Linux/mobile remain explicitly deferred by the user's Windows-first scope.
|