OpenNIT-Vault-Extension/CHANGELOG.md
Claude 26c01a4fc3 Vorschlaege weichen Seiten-Comboboxen, 2FA-Code bereitlegen
Vorschlagsliste: Bisher galt jedes E-Mail-Feld als Anmeldefeld
(isUsernameField gibt bei type=email bedingungslos true zurueck), und das
Dropdown liegt mit maximalem z-index direkt unter dem Feld. Auf Seiten
mit eigener Auswahlliste - etwa einem Benutzer-Picker - verdeckte es
deren Treffer, die dadurch nicht mehr anklickbar waren.

Zwei Regeln davor: Felder mit eigener Vorschlagsliste (ARIA-Combobox mit
aria-autocomplete/aria-controls/aria-expanded oder <input list>) bekommen
keine Vault-Vorschlaege mehr, sofern autocomplete sie nicht ausdruecklich
als Anmeldefeld ausweist. Und sobald der Nutzer selbst tippt, blendet
sich die Liste aus und bleibt es, bis das Feld wieder leer ist.

2FA-Code bereitlegen: Nach dem Ausfuellen eines Eintrags mit 2FA bleibt
dieser fuenf Minuten vorgemerkt. Taucht danach ein 2FA-Feld auf oder wird
es fokussiert - auch auf einer Folgeseite -, wird ein frischer Code
geholt und in die Zwischenablage gelegt, statt wie bisher nur einmal zum
Fuellzeitpunkt (wo er bis zum 2FA-Schritt laengst rotiert waere).
Automatisch wird ausschliesslich kopiert; ins Feld geschrieben wird ein
Code weiterhin nur bei ausdruecklicher Auswahl. Geschrieben wird zuerst
ueber die Seite und, falls diese keinen Zugriff bekommt, ueber das
Offscreen-Dokument des Hintergrunds. Abschaltbar in den Einstellungen.

Beim Sperren des Tresors werden Vormerkung und ausstehender Fuellauftrag
verworfen. Der Seiten-Scan des MutationObservers laeuft jetzt gedrosselt
statt bei jeder einzelnen Mutation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G12DRMpe4UjYDwuRU1sjy1
2026-07-31 15:55:37 +02:00

97 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog OpenNIT Vault (Browser-Erweiterung)
Format nach [Keep a Changelog](https://keepachangelog.com/de/1.1.0/).
Die Erweiterungsversion (`manifest.json`) ist unabhängig von der OpenNIT-Serverversion.
## [Unreleased]
### Hinzugefügt
- **2FA-Code wird für den nächsten Schritt bereitgelegt:** Nach dem Ausfüllen eines Eintrags mit 2FA
landet beim nächsten 2FA-Feld automatisch ein **frischer** Code in der Zwischenablage auch dann,
wenn die Abfrage erst auf einer Folgeseite kommt (z. B. Microsoft-Anmeldung). Einfügen genügt mit
Strg + V; der bisherige Inhalt der Zwischenablage wird dabei überschrieben und der Code nach 30
Sekunden wieder entfernt. Abschaltbar unter „Sicherheit → 2FA-Code beim Anmelden bereitlegen".
### Geändert
- **Vorschläge weichen der Seite:** Sobald in ein Feld getippt wird, verschwindet die Vault-Liste
darunter erscheint typischerweise die Suche der Seite selbst. Bei Feldern, die erkennbar eine eigene
Auswahlliste öffnen (etwa Benutzer-Auswahlfelder), erscheinen gar keine Vault-Vorschläge mehr.
Ausdrücklich als Anmeldefeld ausgezeichnete Felder sind davon ausgenommen.
- **Anmeldung nur noch per SSO:** Das Feld für den manuell erzeugten API-Token samt „Verbindung testen"
ist aus den Einstellungen entfernt. Die Verbindung entsteht ausschließlich über „Mit OpenNIT anmelden".
Ein aus einer früheren Version übernommener Token wird beim Update aus dem lokalen Speicher gelöscht;
wer bisher nur damit verbunden war, meldet sich einmal per SSO an.
### Behoben
- **Restlaufzeit des 2FA-Codes wird wieder korrekt angezeigt:** Der Countdown blieb am Ende eines
Zeitfensters stehen und lief mit der Zeit aus dem Takt. Er rechnet nun gegen den tatsächlichen
Ablaufzeitpunkt und holt den neuen Code beim Wechsel genau einmal nach. Lässt sich kein neuer Code
laden (Tresor gesperrt oder Verbindung weg), zeigt die Anzeige das an, statt auf einem abgelaufenen
Wert stehen zu bleiben.
- **Neuen Eintrag anlegen funktioniert wieder nach SSO-Anmeldung:** Das Speichern eines im Popup
erzeugten Passworts brach bisher mit „Nicht konfiguriert." ab, wenn die Erweiterung über
„Mit OpenNIT anmelden" verbunden war es wurde ausschließlich der manuelle Token akzeptiert.
Das Anlegen nutzt nun denselben Zugang wie alle übrigen Aufrufe (inkl. automatischer
Token-Erneuerung). Ist der Tresor gesperrt, erscheint die PIN-Abfrage statt einer Fehlermeldung.
## [2.4.0] - 2026-07-01
### Hinzugefügt
- **SSO-Anmeldung (OAuth 2.0 + PKCE):** „Mit OpenNIT anmelden" Anmeldung wie an OpenNIT
(lokal + 2FA / Microsoft 365 / Keycloak) über `chrome.identity`. Die Erweiterung erhält kurzlebige
Access-Tokens und einen langlebigen, **rotierenden** Refresh-Token; der Zugang wird automatisch erneuert.
„Abmelden" widerruft die Sitzung serverseitig.
- Der bisherige **manuelle Token** bleibt als „Erweitert"-Option erhalten (Kiosk/Headless).
### Sicherheit
- Kurzlebige Access-Tokens + Refresh-Token-**Rotation mit Reuse-Detection** (bei Wiederverwendung eines
bereits rotierten Tokens wird die gesamte Sitzungskette widerrufen).
## [2.3.0] - 2026-07-01
### Sicherheit
- **Token-Härtung:** Bei aktivem Tresor-PIN wird die PIN-Sperre nun **serverseitig erzwungen** die
Endpunkte für Einträge/Passwort/TOTP liefern erst nach frischer PIN-Entsperrung Daten. Ein gestohlener
Token allein ist damit wertlos, solange keine gültige Entsperrung vorliegt (neuer `POST /unlock`
mit Fensterdauer, `POST /lock` zum sofortigen Sperren).
- **HTTPS-Zwang:** In den Einstellungen werden nur noch `https://`-Adressen akzeptiert (Ausnahme:
`localhost`) verhindert Klartext-Übertragung von Token und Passwörtern.
- **Warnung bei fremder Domain:** „Auf dieser Seite ausfüllen" warnt, wenn die aktive Seite nicht zur
hinterlegten Adresse des Eintrags passt.
### Geändert
- Die Einstellung „PIN-Sperre" legt nur noch die **Dauer** der Entsperrung fest (die Option „Aus" entfällt,
da die Sperre bei gesetztem Tresor-PIN serverseitig gilt).
## [2.2.2] - 2026-07-01
### Geändert
- Fester Name **„OpenNIT Vault"** (unabhängig vom Instanznamen).
- Berechtigung **`tabs` entfernt** die aktive Tab-Adresse ist bereits durch die Website-Berechtigungen
abgedeckt; die Warnung „Browserverlauf lesen" entfällt.
## [2.2.0] - 2026-07-01
### Hinzugefügt
- **PIN-Sperre** mit demselben PIN wie der Web-Tresor, konfigurierbare Sperrdauer (5 Min / 15 Min /
1 Std / bis der Browser geschlossen wird).
- **Passwort-Generator** und Anzeigen-Auge beim Anlegen.
- **Notizen** in der Detailansicht (anzeigen/kopieren) und in der Suche.
- **Zwischenablage-Auto-Clear** nach dem Kopieren (abschaltbar).
- **Tastatur-Navigation** in der Liste und **Dark Mode**.
## [2.1.0] - 2026-06-30
### Hinzugefügt
- **Detailansicht** je Eintrag mit Anzeigen/Kopieren von Benutzername und Passwort sowie 2FA-Code.
- **Favicons** der hinterlegten Seiten (serverseitig gecacht).
### Behoben
- Klick auf einen Eintrag öffnet nun die Detailansicht.
- Vorschlags-Dropdown an das Design der Erweiterung angeglichen.
## [2.0.0]
### Hinzugefügt
- Erstveröffentlichung: Autofill für Benutzer-, Passwort- und 2FA-Felder, Popup mit Liste/Suche,
Anlegen neuer Einträge, Einstellungen für Server-URL und Token.