Torna agli aggiornamenti
New releaseJul 28, 2026

apm v11.0.0

un gestore di password locale e ricco di funzionalità

Condividi

APM

Un gestore di password locale migliore per tutti.

Go License Docs

CI Latest Release Stars Issues

APM è un gestore di password CLI veloce e zero-knowledge scritto in Go e Rust. Memorizza **oltre 25 tipi di segreti strutturati** in un unico vault cifrato — da password e codici TOTP a chiavi SSH, cartelle cliniche, foto e file binari. Da questo repository vengono distribuiti due binari: `pm` per uso personale e `pm-team` per vault organizzativi condivisi.

Perché APM?

  • Veloce e facile da imparare — nessun comando o flag da memorizzare. APM ti chiede tutto ciò di cui ha bisogno. Sono disponibili anche flag CLI per gli utenti esperti che desiderano la massima velocità.
  • Zero-knowledge — la tua master password non viene mai memorizzata. Tre chiavi separate da 32 byte vengono derivate usando Argon2id. Nessuno tranne te può decifrare il tuo vault.
  • Doppia cifratura — scegli AES-256-GCM o XChaCha20-Poly1305. Integrità a doppio strato tramite HMAC-SHA256 sopra l'autenticazione AEAD.
  • Portatile — un file vault, un binario. Porta il tuo vault ovunque.
  • Cloud opzionale — sincronizza con Google Drive, GitHub o Dropbox. Completamente opt-in; nessun account richiesto per usare APM.
  • Pronto per l'IA — server MCP nativo con token con ambito limitato, così Claude, Cursor o qualsiasi agente compatibile con MCP può accedere al tuo vault in sicurezza.
  • Pronto per il 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 di segreti strutturati con campi validati e logica di visualizzazione specifica per tipo:

#Tipo#Tipo
1Password14Docker Registry
2TOTP15CI/CD Secret
3Government ID16Secure Note
4Medical Record17Recovery Codes
5Travel Info18Certificate
6Contact19Banking
7Wi-Fi20Document
8API Key21Software License
9Token22Legal Contract
10SSH Key23Photo
11SSH Config24Audio
12Cloud Credentials25Video
13Kubernetes

Funzionalità

Sicurezza

  • Derivazione delle chiavi Argon2id zero-knowledge — la master password non viene mai memorizzata
  • Cifrari AEAD doppi: AES-256-GCM e XChaCha20-Poly1305
  • Controllo di integrità a doppio strato HMAC-SHA256
  • Quattro profili di sicurezza configurabili: standard, hardened, paranoid, legacy
  • Punteggio di affidabilità per segreto (0–100) basato su età, accesso e livello di privilegio
  • Log di audit a prova di manomissione memorizzato all'esterno del vault

Vault

  • Un unico file vault cifrato — portatile su qualsiasi dispositivo
  • Spaces per compartimentazione logica (come cartelle)
  • Ricerca fuzzy con browser interattivo e navigazione da tastiera
  • Ispettore dei metadati: data di creazione, ultimo accesso, conteggio accessi, punteggio di affidabilità

TOTP

  • Timer di countdown in tempo reale in una lista interattiva
  • Ordinamento personalizzato persistente
  • Copia diretta: pm totp github
  • Integrazione con daemon di autofill per l'iniezione automatica dei codici 2FA

Sincronizzazione Cloud

  • Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
  • Cifratura end-to-end — i provider non vedono mai il testo in chiaro
  • .apmignore per 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 automazione e accesso da agenti IA

Server MCP

  • Server Model Context Protocol nativo
  • Token di autorizzazione con ambito limitato: read, secrets, write, admin
  • Guardrail transazionali per operazioni di scrittura: anteprima → approvazione → ricevuta
  • Funziona con Claude Desktop, Cursor, Windsurf e qualsiasi client MCP

Recupero

FattoreComando
Email OTPpm auth email
Recovery Keypm auth recover
Quorum Shares (Shamir)pm auth quorum-setup
WebAuthn Passkeypm auth passkey register
One-time Recovery Codespm auth codes generate

Importazione / Esportazione

FormatoImportazioneEsportazione
JSONpm import jsonpm export json
CSVpm import csvpm export csv
TXTpm import txtpm 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 cifratura isolati
  • Flussi di approvazione per voci sensibili
  • Vault condivisi per la condivisione di credenziali multiutente

Profili di sicurezza

ProfiloMemoria Argon2IterazioniParallelismoCaso d'uso
standard64 MB32La maggior parte delle macchine
hardened256 MB54Workstation (≥8 GB RAM)
paranoid512 MB64Server (≥16 GB RAM)
legacyPBKDF2600,0001Compatibilità con le versioni precedenti

APM rileva automaticamente i core della CPU e la RAM per consigliare il profilo ottimale durante pm setup.

Stato dello sviluppo e storia

(Questa nota è del proprietario) Dal 30 marzo 2026, sto lavorando alla GUI di APM. All'inizio è nato come applicazione CLI. La issue #38 spiega tutto in dettaglio. Nel complesso, voglio che APM raggiunga una fascia demografica ancora più ampia. Manterrò la GUI separata in un repo apm-gui oppure creerò un'organizzazione e sposterò lì entrambi i repo.

Ho iniziato APM come un progetto veramente personale. È iniziato in una sera qualunque, quando volevo creare il mio gestore di password. Ero stanco di zoho password, dato che lo usavo per i TOTP. Era incredibilmente lento a funzionare, e usavo file di testo in chiaro per i miei token, il che non è sicuro.

Al momento, NON ho intenzione di abbandonare/ritirare il progetto. Rimarrà funzionante a lungo. Cerco di migliorarlo ogni giorno e lo uso ogni giorno. A volte, il repo può essere inattivo, ed è in quei momenti che testo e sperimento con l'applicazione.


Struttura delle release

Categorie