APM é um gerenciador de senhas CLI rápido e de conhecimento zero, escrito em Go e Rust. Ele armazena **mais de 25 tipos de segredos estruturados** em um único cofre criptografado — de senhas e códigos TOTP a chaves SSH, registros médicos, fotos e arquivos binários. Dois binários são distribuídos a partir deste repositório: `pm` para uso pessoal e `pm-team` para cofres organizacionais compartilhados.
Por que APM?
- Rápido e fácil de aprender — sem memorizar comandos ou flags. O APM solicita tudo o que precisa. Flags de CLI também estão disponíveis para usuários avançados que desejam máxima velocidade.
- Conhecimento zero — sua senha mestra nunca é armazenada. Três chaves separadas de 32 bytes são derivadas usando Argon2id. Ninguém além de você pode descriptografar seu cofre.
- Criptografia dupla — escolha entre AES-256-GCM ou XChaCha20-Poly1305. Integridade em camada dupla via HMAC-SHA256 sobre a autenticação AEAD.
- Portátil — um arquivo de cofre, um binário. Leve seu cofre para qualquer lugar.
- Nuvem opcional — sincronize com Google Drive, GitHub ou Dropbox. Totalmente opcional; nenhuma conta é necessária para usar o APM.
- Pronto para IA — servidor MCP nativo com tokens com escopo para que Claude, Cursor ou qualquer agente compatível com MCP possa acessar seu cofre com segurança.
- Pronto para equipes — RBAC completo, departamentos, fluxos de aprovação e cofres compartilhados no
pm-team.
Início 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
Edição de equipe:
cd team
go build -o pm-team .
Tipos de Segredos
O APM suporta 25 tipos de segredos estruturados com campos validados e lógica de exibição específica por tipo:
| # | Tipo | # | Tipo |
|---|
| 1 | Senha | 14 | Registro Docker |
| 2 | TOTP | 15 | Segredo de CI/CD |
| 3 | Documento de Identidade Governamental | 16 | Nota Segura |
| 4 | Registro Médico | 17 | Códigos de Recuperação |
| 5 | Informações de Viagem | 18 | Certificado |
| 6 | Contato | 19 | Bancário |
| 7 | Wi-Fi | 20 | Documento |
| 8 | Chave de API | 21 | Licença de Software |
| 9 | Token | 22 | Contrato Legal |
| 10 | Chave SSH | 23 | Foto |
| 11 | Configuração SSH | 24 | Áudio |
| 12 | Credenciais de Nuvem | 25 | Vídeo |
| 13 | Kubernetes | | |
Recursos
Segurança
- Derivação de chave Argon2id de conhecimento zero — a senha mestra nunca é armazenada
- Cifras AEAD duplas: AES-256-GCM e XChaCha20-Poly1305
- Verificação de integridade em dupla camada HMAC-SHA256
- Quatro perfis de segurança ajustáveis:
standard, hardened, paranoid, legacy
- Watchtower (
pm watchtower): uma pontuação de segurança de 0 a 100 com senhas fracas, reutilizadas, antigas, vazadas (opt-in, k-anônimo) e expostas, itens expirando, autenticação de dois fatores e passkeys ausentes, chaves de risco e verificações de configuração, além de pontuações de confiança por item e uma revisão de atividades
- Senhas incorretas adicionam uma espera crescente (nunca um bloqueio permanente), compartilhada entre a CLI, o aplicativo e a extensão
- Registro de auditoria à prova de adulteração armazenado fora do cofre
Cofre
- Arquivo de cofre criptografado único — portátil entre qualquer dispositivo
- Espaços para compartimentação lógica (como pastas)
- Busca difusa com navegador interativo e navegação por teclado
- Inspetor de metadados: data de criação, último acesso, contagem de acessos, pontuação de confiança
TOTP
- Temporizadores de contagem regressiva ao vivo em uma lista interativa
- Ordenação personalizada persistente
- Cópia direta:
pm totp github
- Integração com daemon de preenchimento automático para injeção automática de códigos 2FA
Sincronização em Nuvem
- Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
- Criptografia de ponta a ponta — os provedores nunca veem o texto simples
.apmignore para filtrar entradas por provedor
- Resolução de conflitos: sobrescrever, manter local ou cancelar
- Sincronização automática em segundo plano
Sessões
- Desbloqueio/bloqueio explícito com expiração configurável e tempo limite de inatividade
- Sessões efêmeras delegadas para automação e acesso de agentes de IA
Servidor MCP
- Servidor nativo do Model Context Protocol
- Tokens de permissão com escopo:
read, secrets, write, admin
- Operações de escrita aguardam sua aprovação no aplicativo desktop; assistentes não podem aprovar suas próprias alterações
- Funciona com Claude Desktop, Cursor, Windsurf e qualquer cliente MCP
Recuperação
| Fator | Comando |
|---|
| OTP por E-mail | pm auth email |
| Chave de Recuperação | pm auth recover |
| Compartilhamentos de Quórum (Shamir) | pm auth quorum-setup |
| Passkey WebAuthn | pm auth passkey register |
| Códigos de Recuperação de Uso Único | pm auth codes generate |
Importação / Exportação
| Formato | Importação | Exportação |
|---|
| JSON | pm import json | pm export json |
| CSV | pm import csv | pm export csv |
| TXT | pm import txt | pm export txt |
Mecanismo 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/
Team Edition (pm-team)
- RBAC com múltiplos papéis
- Departamentos com domínios de encriptação isolados
- Fluxos de aprovação para entradas sensíveis
- Cofres partilhados para partilha de credenciais entre vários utilizadores
Extensão de browser
A extensão de browser do APM preenche inícios de sessão, oferece códigos de utilização única nos sites a que pertencem, guarda novos inícios de sessão e cria e utiliza passkeys. Nunca vê a sua palavra-passe mestra nem a chave privada de uma passkey. Comunica com uma pequena bridge que o APM disponibiliza na sua própria máquina em 127.0.0.1:41417 (defina APM_BRIDGE_PORT para usar outra porta).
Três formas de aceder ao cofre
- Com a aplicação de desktop: a bridge é executada enquanto a aplicação estiver aberta. Os pedidos de emparelhamento e os desbloqueios do browser aparecem na aplicação.
- Apenas com a CLI, ligada (recomendado): execute
pm extension link uma vez. Regista o pm como anfitrião de mensagens nativas em cada browser Chromium (Chrome, Edge, Brave, Arc, Vivaldi, Chromium) e, a partir daí, o browser inicia o pm por si próprio sempre que a aplicação estiver fechada.
- Apenas com a CLI, a partir de um terminal: execute
pm extension serve e deixe-o aberto. Disponibiliza a mesma API que a aplicação de desktop disponibiliza e mostra cada pedido de desbloqueio, bloqueio e emparelhamento à medida que ocorre.