Short: Password manager with 2FA (TOTP/HOTP) Author: lumipass@amigaworld.de (Matthias Muench) Uploader: lumipass amigaworld de (Matthias Muench) Type: util/crypt Version: 1.3 Replaces: util/misc/LumiPass_1.2.lha Requires: MUI 3.8, NList.mcc, NListtree.mcc, BetterString.mcc, TextEditor.mcc, TheBar.mcc Architecture: m68k-amigaos >= 3.2 Distribution: Aminet LumiPass is a native password manager for AmigaOS 3.2 with a full MUI 3.8 (v19) graphical interface. It uses modern ChaCha20-Poly1305 authenticated encryption (RFC 8439) for its native database format and can import and export KeePass files, so you can seamlessly use it alongside KeePassXC and other KeePass-compatible password managers on modern platforms. FEATURES -------- - Native .lumi database format (ChaCha20-Poly1305 AEAD, RFC 8439; optional Argon2id key derivation) - Versioned .bak backups before each save (configurable depth, 1-9) - Full CRUD: title, username, password, URL, multi-line notes - Up to 8 custom name/value fields per entry (optionally protected/masked) plus tags with their own list column - Optional key file as a second factor for the master password (.lumi v3; KeePass key files supported) - Hierarchical group tree - Trash for deleted entries: restore or purge permanently, persisted inside the .lumi database - Real-time password strength indicator with a 16,792-word common-password dictionary - Password generator (length, character classes, ambiguous-character exclusion) - Diceware passphrase generator (EFF long word list) - Clipboard copy with configurable auto-clear timer - Full-text search across all fields - Auto-lock after configurable idle time - Minimise to AppIcon on the Workbench - TOTP/HOTP: a second tab generates TOTP (RFC 6238) and HOTP (RFC 4226) one-time codes, sharing the same group tree and trash as passwords. Add accounts manually or by pasting an otpauth:// URI; optional GMT/drift time correction with SNTP sync for a drifting Amiga clock - Import: KeePass 1.x (.kdb), KeePass 2.x and 4.0 (.kdbx, with key files), CSV, 2FAS Pass, Bitwarden, 1Password (.1pux) and Proton Pass (all unencrypted exports); TOTP secrets on Bitwarden logins or KeePass "otp" custom fields become TOTP/HOTP accounts automatically - Authenticator-app import: Steam Guard (.maFile, real Steam codes), otpauth:// URI text lists, 2FAS Authenticator (.2fas), Aegis (plaintext vault), Google Authenticator (otpauth-migration:// URI, pasted into the Import dialog) and QR code images (single otpauth:// or Google batch QR) - Export: KeePass 1.x (.kdb), KeePass 2.x (.kdbx v3.1), KeePass 4.0 (.kdbx v4), CSV, XML, HTML, otpauth:// (one URI per TOTP/HOTP account) - Merge two .lumi databases locally (with the import conflict dialog) - reconcile two machines without cloud sync - Atomic save (.tmp + rename) of the database protects against data loss on power-cut or crash - Single-instance check (Workbench double-click brings the running instance to front) - Full ARexx scripting interface (port LUMIPASS) - Lumi-Suite coupling: LumiFTP fetches and stores server logins, LumiWeather its OpenWeatherMap API key, directly in LumiPass via the ARexx bridge (GETLOGIN/PUTLOGIN) - guarded by a per-client permission whitelist - Automatic update check via signature verification, optionally silent on program start - Optional online breach check ("Have I Been Pwned?", k-anonymity API): only the first 5 hex characters of the SHA-1 leave the Amiga; plain password and full hash stay local - Password audit report: finds reused, weak, old and empty passwords offline, with an optional breach check (Pwned?) - AmigaGuide documentation (incl. ARexx reference) - Localisation: English, German CRYPTOGRAPHY ------------ Primary cipher: ChaCha20-Poly1305 AEAD (RFC 8439) Key derivation: PBKDF2-HMAC-SHA256 (default) or, optionally, the memory-hard Argon2id (.lumi format v2); an optional key file hash is mixed into the derivation as a second factor (.lumi v3) Additional ciphers: AES-256, Salsa20, BLAKE2b, Argon2d/id, SHA-1, SHA-256, SHA-512, HMAC-SHA-256 All primitives are implemented in pure C, byte-portable, with no external crypto library. Verified against RFC test vectors and round-trip tested with KeePassXC and pykeepass. The master password is never kept in memory - only the derived key plus salt are cached while the database is unlocked. Password comparisons use a constant-time memcmp to avoid timing attacks. REQUIREMENTS ------------ - AmigaOS 3.2 or compatible - Motorola 68020 or higher - 2 MB RAM free (8 MB recommended) - MUI 3.8 (v19) or higher - NList.mcc, NListtree.mcc, BetterString.mcc, TextEditor.mcc, TheBar.mcc - AmiSSL 5.x (optional - for the update check, breach check and registration) - TCP/IP stack (optional - for the update check, breach check and NTP time sync) - codesets.library 6.x (optional - better charset conversion for KeePass import/export) - tz.library 7+ (optional - DST-aware timezone for TOTP codes) INSTALLATION ------------ Recommended: open the archive, double-click the "Install" icon in the LumiPass/ drawer and follow the AmigaOS Installer (English or German). It copies the binary, the localisation catalogs and the AmigaGuide help files to the location you choose. Manual install: copy the LumiPass binary and its .info icon wherever you like, e.g. SYS:Tools/, place the catalogs in LOCALE:Catalogs// and the guides in HELP:/. Without catalogs, the built-in English strings are used. TOOLTYPES --------- DEFAULTDB= Open this file on startup AUTOLOCK= Auto-lock interval (0 = disabled) CLIPCLEAR= Clipboard timeout (0 = disabled) KDFITER= KDF cost: HIGH / NORMAL / FAST or 1000-1000000 LANGUAGE= Force catalog (deutsch/english) NOUPDATECHECK=1 Disable automatic update check on start ICONIFY=YES Start iconified (AppIcon only, no window) CX_PRIORITY= Commodity priority (default 0) CX_POPUP=YES|NO Open main window on launch (default YES) CX_POPKEY= Override Commodity hotkey (default: ctrl alt p) DOCUMENTATION ------------- Help/English/LumiPass.guide AmigaGuide (English) Help/Deutsch/LumiPass.guide AmigaGuide (German) CHANGELOG --------- 1.3 (Build 309, 25 July 2026) - Authenticator (TOTP/HOTP): a second tab manages TOTP and HOTP accounts alongside passwords, sharing the same group tree and tags. Accounts are entered manually or imported from an otpauth:// URI; a template selector offers RFC (the standard), Steam (Valve's own 5-character alphabet, computed for real) and a fully custom mode. Codes refresh live with a countdown (HOTP shows a counter button instead); own recoverable trash, a "Show QR Code" window, and an optional GMT/drift correction with SNTP time sync (a matching status bar traffic light shows the sync state). Import from Bitwarden and KeePass "otp" fields, export as otpauth:// URIs. ARexx gained LISTOTP and GETOTPCODE. - Authenticator-app importers: Steam Guard .maFile (real 5-character Steam codes), otpauth:// URI text lists, 2FAS Authenticator (.2fas) and Aegis plaintext vaults; Google Authenticator otpauth-migration:// URIs import as URI-list lines or pasted into the Import dialog. Encrypted 2FAS/Aegis backups are rejected with a note; merging into the open database now keeps authenticator accounts too. - QR code image import: the TOTP/HOTP editor reads QR codes from image files (datatypes.library) - via "Import from QR Image..." or by dropping the image onto the main window; a busy window bridges the decoding time. - Countdown bar column: the authenticator list gained an 8-segment bar draining with the remaining TOTP period (green/yellow/red; HOTP rows stay empty). - Two-tier import dialog: a Type cycle (Passwords / TOTP/HOTP / Generic CSV+XML) filters the format list, a hint line explains what the chosen format delivers, and the new "QR code image" format imports otpauth:// and Google migration batch QRs from image files. The Google URI paste moved in here too (own URI line; file field and URI line grey each other out). - Settings in tabs: the settings dialog now has four tabs (General, Security, TOTP/HOTP, ARexx) instead of one scrolling column; the external wordlist moved into the password generator's Passphrase tab. The TOTP/HOTP tab gained an "NTP sync on startup" option (silent SNTP sync at every start). - Adaptive KDF re-keying: .lumi files remember how long key derivation took; on a much faster/slower machine LumiPass offers a one-click re-key (weakening needs a typed "yes"). Keystroke timing feeds the RNG as extra entropy. - Recent Databases: the Project menu remembers up to ten recently opened databases (newest first); "Clear History" empties the list. - Trash window: columns size themselves to their content like the main lists; a right-click offers Restore/Delete Selected and Empty Trash (greyed out without a selection). - Password audit traffic light in the status bar is always visible now (the on/off setting is gone). - Group tree: the group list is now a real collapsible tree; imported KeePass subgroups show nested. Entries can be dragged onto a group, and a group onto another to re-nest it; Edit Group renames a group and reassigns its parent in one dialog (subgroups move along). Deleting a group removes its subgroups too (entries to the trash). The top row "All" is the tree root (selecting it shows every entry) and is protected - it cannot be renamed or deleted. - Duplicate group: the group list's menu and context menu make a deep copy including all entries (fresh UUIDs) and subgroups, named " (Copy)". - KeePass 2 XML import: unencrypted KeePass 2 XML exports (.xml) can be imported; nested groups, tags and protected fields are carried over. - Search window: the search field now lives in its own window, shown/hidden via a toolbar button; the live search is preserved. - Progress bar during key derivation: opening, merging, importing and exporting show a progress bar with a cancel button during the slow key derivation (PBKDF2, Argon2 and KeePass AES-KDF). - Usability: icon toolbar (TheBar.mcc), password-audit traffic light in the status bar, columns with persistent sorting, tidied and renamed menus, Tab and Return in every input dialog, and an export that suggests the right file extension and shows a cancellable progress window. - Custom fields and tags: up to 8 free name/value pairs per entry (optionally protected/masked) plus a tag list; edit window with General / Custom fields tabs, Tags column in the entry list (columns can be shown/hidden and reordered via the header context menu), covered by search and all import/export formats. - Optional key file as a second factor for the master password (.lumi format v3). KeePass/KeePassXC key files are accepted; LumiPass can generate a new one. Databases without a key file keep the old format. - ARexx: GETLOGIN FIELDS tokens TAGS and EXTRAS; GETENTRY returns tags and custom fields as TAGS=/EXTRA.= lines. - New status bar (entry/group/tag/trash counters, "N of M" while filtering); flicker-free list refresh that keeps the scroll position. - KeePass import/export: master passwords with accented characters (e.g. àèìòù or äöü) now work - KDBX hashes passwords as UTF-8, previous versions used the raw Amiga bytes. Files from older LumiPass versions still open via an automatic fallback. - Entry data (titles, user names, passwords, URLs, notes, group names) is converted between UTF-8 and the Amiga character set in both directions, including numeric XML entities. - Optional: with codesets.library (v6+) the system character set is used and unmappable characters are transliterated; without it a built-in Latin-1 conversion steps in. - The same conversion also covers CSV import/export (CSV is written as UTF-8 with BOM) and the JSON importers (Bitwarden, 1Password, Proton Pass, 2FAS Pass). - Expiry date per entry (optional): the password audit lists expired and soon-to-expire entries; exported to KeePass as ExpiryTime. - Copy URL / Open URL: a menu item copies the selected entry's URL to the clipboard or launches it in the Amiga browser (OpenURL). - Tag filter: a tag list below the group tree (visible only while the database contains tags) shows only entries carrying the selected tag; its title toggles the sort order (persistent), and a context menu renames or removes a tag across all entries (incl. trash). - Optional: tz.library as DST-aware timezone source for TOTP codes (Settings, TOTP/HOTP tab) - Various bugfixes and improvements. 1.2 (Build 306, 5 July 2026) - Optional Argon2id key derivation for .lumi databases (memory-hard, selectable per database); PBKDF2 stays the default and existing databases remain compatible. - Password audit report: reused, weak, old and empty passwords offline, with an optional breach check ("Have I Been Pwned?"). - Trash for deleted entries - deletion is recoverable (restore or purge permanently), stored in the database. - Versioned .bak backups with a configurable number of generations (1-9). - Merge a second .lumi database locally via the import conflict dialog (reconcile two machines without any cloud). - New importers: Bitwarden JSON, 1Password (.1pux) and Proton Pass, plus unencrypted 2FAS Pass backups (.2faspass); login items only. - Various bugfixes and improvements 1.1 (Build 305, 27 May 2026) - Online breach check (Have I Been Pwned?, k-anonymity API): optional, opt-in only. Per-entry button in the edit form, batch check across the whole database with a result list. - Locked database is held in memory only as a ChaCha20- Poly1305 encrypted snapshot. Plaintext entries are no longer visible in a memory dump while LumiPass is locked. - ARexx interface (port LUMIPASS) for scripting and automation: scripts can list, search and read entries, create new logins (PUTLOGIN), copy username/password to the clipboard and open/save/lock the database. Master password and import conflicts are handled via response codes; commands that mutate the database are busy-gated against concurrent workers. - TLS certificates are now fully verified (peer + hostname) for both update check and pwned-check. - Crash-safe save: atomic .tmp/.bak rename. If power is lost mid-save, the .tmp is automatically adopted on the next load (if it carries the LumiPass magic). SetProtection() runs before Delete/Rename so .tmp never gets stuck when the previous file had the Pure bit set. - Various bugfixes and improvements 1.0 (Build 254, 29 April 2026) - Initial release. BUILD INFORMATION ----------------- Version: 1.3 (Build 309) Binary size: ~932 KB (stripped) Source code: ~49,801 lines (C + H) Compiler: m68k-amigaos-gcc 6.5.0b Target CPU: m68020+ LICENSE ------- LumiPass is freeware. You may use, copy and redistribute unmodified binaries freely. Redistribution on Aminet and other archives is explicitly permitted. The software is provided "as is", without warranty of any kind. The author is not liable for any damage, data loss, or security breach resulting from the use of this software. Your database is protected only by your master password. There is NO recovery mechanism. If you forget your master password, your data cannot be decrypted. Keep a secure backup of your master password. REGISTRATION ------------ Registration is optional and does not affect functionality. All features are available without limits, with or without a key. A registration is a friendly gesture towards the author and helps plan further development. Two ways to register: 1. With the LumiReg tool (available separately on Aminet) - enter name and email, click "Register". 2. Manually by e-mail to register@amigaworld.de. Please include: Name Name the registration should be issued to Email Address the licence key will be sent to Program Name of the program to register (LumiPass) CONTACT ------- E-mail: lumipass@amigaworld.de Web: https://www.amigaworld.de/ CREDITS ------- Author Matthias Münch Concept, implementation, testing Built with help from Claude Code (Anthropic) AI assistant for pair programming Third-party components Stefan Stuntz MUI 3.8 Gilles Masson, Laurin Woitok, Nick Blackburn NList.mcc (amiga-mui project) Carsten Scholling NListtree.mcc (NList OSS Team) Allan Odgaard et al. BetterString.mcc, TextEditor.mcc Alfonso Ranieri et al. TheBar.mcc Martin Merz Toolbar icons Olaf Barthel & Oliver Roberts AmiSSL Alfonso Ranieri et al. codesets.library Daniel Beer quirc QR decoder Electronic Frontier Foundation (EFF) Diceware large wordlist Daniel Miessler et al. SecLists password wordlist Cryptography authors Daniel J. Bernstein ChaCha20, Poly1305, Salsa20 Joan Daemen, Vincent Rijmen AES/Rijndael Alex Biryukov, Daniel Dinu, Dmitry Khovratovich Argon2 Jean-Philippe Aumasson et al. BLAKE2 Phil Katz DEFLATE Dominik Reichl KeePass Greetings Eisman, lokiist, Fossi, yelworC, cappin, Cego, McFly, LoneRaider, evil4dmin, jdb78 ================================================================ DEUTSCHE VERSION / GERMAN VERSION ================================================================ LumiPass ist ein nativer Passwortmanager für AmigaOS 3.2 mit vollständiger MUI-3.8-Oberfläche (v19). Das native Dateiformat nutzt moderne ChaCha20-Poly1305 authentifizierte Verschlüsselung (RFC 8439); Import und Export im KeePass-Format erlauben die parallele Nutzung mit KeePassXC und anderen KeePass-kompatiblen Programmen auf modernen Systemen. FUNKTIONEN ---------- - Eigenes .lumi-Datenformat (ChaCha20-Poly1305 AEAD, RFC 8439; optionale Argon2id-Schlüsselableitung) - Versionierte .bak-Backups vor jedem Speichern (Tiefe 1-9 einstellbar) - Volles CRUD: Titel, Benutzername, Passwort, URL, mehrzeilige Notizen - Bis zu 8 freie Zusatzfelder (Name/Wert, optional geschützt/ maskiert) pro Eintrag plus Tags mit eigener Listenspalte - Optionale Schlüsseldatei als zweiter Faktor zum Master-Passwort (.lumi v3; KeePass-Schlüsseldateien nutzbar) - Hierarchischer Gruppenbaum - Papierkorb für gelöschte Einträge: wiederherstellen oder endgültig löschen, in der .lumi-Datenbank gespeichert - Echtzeit-Stärkeanzeige mit 16.792-Wort-Wörterbuch gängiger Passwörter - Passwortgenerator (Länge, Zeichenklassen, Ausschluss mehrdeutiger Zeichen) - Diceware-Passphrasen-Generator (EFF-Langwortliste) - Zwischenablage-Kopie mit konfigurierbarem Auto-Clear-Timer - Volltextsuche über alle Felder - Automatisches Sperren nach konfigurierbarer Leerlaufzeit - Minimieren als AppIcon auf der Workbench - TOTP/HOTP: ein zweiter Reiter erzeugt TOTP- (RFC 6238) und HOTP-Codes (RFC 4226), teilt sich Gruppenbaum und Papierkorb mit den Passwörtern. Konten manuell anlegen oder per otpauth://-URI einfügen; optionale GMT-/Drift- Zeitkorrektur mit SNTP-Sync gegen eine driftende Amiga-Uhr - Import: KeePass 1.x (.kdb), KeePass 2.x und 4.0 (.kdbx, mit Schlüsseldateien), CSV, 2FAS Pass, Bitwarden, 1Password (.1pux) und Proton Pass (alle unverschlüsselt); TOTP-Secrets an Bitwarden-Logins oder KeePass-Zusatzfeldern "otp" werden automatisch zu TOTP/HOTP-Konten - Authenticator-App-Import: Steam Guard (.maFile, echte Steam-Codes), otpauth://-URI-Textlisten, 2FAS Authenticator (.2fas), Aegis (Klartext-Vault), Google Authenticator (otpauth-migration://-URI, in den Import-Dialog eingefügt) und QR-Code-Bilder (einzelner otpauth://- oder Google-Stapel-QR) - Export: KeePass 1.x (.kdb), KeePass 2.x (.kdbx v3.1), KeePass 4.0 (.kdbx v4), CSV, XML, HTML, otpauth:// (eine URI je TOTP/HOTP-Konto) - Zwei .lumi-Datenbanken lokal zusammenführen (mit dem Import- Konfliktdialog) - zwei Rechner ohne Cloud abgleichen - Atomares Speichern (.tmp + Rename) der Datenbank schützt vor Datenverlust bei Stromausfall oder Absturz - Single-Instance-Check (Workbench-Doppelklick holt die laufende Instanz nach vorn) - Volle ARexx-Schnittstelle (Port LUMIPASS) - Lumi-Suite-Kopplung: LumiFTP holt und speichert Server-Logins, LumiWeather seinen OpenWeatherMap-API-Key direkt in LumiPass über die ARexx-Brücke (GETLOGIN/PUTLOGIN) - abgesichert durch eine Whitelist pro Client - Automatischer Update-Check über Signaturprüfung, optional auch still beim Programmstart - Optionale Online-Datenleck-Prüfung ("Have I Been Pwned?", k-Anonymity-API): nur die ersten 5 Hex-Zeichen des SHA-1 verlassen den Amiga; das volle Passwort und der volle Hash bleiben lokal - Passwort-Prüfung: findet wiederverwendete, schwache, alte und leere Passwörter offline, optional mit Datenleck- Prüfung (Pwned?) - AmigaGuide-Dokumentation inkl. ARexx-Referenz - Lokalisierung: Deutsch und Englisch KRYPTOGRAPHIE ------------- Primäres Verfahren: ChaCha20-Poly1305 AEAD (RFC 8439) Schlüsselableitung: PBKDF2-HMAC-SHA256 (Standard) oder, optional das speicher-harte Argon2id (.lumi v2); optional fließt der Hash einer Schlüsseldatei als zweiter Faktor ein (v3) Weitere Verfahren: AES-256, Salsa20, BLAKE2b, Argon2d/id, SHA-1, SHA-256, SHA-512, HMAC-SHA-256 Alle Primitive sind in reinem C implementiert, byte-portabel und ohne externe Krypto-Bibliothek. Verifiziert gegen die RFC-Testvektoren und Roundtrip-getestet gegen KeePassXC und pykeepass. Das Master-Passwort bleibt nicht im Speicher - nur der davon abgeleitete Schlüssel plus Salt werden zwischengespeichert, solange die Datenbank entsperrt ist. Passwortvergleiche laufen zeitkonstant, um Timing-Angriffe zu vermeiden. SYSTEMVORAUSSETZUNGEN --------------------- - AmigaOS 3.2 oder kompatibel - Motorola 68020 oder höher - 2 MB RAM frei (8 MB empfohlen) - MUI 3.8 (v19) oder höher - NList.mcc, NListtree.mcc, BetterString.mcc, TextEditor.mcc, TheBar.mcc - AmiSSL 5.x (optional - für Update-Prüfung, Datenleck-Prüfung und Registrierung) - TCP/IP-Stack (optional - für Update-Prüfung, Datenleck-Prüfung und NTP-Zeitabgleich) - codesets.library 6.x (optional - bessere Zeichensatz-Konvertierung beim KeePass-Import/-Export) - tz.library 7+ (optional - sommerzeitfeste Zeitzone für TOTP-Codes) INSTALLATION ------------ Empfohlen: Archiv öffnen, im Verzeichnis LumiPass/ auf "Install" doppelklicken und dem AmigaOS-Installer folgen (deutsche oder englische Sprache). Er kopiert das Binary, die Sprachkataloge und die AmigaGuide-Dokumentation an den gewählten Ort. Manuelle Installation: das LumiPass-Binary und das zugehörige Piktogramm an einen beliebigen Ort kopieren (z.B. SYS:Tools/), die Kataloge nach LOCALE:Catalogs// und die Guides nach HELP:/. Ohne Kataloge werden die eingebauten englischen Texte verwendet. TOOLTYPES --------- DEFAULTDB= Diese Datei beim Start öffnen AUTOLOCK= Auto-Sperr-Intervall (0 = aus) CLIPCLEAR= Zwischenablage-Timeout (0 = aus) KDFITER= KDF-Kosten: HIGH / NORMAL / FAST oder 1000-1000000 LANGUAGE= Katalog erzwingen (deutsch/english) NOUPDATECHECK=1 Automatische Update-Prüfung abschalten ICONIFY=YES Direkt iconifiziert starten (nur AppIcon) CX_PRIORITY= Commodity-Priorität (Default 0) CX_POPUP=YES|NO Hauptfenster beim Start öffnen (Default YES) CX_POPKEY= Commodity-Hotkey überschreiben (Default: ctrl alt p) DOKUMENTATION ------------- Help/Deutsch/LumiPass.guide AmigaGuide (Deutsch) Help/English/LumiPass.guide AmigaGuide (Englisch) VERSIONSHISTORIE ---------------- 1.3 (Build 309, 25. Juli 2026) - Authenticator (TOTP/HOTP): ein zweiter Reiter verwaltet TOTP- und HOTP-Konten neben den Passwörtern, mit demselben Gruppenbaum und denselben Tags. Konten werden manuell angelegt oder aus einer otpauth://-URI importiert; ein Vorlagen-Cycle bietet RFC (den Standard), Steam (Valves eigenes 5-Zeichen-Alphabet, echt berechnet) und einen vollständig freien Modus. Codes laufen live mit Countdown mit (HOTP zeigt einen Zähler-Knopf); eigener wiederherstellbarer Papierkorb, ein "QR-Code anzeigen"- Fenster und eine optionale GMT-/Drift-Korrektur mit SNTP-Zeitabgleich (eine passende Ampel in der Statuszeile zeigt den Sync-Status). Import aus Bitwarden und KeePass-"otp"-Feldern, Export als otpauth://-URIs. ARexx bekam LISTOTP und GETOTPCODE dazu. - Authenticator-App-Importer: Steam Guard .maFile (echte 5-stellige Steam-Codes), otpauth://-URI-Textlisten, 2FAS Authenticator (.2fas) und Aegis-Klartext-Vaults; Google- Authenticator-otpauth-migration://-URIs kommen als Zeilen einer URI-Liste oder per Einfügen in den Import-Dialog herein. Verschlüsselte 2FAS-/Aegis-Sicherungen werden mit Hinweis abgewiesen; das Zusammenführen in die offene Datenbank behält jetzt auch Authenticator-Konten. - QR-Code-Bild-Import: der TOTP/HOTP-Editor liest QR-Codes aus Bilddateien (datatypes.library) - über "Aus QR-Bild importieren..." oder per Ziehen des Bildes aufs Hauptfenster; ein Hinweis-Fenster überbrückt die Dekodierzeit. - Countdown-Balken-Spalte: die Authenticator-Liste bekam einen 8-Segment-Balken, der mit der TOTP-Restperiode abläuft (grün/gelb/rot; HOTP-Zeilen bleiben leer). - Zweistufiger Import-Dialog: ein Typ-Cycle (Passwörter / TOTP/HOTP / Generisch CSV+XML) filtert die Formatliste, eine Hinweiszeile erklärt, was das gewählte Format liefert, und das neue Format "QR-Code-Bild" importiert otpauth://- und Google-Migration-Stapel-QRs aus Bilddateien. Auch das Google-URI-Einfügen zog hierher um (eigene URI-Zeile; Datei-Feld und URI-Zeile grauen sich wechselseitig aus). - Einstellungen in Reitern: der Einstellungsdialog hat jetzt vier Reiter (Allgemein, Sicherheit, TOTP/HOTP, ARexx) statt einer scrollenden Spalte; die externe Wortliste zog in den Passphrase-Reiter des Passwortgenerators um. Der TOTP/HOTP-Reiter bekam die Option "NTP-Sync beim Programmstart" (stiller SNTP-Abgleich bei jedem Start). - Adaptives KDF-Re-Keying: .lumi-Dateien merken sich die Dauer der Schlüsselableitung; auf einer deutlich schnelleren/langsameren Maschine bietet LumiPass ein Ein-Klick-Re-Keying an (Abschwächung verlangt ein getipptes "yes"). Tastenanschlag-Timing fließt als zusätzliche Entropie in den Zufallsgenerator ein. - Zuletzt verwendete Datenbanken: das Projekt-Menü merkt sich bis zu zehn zuletzt geöffnete Datenbanken (neueste zuerst); "Verlauf löschen" leert die Liste. - Papierkorb-Fenster: Spalten passen sich an ihren Inhalt an wie die Haupt-Listen; ein Rechtsklick bietet Markierte wiederherstellen/löschen und Papierkorb leeren (ausgegraut ohne Auswahl). - Die Passwort-Prüfung-Ampel in der Statuszeile ist jetzt immer sichtbar (die Ein/Aus-Einstellung ist entfallen). - Gruppen-Baum: die Gruppenliste ist jetzt ein aufklappbarer Baum; importierte KeePass-Untergruppen erscheinen verschachtelt. Einträge lassen sich auf eine Gruppe ziehen, eine Gruppe auf eine andere (zum Umhängen); Gruppe editieren benennt eine Gruppe um und ordnet sie in einem Dialog einer anderen Gruppe zu (Untergruppen wandern mit). Löschen einer Gruppe entfernt auch ihre Untergruppen (Einträge in den Papierkorb). Die oberste Zeile "Alle" ist die Wurzel des Baums (ihre Auswahl zeigt alle Einträge) und ist geschützt - nicht umbenenn- oder löschbar. - Gruppe duplizieren: Menü und Kontextmenü der Gruppenliste erstellen eine Tiefkopie samt allen Einträgen (neue UUIDs) und Untergruppen, benannt " (Kopie)". - Import von KeePass-2-XML: unverschlüsselte KeePass-2-XML- Exporte (.xml) lassen sich importieren; verschachtelte Gruppen, Tags und geschützte Felder werden übernommen. - Suchfenster: das Suchfeld sitzt jetzt in einem eigenen, per Werkzeugleisten-Knopf ein-/ausblendbaren Fenster; die Live-Suche bleibt erhalten. - Fortschrittsbalken bei der Schlüsselableitung: Öffnen, Zusammenführen, Import und Export zeigen einen Balken mit Abbrechen-Knopf während der langsamen Schlüsselableitung (PBKDF2, Argon2 und KeePass-AES-KDF). - Bedienung: Icon-Werkzeugleiste (TheBar.mcc), Passwort- Prüfungs-Ampel in der Statusleiste, Spalten mit persis- tenter Sortierung, aufgeräumte/umbenannte Menüs, Tab und Return in allen Eingabe-Dialogen sowie ein Export, der die richtige Dateiendung vorschlägt und ein abbrechbares Fortschrittsfenster zeigt. - Zusatzfelder und Tags: bis zu 8 freie Name/Wert-Paare pro Eintrag (optional geschützt/maskiert) plus Tag-Liste; Bearbeitungsfenster mit Registern Allgemein/Zusatzfelder, Tags-Spalte in der Eintragsliste (Spalten per Kopfzeilen- Kontextmenü ein-/ausblendbar und umsortierbar), abgedeckt von Suche und allen Import-/Export-Formaten. - Optionale Schlüsseldatei als zweiter Faktor zum Master- Passwort (.lumi-Format v3). KeePass-/KeePassXC-Schlüssel- dateien werden akzeptiert, LumiPass kann eine neue erzeugen. Datenbanken ohne Schlüsseldatei behalten das alte Format. - ARexx: GETLOGIN-FIELDS-Tokens TAGS und EXTRAS; GETENTRY liefert Tags und Zusatzfelder als TAGS=/EXTRA.=- Zeilen. - Neue Statusleiste (Eintrags-/Gruppen-/Tag-/Papierkorb- Zähler, "N von M" beim Filtern); flackerfreier Listen-Refresh, der die Scroll-Position behält. - KeePass-Import/-Export: Master-Passwörter mit Akzent- zeichen (z. B. àèìòù oder äöü) funktionieren jetzt - KDBX hasht Passwörter als UTF-8, bisher wurden die rohen Amiga-Bytes verwendet. Dateien älterer LumiPass-Versionen öffnen weiterhin (automatischer Fallback). - Eintragsdaten (Titel, Benutzernamen, Passwörter, URLs, Notizen, Gruppennamen) werden in beide Richtungen zwischen UTF-8 und dem Amiga-Zeichensatz konvertiert, inklusive numerischer XML-Entities. - Optional nutzt LumiPass die codesets.library (v6+) für den Systemzeichensatz und die Transliteration nicht darstell- barer Zeichen; ohne sie greift eine eingebaute Latin-1- Konvertierung. - Dieselbe Konvertierung deckt auch den CSV-Import/-Export ab (CSV wird als UTF-8 mit BOM geschrieben) sowie die JSON-Importer (Bitwarden, 1Password, Proton Pass, 2FAS). - Ablaufdatum pro Eintrag (optional): die Passwort-Prüfung listet abgelaufene und bald ablaufende Einträge; wird nach KeePass als ExpiryTime exportiert. - URL kopieren / öffnen: ein Menüpunkt kopiert die URL des gewählten Eintrags in die Zwischenablage oder öffnet sie im Amiga-Browser (OpenURL). - Tag-Filter: eine Tag-Liste unter dem Gruppenbaum (nur sichtbar, solange die Datenbank Tags enthält) zeigt nur Einträge mit dem gewählten Tag; ihr Titel wechselt die Sortierrichtung (persistent), ein Kontextmenü benennt Tags datenbankweit um oder entfernt sie (inkl. Papierkorb). - Optional: tz.library als sommerzeitfeste Zeitzonen-Quelle für TOTP-Codes - Allgemeine Fehlerbeseitigungen und Verbesserungen. 1.2 (Build 306, 5. Juli 2026) - Optionale Argon2id-Schlüsselableitung für .lumi-Datenbanken (speicher-hart, pro Datenbank wählbar); PBKDF2 bleibt Standard, bestehende Datenbanken bleiben kompatibel. - Passwort-Prüfung: wiederverwendete, schwache, alte und leere Passwörter offline, optional mit Datenleck-Prüfung ("Have I Been Pwned?"). - Papierkorb für gelöschte Einträge - Löschen ist wiederher- stellbar (zurückholen oder endgültig löschen), in der Datenbank gespeichert. - Versionierte .bak-Backups mit konfigurierbarer Generationenzahl (1-9). - Zweite .lumi-Datenbank lokal über den Import-Konfliktdialog zusammenführen (zwei Rechner ohne Cloud). - Neue Importer: Bitwarden JSON, 1Password (.1pux) und Proton Pass, dazu unverschlüsselte 2FAS-Pass-Sicherungen (.2faspass); nur Login-Einträge. - Allgemeine Fehlerbeseitigungen und Verbesserungen 1.1 (Build 305, 27. Mai 2026) - Online-Pwned-Check (Have I Been Pwned, k-Anonymity-API): optional, nur opt-in. Pro-Eintrag-Button im Edit-Formular, Batch-Prüfung über die ganze Datenbank mit Ergebnisliste. - Im gesperrten Zustand wird die Datenbank nur noch als ChaCha20-Poly1305-verschlüsselter Snapshot im Speicher gehalten. Klartext-Einträge sind in einem RAM-Dump nicht mehr sichtbar, solange LumiPass gesperrt ist. - ARexx-Schnittstelle (Port LUMIPASS) zur Automatisierung: Skripte können Einträge auflisten, suchen und lesen, neue Logins anlegen (PUTLOGIN), Benutzername und Passwort in die Zwischenablage kopieren sowie die Datenbank öffnen, speichern oder sperren. Master-Passwort und Import- Konflikte werden über Antwortcodes abgehandelt; DB- mutierende Befehle sind gegen parallele Worker gegated. - TLS-Zertifikate werden bei Update-Prüfung und Pwned-Check vollständig verifiziert (Peer und Hostname). - Crash-sicheres Speichern: atomares .tmp/.bak-Rename. Bei Stromausfall während des Speicherns wird die .tmp beim nächsten Laden automatisch übernommen (sofern sie die LumiPass-Magic trägt). SetProtection() vor Delete/Rename, damit .tmp nicht liegen bleibt, wenn die vorherige Datei das Pure-Bit hatte. - Allgemeine Fehlerbeseitigungen und Verbesserungen 1.0 (Build 254, 29. April 2026) - Erstveröffentlichung. BUILD-INFORMATIONEN ------------------- Version: 1.3 (Build 309) Binary-Größe: ~932 KB (gestrippt) Quelltext: ~49.801 Zeilen (C + H) Compiler: m68k-amigaos-gcc 6.5.0b Ziel-CPU: m68020+ LIZENZ ------ LumiPass ist Freeware. Unveränderte Binärdateien dürfen frei genutzt, kopiert und weiterverbreitet werden. Die Verbreitung über Aminet und andere Archive ist ausdrücklich erlaubt. Die Software wird "wie sie ist" ohne jegliche Garantie bereitgestellt. Der Autor haftet nicht für Schäden, Datenverlust oder Sicherheitsvorfälle, die durch die Nutzung dieser Software entstehen. Ihre Datenbank ist ausschließlich durch Ihr Master-Passwort geschützt. Es gibt KEINE Wiederherstellung. Wenn Sie Ihr Master-Passwort vergessen, lassen sich Ihre Daten nicht mehr entschlüsseln. Bewahren Sie eine sichere Kopie Ihres Master-Passworts auf. REGISTRIERUNG ------------- Die Registrierung ist optional und beeinflusst die Funktionalität nicht. Alle Funktionen stehen ohne Einschränkung zur Verfügung, mit oder ohne Lizenzschlüssel. Eine Registrierung ist eine freundliche Geste an den Autor und hilft bei der Planung weiterer Entwicklung. Zwei Wege zur Registrierung: 1. Mit dem Tool LumiReg (separat auf Aminet verfügbar) - Namen und E-Mail eingeben, "Registrieren" klicken. 2. Manuell per E-Mail an register@amigaworld.de mit: Name Name, auf den die Registrierung lauten soll Email Adresse, an die der Lizenzschlüssel geht Programm Name des Programms (LumiPass) KONTAKT ------- E-Mail: lumipass@amigaworld.de Web: https://www.amigaworld.de/ MITWIRKENDE ----------- Autor Matthias Münch Konzept, Umsetzung, Tests Unterstützt durch Claude Code (Anthropic) KI-Assistent für Pair-Programming Fremdkomponenten Stefan Stuntz MUI 3.8 Gilles Masson, Laurin Woitok, Nick Blackburn NList.mcc (amiga-mui-Projekt) Carsten Scholling NListtree.mcc (NList OSS Team) Allan Odgaard u. a. BetterString.mcc, TextEditor.mcc Alfonso Ranieri u. a. TheBar.mcc Martin Merz Toolbar-Icons Olaf Barthel & Oliver Roberts AmiSSL Alfonso Ranieri u. a. codesets.library Daniel Beer quirc-QR-Decoder Electronic Frontier Foundation (EFF) Diceware-Langwortliste Daniel Miessler u. a. SecLists-Passwortliste Kryptographie-Autoren Daniel J. Bernstein ChaCha20, Poly1305, Salsa20 Joan Daemen, Vincent Rijmen AES/Rijndael Alex Biryukov, Daniel Dinu, Dmitry Khovratovich Argon2 Jean-Philippe Aumasson u. a. BLAKE2 Phil Katz DEFLATE Dominik Reichl KeePass Grüße Eisman, lokiist, Fossi, yelworC, cappin, Cego, McFly, LoneRaider, evil4dmin, jdb78