
apm v11.2.0
Un gestor de contraseñas local para todos
¿Por qué APM?
- Rápido y fácil de aprender — sin memorizar comandos ni flags. APM te solicita lo que necesita. También hay flags de CLI disponibles para usuarios avanzados que quieren máxima velocidad.
- Conocimiento cero — tu contraseña maestra nunca se almacena. Se derivan tres claves separadas de 32 bytes usando Argon2id. Nadie más que tú puede descifrar tu bóveda.
- Cifrado dual — elige AES-256-GCM o XChaCha20-Poly1305. Integridad de doble capa mediante HMAC-SHA256 sobre la autenticación AEAD.
- Portátil — un archivo de bóveda, un binario. Lleva tu bóveda a cualquier lugar.
- Nube opcional — sincroniza con Google Drive, GitHub o Dropbox. Totalmente opcional; no se requiere cuenta para usar APM.
- Listo para IA — servidor MCP nativo con tokens con alcance limitado para que Claude, Cursor o cualquier agente compatible con MCP pueda acceder a tu bóveda de forma segura.
- Listo para equipos — RBAC completo, departamentos, flujos de aprobación y bóvedas compartidas en
pm-team.
Inicio rápido
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
Edición para equipos:
cd team
go build -o pm-team .
Tipos de secretos
APM admite 25 tipos de secretos estructurados con campos validados y lógica de visualización específica por tipo:
| # | Tipo | # | Tipo |
|---|---|---|---|
| 1 | Contraseña | 14 | Registro de Docker |
| 2 | TOTP | 15 | Secreto de CI/CD |
| 3 | Identificación gubernamental | 16 | Nota segura |
| 4 | Registro médico | 17 | Códigos de recuperación |
| 5 | Información de viaje | 18 | Certificado |
| 6 | Contacto | 19 | Banca |
| 7 | Wi-Fi | 20 | Documento |
| 8 | Clave de API | 21 | Licencia de software |
| 9 | Token | 22 | Contrato legal |
| 10 | Clave SSH | 23 | Foto |
| 11 | Configuración SSH | 24 | Audio |
| 12 | Credenciales de nube | 25 | Video |
| 13 | Kubernetes |
Características
Seguridad
- Derivación de claves Argon2id de conocimiento cero — la contraseña maestra nunca se almacena
- Cifrados AEAD duales: AES-256-GCM y XChaCha20-Poly1305
- Verificación de integridad de doble capa HMAC-SHA256
- Cuatro perfiles de seguridad ajustables:
standard,hardened,paranoid,legacy - Puntuación de confianza por secreto (0–100) basada en antigüedad, acceso y nivel de privilegio
- Registro de auditoría a prueba de manipulaciones almacenado fuera de la bóveda
Bóveda
- Único archivo de bóveda cifrado — portátil entre cualquier dispositivo
- Espacios para compartimentación lógica (como carpetas)
- Búsqueda difusa con navegador interactivo y navegación por teclado
- Inspector de metadatos: fecha de creación, último acceso, recuento de accesos, puntuación de confianza
TOTP
- Temporizadores de cuenta regresiva en vivo en una lista interactiva
- Orden personalizado persistente
- Copia directa:
pm totp github - Integración con demonio de autocompletado para inyectar automáticamente códigos 2FA
Sincronización en la nube
- Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
- Cifrado de extremo a extremo — los proveedores nunca ven el texto plano
.apmignorepara filtrar entradas por proveedor- Resolución de conflictos: sobrescribir, mantener local o cancelar
- Sincronización automática en segundo plano
Sesiones
- Desbloqueo/bloqueo explícito con caducidad configurable y tiempo de inactividad
- Sesiones efímeras delegadas para automatización y acceso de agentes de IA
Servidor MCP
- Servidor nativo del Model Context Protocol
- Tokens de permisos con alcance:
read,secrets,write,admin - Barreras de protección transaccionales para operaciones de escritura: vista previa → aprobar → recibo
- Funciona con Claude Desktop, Cursor, Windsurf y cualquier cliente MCP
Recuperación
| Factor | Comando |
|---|---|
| OTP por correo electrónico | pm auth email |
| Clave de recuperación | pm auth recover |
| Fragmentos de quórum (Shamir) | pm auth quorum-setup |
| Passkey WebAuthn | pm auth passkey register |
| Códigos de recuperación de un solo uso | pm auth codes generate |
Importar / Exportar
| Formato | Importar | Exportar |
|---|---|---|
| JSON | pm import json | pm export json |
| CSV | pm import csv | pm export csv |
| TXT | pm import txt | pm export txt |
Motor de políticas
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/
Edición para equipos (pm-team)
- RBAC con múltiples roles
- Departamentos con dominios de cifrado aislados
- Flujos de aprobación para entradas sensibles
- Bóvedas compartidas para compartir credenciales entre varios usuarios
Perfiles de seguridad
| Perfil | Memoria Argon2 | Iteraciones | Paralelismo | Caso de uso |
|---|---|---|---|---|
standard | 64 MB | 3 | 2 | La mayoría de máquinas |
hardened | 256 MB | 5 | 4 | Estaciones de trabajo (≥8 GB RAM) |
paranoid | 512 MB | 6 | 4 | Servidores (≥16 GB RAM) |
legacy | PBKDF2 | 600,000 | 1 | Compatibilidad hacia atrás |
APM detecta automáticamente los núcleos de tu CPU y la RAM para recomendar el perfil óptimo durante pm setup.
Estado de desarrollo e historia
(Esta nota es del propietario) A partir del 30 de marzo de 2026, actualmente estoy trabajando en la GUI de APM. Al principio comenzó como una aplicación CLI. El issue #38 explica todo en detalle. En general, quiero que APM llegue a una demografía aún mayor. Mantendré la GUI separada en un repositorio apm-gui o crearé una organización y moveré ambos repositorios allí.
Comencé APM como un proyecto verdaderamente personal. Comenzó una noche cualquiera, cuando quise crear mi propio gestor de contraseñas. Estaba harto de zoho password, ya que lo usaba para TOTPs. Era increíblemente lento para funcionar, y usaba archivos de texto plano para mis tokens, lo cual no es seguro.
Por ahora, NO planeo abandonar/retirar el proyecto. Permanecerá funcional durante mucho tiempo. Intento mejorarlo cada día y lo uso cada día. A veces, el repositorio puede estar inactivo, y es entonces cuando pruebo y experimento con la aplicación.