
apm v11.0.0
un gestore di password locale e ricco di funzionalità
Perché APM?
- Veloce e facile da imparare — non devi memorizzare comandi o flag. APM ti chiede tutto ciò di cui ha bisogno. I flag da CLI sono disponibili anche per gli utenti esperti che vogliono la massima velocità.
- Zero-knowledge — la tua password principale non viene mai salvata. Tre chiavi separate da 32 byte vengono derivate usando Argon2id. Nessuno tranne te può decifrare il tuo vault.
- Doppia crittografia — scegli AES-256-GCM o XChaCha20-Poly1305. Integrità a doppio livello tramite HMAC-SHA256 oltre all'autenticazione AEAD.
- Portabile — un file vault, un binario. Porta il tuo vault dove vuoi.
- Cloud opzionale — sincronizza su Google Drive, GitHub o Dropbox. Completamente opzionale; nessun account richiesto per usare APM.
- Estensibile — un sistema di plugin basato su manifest con oltre 100 permessi granulari, hook del ciclo di vita e un marketplace di plugin.
- Pronto per l'AI — server MCP nativo con token con ambito di accesso (scoped tokens), così Claude, Cursor o qualsiasi agente compatibile con MCP può accedere in sicurezza al tuo vault.
- Pronto per i team — RBAC completo, reparti, flussi di approvazione e vault condivisi in
pm-team.
Avvio rapido
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
Edizione team:
cd team
go build -o pm-team .
Tipi di segreti
APM supporta 25 tipi strutturati di segreti con campi validati e logica di visualizzazione specifica per tipo:
| # | Tipo | # | Tipo |
|---|---|---|---|
| 1 | Password | 14 | Docker Registry |
| 2 | TOTP | 15 | Segreto CI/CD |
| 3 | ID governativo | 16 | Nota sicura |
| 4 | Cartella clinica | 17 | Codici di recupero |
| 5 | Info di viaggio | 18 | Certificato |
| 6 | Contatto | 19 | Servizi bancari |
| 7 | Wi-Fi | 20 | Documento |
| 8 | Chiave API | 21 | Licenza software |
| 9 | Token | 22 | Contratto legale |
| 10 | Chiave SSH | 23 | Foto |
| 11 | Configurazione SSH | 24 | Audio |
| 12 | Credenziali cloud | 25 | Video |
| 13 | Kubernetes |
Funzionalità
Sicurezza
- Derivazione delle chiavi Argon2id zero-knowledge — la password principale non viene mai salvata
- Doppi cifrari AEAD: AES-256-GCM e XChaCha20-Poly1305
- Controllo di integrità a doppio livello HMAC-SHA256
- Quattro profili di sicurezza regolabili:
standard,hardened,paranoid,legacy - Punteggio di fiducia per singolo segreto (0–100) basato su età, accesso e livello di privilegio
- Registro di audit a prova di manomissione archiviato all'esterno del vault
Vault
- Un singolo file vault crittografato — portabile su qualsiasi dispositivo
- Spazi per la compartimentazione logica (come le cartelle)
- Ricerca fuzzy con browser interattivo e navigazione da tastiera
- Ispettore dei metadati: data di creazione, ultimo accesso, numero di accessi, punteggio di fiducia
TOTP
- Timer di countdown in tempo reale in un elenco interattivo
- Ordinamento personalizzato persistente
- Copia diretta:
pm totp github - Integrazione con demone di autocompilazione per l'inserimento automatico dei codici 2FA
Sincronizzazione cloud
- Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
- Crittografia end-to-end — i provider non vedono mai il testo in chiaro
.apmignoreper filtrare le voci per provider- Risoluzione dei conflitti: sovrascrivi, mantieni locale o annulla
- Sincronizzazione automatica in background
Sessioni
- Sblocco/blocco esplicito con scadenza configurabile e timeout di inattività
- Sessioni effimere delegate per l'automazione e l'accesso degli agenti AI
Server MCP
- Server nativo del Model Context Protocol
- Token di autorizzazione con ambito di accesso:
read,secrets,write,admin - Vincoli transazionali per le operazioni di scrittura: anteprima → approvazione → ricevuta
- Funziona con Claude Desktop, Cursor, Windsurf e qualsiasi client MCP
Plugin
- Sistema di plugin basato su manifest
- Oltre 100 permessi granulari su vault, rete, sistema, crittografia, UI e cloud
- Sistema di hook per gli eventi del ciclo di vita del vault
- Marketplace di plugin tramite provider cloud
Recupero
| Fattore | Comando |
|---|---|
| OTP via email | pm auth email |
| Chiave di recupero | pm auth recover |
| Quote di quorum (Shamir) | pm auth quorum-setup |
| Passkey WebAuthn | pm auth passkey register |
| Codici di recupero monouso | pm auth codes generate |
Importazione / Esportazione
| Formato | Importazione | Esportazione |
|---|---|---|
| JSON | pm import json | pm export json |
| CSV | pm import csv | pm export csv |
| TXT | pm import txt | pm export txt |
Motore di policy
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/
Edizione Team (pm-team)
- RBAC con ruoli multipli
- Reparti con domini di crittografia isolati
- Flussi di approvazione per le voci sensibili
- Vault condivisi per la condivisione di credenziali tra più utenti
Profili di sicurezza
| Profilo | Memoria Argon2 | Iterazioni | Parallelismo | Caso d'uso |
|---|---|---|---|---|
standard | 64 MB | 3 | 2 | Maggior parte dei computer |
hardened | 256 MB | 5 | 4 | Workstation (≥8 GB di RAM) |
paranoid | 512 MB | 6 | 4 | Server (≥16 GB di RAM) |
legacy | PBKDF2 | 600,000 | 1 | Compatibilità con versioni precedenti |
APM rileva automaticamente i core della CPU e la RAM per consigliare il profilo ottimale durante pm setup.
Stato di sviluppo e storia
(Nota del proprietario) Al 30 marzo 2026, sto attualmente lavorando alla GUI di APM. All'inizio è nato come applicazione CLI. La issue #38 spiega tutto in dettaglio. In generale, voglio che APM raggiunga un pubblico ancora più ampio. Terrò la GUI separata in un repository apm-gui oppure creerò un'organizzazione e sposterò entrambi i repository lì.
Ho iniziato APM come progetto davvero personale. È nato in una sera qualsiasi, quando volevo creare il mio gestore di password. Ero stufo di zoho password, visto che lo usavo per i TOTP. Era incredibilmente lento e a malapena funzionava, e usavo file in chiaro per i miei token, il che non è sicuro.
Al momento, NON ho intenzione di abbandonare/ritirare il progetto. Rimarrà funzionante per molto tempo. Cerco di migliorarlo ogni giorno e di usarlo ogni giorno. A volte il repository può essere inattivo, ed è in quei momenti che testo e sperimento con l'applicazione.
Struttura delle release
| Livello | Stabile? | Vault sicuro? | Scopo |
|---|---|---|---|
| Canary | ❌ | ❌ | Anteprima funzionalità più precoce — può corrompere i vault |
| Alpha | ❌ | ✅ | Funzionalità instabili, integrità del vault preservata |
| Beta | ✅ | ✅ | Funzionalità completamente testate, rollout accurato |
| Stabile | ✅ | ✅ | Release pronte per la produzione |
Esegui sempre un backup del tuo vault prima di provare le release Canary. P.S. Per alcune release, alcuni livelli potrebbero non essere pubblicati, a seconda di quanto siano veloci e facili da distribuire senza creare più livelli del necessario.
Documentazione
Documentazione completa su aaravmaloo.github.io/apm
- Installazione
- Primi passi
- Riferimento CLI
- Architettura
- Crittografia
- Edizione Team
- Integrazione MCP
- Contribuire
Come contribuire
I contributi sono benvenuti. Per le linee guida, consulta CONTRIBUTING.md.
Licenza
Licenza GPL-3.0 © Aarav Maloo