
apm v11.2.0
Ein lokaler Passwort-Manager für alle
Warum APM?
- Schnell und leicht zu lernen – du musst keine Befehle oder Flags auswendig lernen. APM fragt dich nach allem, was es braucht. Für Power-User, die maximale Geschwindigkeit wünschen, stehen auch CLI-Flags zur Verfügung.
- Zero-Knowledge – dein Master-Passwort wird nie gespeichert. Drei separate 32-Byte-Schlüssel werden mittels Argon2id abgeleitet. Niemand außer dir kann deinen Tresor entschlüsseln.
- Doppelte Verschlüsselung – wähle zwischen AES-256-GCM und XChaCha20-Poly1305. Doppelte Integritätsschicht durch HMAC-SHA256 zusätzlich zur AEAD-Authentifizierung.
- Portabel – eine Tresordatei, eine Binärdatei. Nimm deinen Tresor überallhin mit.
- Optionale Cloud – Synchronisierung mit Google Drive, GitHub oder Dropbox. Vollständig optional; für die Nutzung von APM ist kein Konto erforderlich.
- Erweiterbar – ein manifestbasiertes Plugin-System mit über 100 granularen Berechtigungen, Lifecycle-Hooks und einem Plugin-Marktplatz.
- KI-bereit – nativer MCP-Server mit eingeschränkten Tokens, damit Claude, Cursor oder jeder MCP-kompatible Agent sicher auf deinen Tresor zugreifen kann.
- Team-bereit – vollständiges RBAC, Abteilungen, Genehmigungsworkflows und gemeinsame Tresore in
pm-team.
Schnellstart
go build -o pm .
pm setup # initialize vault and choose security profile
pm unlock # start a session
pm add # add a secret (interactive)
pm get github # fuzzy search and retrieve
pm lock # end session
Team-Edition:
cd team
go build -o pm-team .
Geheimnistypen
APM unterstützt 25 strukturierte Geheimnistypen mit validierten Feldern und typspezifischer Anzeigelogik:
| # | Typ | # | Typ |
|---|---|---|---|
| 1 | Passwort | 14 | Docker-Registry |
| 2 | TOTP | 15 | CI/CD-Geheimnis |
| 3 | Amtlicher Ausweis | 16 | Sichere Notiz |
| 4 | Krankenakte | 17 | Wiederherstellungscodes |
| 5 | Reiseinformationen | 18 | Zertifikat |
| 6 | Kontakt | 19 | Bankdaten |
| 7 | WLAN | 20 | Dokument |
| 8 | API-Schlüssel | 21 | Softwarelizenz |
| 9 | Token | 22 | Rechtsvertrag |
| 10 | SSH-Schlüssel | 23 | Foto |
| 11 | SSH-Konfiguration | 24 | Audio |
| 12 | Cloud-Anmeldedaten | 25 | Video |
| 13 | Kubernetes |
Funktionen
Sicherheit
- Zero-Knowledge-Argon2id-Schlüsselableitung – Master-Passwort wird nie gespeichert
- Doppelte AEAD-Verschlüsselung: AES-256-GCM und XChaCha20-Poly1305
- HMAC-SHA256-Integritätsprüfung auf zwei Ebenen
- Vier einstellbare Sicherheitsprofile:
standard,hardened,paranoid,legacy - Vertrauensbewertung pro Geheimnis (0–100) basierend auf Alter, Zugriff und Berechtigungsstufe
- Manipulationssicheres Audit-Log, außerhalb des Tresors gespeichert
Tresor
- Eine einzige verschlüsselte Tresordatei – auf jedem Gerät portabel
- Bereiche für logische Trennung (wie Ordner)
- Unscharfe Suche mit interaktivem Browser und Tastaturnavigation
- Metadaten-Inspektor: Erstellungsdatum, letzter Zugriff, Zugriffsanzahl, Vertrauensbewertung
TOTP
- Live-Countdown-Timer in einer interaktiven Liste
- Dauerhafte benutzerdefinierte Sortierung
- Direkt kopieren:
pm totp github - Autofill-Daemon-Integration zum automatischen Einfügen von 2FA-Codes
Cloud-Synchronisierung
- Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
- Ende-zu-Ende-verschlüsselt – Anbieter sehen niemals Klartext
.apmignorezum Filtern von Einträgen pro Anbieter- Konfliktlösung: überschreiben, lokal behalten oder abbrechen
- Automatische Synchronisierung im Hintergrund
Sitzungen
- Explizites Entsperren/Sperren mit konfigurierbarem Ablauf und Inaktivitäts-Timeout
- Delegierte temporäre Sitzungen für Automatisierung und Zugriff durch KI-Agenten
MCP-Server
- Nativer Model-Context-Protocol-Server
- Eingeschränkte Berechtigungstokens:
read,secrets,write,admin - Transaktions-Schutzmechanismen für Schreibvorgänge: Vorschau → Genehmigung → Quittung
- Funktioniert mit Claude Desktop, Cursor, Windsurf und jedem MCP-Client
Plugins
- Manifestbasiertes Plugin-System
- Über 100 granulare Berechtigungen für Tresor, Netzwerk, System, Krypto, UI und Cloud
- Hook-System für Tresor-Lifecycle-Ereignisse
- Plugin-Marktplatz über Cloud-Anbieter
Wiederherstellung
| Faktor | Befehl |
|---|---|
| E-Mail-OTP | pm auth email |
| Wiederherstellungsschlüssel | pm auth recover |
| Quorum-Anteile (Shamir) | pm auth quorum-setup |
| WebAuthn-Passkey | pm auth passkey register |
| Einmalige Wiederherstellungscodes | pm auth codes generate |
Import / Export
| Format | Import | Export |
|---|---|---|
| JSON | pm import json | pm export json |
| CSV | pm import csv | pm export csv |
| TXT | pm import txt | pm export txt |
Policy-Engine
name: corporate-standard
password_policy:
min_length: 14
require_uppercase: true
require_numbers: true
require_symbols: true
rotation_policy:
rotate_every_days: 90
notify_before_days: 14
pm policy load ./policies/
Team-Edition (pm-team)
- RBAC mit mehreren Rollen
- Abteilungen mit isolierten Verschlüsselungsdomänen
- Genehmigungsworkflows für sensible Einträge
- Gemeinsame Tresore für die Multi-User-Freigabe von Anmeldedaten
Sicherheitsprofile
| Profil | Argon2-Speicher | Iterationen | Parallelität | Anwendungsfall |
|---|---|---|---|---|
standard | 64 MB | 3 | 2 | Die meisten Rechner |
hardened | 256 MB | 5 | 4 | Workstations (≥8 GB RAM) |
paranoid | 512 MB | 6 | 4 | Server (≥16 GB RAM) |
legacy | PBKDF2 | 600,000 | 1 | Abwärtskompatibilität |
APM erkennt automatisch deine CPU-Kerne und den Arbeitsspeicher, um während pm setup das optimale Profil zu empfehlen.
Entwicklungsstatus und Historie
(Diese Notiz stammt vom Projektinhaber)
Stand 30. März 2026 arbeite ich derzeit an der GUI für APM. Anfangs war es eine CLI-Anwendung. Das Issue #38 erklärt alles im Detail. Insgesamt möchte ich mit APM eine noch größere Zielgruppe erreichen. Ich werde die GUI in einem separaten Repository apm-gui halten oder eine Organisation gründen und beide Repositories dorthin verschieben.
Ich habe APM als rein persönliches Projekt gestartet. Es begann an einem zufälligen Abend, als ich meinen eigenen Passwortmanager erstellen wollte. Ich hatte Zoho Password satt, da ich es für TOTPs nutzte. Es war unglaublich langsam und kaum funktionsfähig, und ich verwendete Klartextdateien für meine Tokens, was nicht sicher ist.
Derzeit habe ich NICHT vor, das Projekt aufzugeben oder einzustellen. Es wird noch lange funktionsfähig bleiben. Ich versuche, es jeden Tag besser zu machen und es täglich zu nutzen. Manchmal ist das Repository möglicherweise inaktiv – genau dann teste und experimentiere ich mit der Anwendung.
Release-Struktur
| Stufe | Stabil? | Tresor sicher? | Zweck |
|---|---|---|---|
| Canary | ❌ | ❌ | Früheste Feature-Vorschau – kann Tresore beschädigen |
| Alpha | ❌ | ✅ | Instabile Features, Tresorintegrität bleibt erhalten |
| Beta | ✅ | ✅ | Vollständig getestete Features, vorsichtige Einführung |
| Stable | ✅ | ✅ | Produktionsreife Veröffentlichungen |
Sichere deinen Tresor immer, bevor du Canary-Versionen ausprobierst. P.S. Bei einigen Releases werden möglicherweise nicht alle Stufen veröffentlicht, je nachdem, wie schnell und einfach sie sich ausliefern lassen, ohne mehr Stufen als nötig zu erzeugen.
Dokumentation
Vollständige Dokumentation unter aaravmaloo.github.io/apm
- Installation
- Erste Schritte
- CLI-Referenz
- Architektur
- Verschlüsselung
- Team-Edition
- MCP-Integration
- Mitwirken
Mitwirken
Beiträge sind willkommen. Siehe CONTRIBUTING.md für Richtlinien.
Lizenz
GPL-3.0-Lizenz © Aarav Maloo