Volver a actualizaciones
Nuevo releaseAug 5, 2026

apm v11.2.0

Un gestor de contraseñas local para todos

Compartir

APM

Un mejor gestor de contraseñas local para todos.

Go License Docs

CI Latest Release Stars Issues

APM es un gestor de contraseñas CLI rápido y de conocimiento cero escrito en Go y Rust. Almacena **más de 25 tipos de secretos estructurados** en una única bóveda cifrada — desde contraseñas y códigos TOTP hasta claves SSH, registros médicos, fotos y archivos binarios. Dos binarios se distribuyen desde este repositorio: `pm` para uso personal y `pm-team` para bóvedas organizativas compartidas.

¿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
1Contraseña14Registro de Docker
2TOTP15Secreto de CI/CD
3Identificación gubernamental16Nota segura
4Registro médico17Códigos de recuperación
5Información de viaje18Certificado
6Contacto19Banca
7Wi-Fi20Documento
8Clave de API21Licencia de software
9Token22Contrato legal
10Clave SSH23Foto
11Configuración SSH24Audio
12Credenciales de nube25Video
13Kubernetes

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
  • .apmignore para 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

FactorComando
OTP por correo electrónicopm auth email
Clave de recuperaciónpm auth recover
Fragmentos de quórum (Shamir)pm auth quorum-setup
Passkey WebAuthnpm auth passkey register
Códigos de recuperación de un solo usopm auth codes generate

Importar / Exportar

FormatoImportarExportar
JSONpm import jsonpm export json
CSVpm import csvpm export csv
TXTpm import txtpm 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

PerfilMemoria Argon2IteracionesParalelismoCaso de uso
standard64 MB32La mayoría de máquinas
hardened256 MB54Estaciones de trabajo (≥8 GB RAM)
paranoid512 MB64Servidores (≥16 GB RAM)
legacyPBKDF2600,0001Compatibilidad 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.


Estructura de versiones

Categorías