Voltar às atualizações
New releaseAug 5, 2026

apm v11.2.0

Um gerenciador de senhas local para todos

Compartilhar

APM

Um gerenciador de senhas local melhor para todos.

Go License Docs

CI Latest Release Stars Issues

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 o que precisa. Flags de CLI também estão disponíveis para usuários avançados que desejam velocidade máxima.
  • 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 para equipes:

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
1Senha14Registro Docker
2TOTP15Segredo de CI/CD
3Documento de Identidade16Nota Segura
4Registro Médico17Códigos de Recuperação
5Informações de Viagem18Certificado
6Contato19Banco
7Wi-Fi20Documento
8Chave de API21Licença de Software
9Token22Contrato Legal
10Chave SSH23Foto
11Configuração SSH24Áudio
12Credenciais de Nuvem25Vídeo
13Kubernetes

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 camada dupla HMAC-SHA256
  • Quatro perfis de segurança ajustáveis: standard, hardened, paranoid, legacy
  • Pontuação de confiança por segredo (0–100) com base em idade, acesso e nível de privilégio
  • 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

  • Contadores regressivos 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 injetar códigos 2FA automaticamente

Sincronização em Nuvem

  • Google Drive (OAuth2 PKCE), GitHub (PAT), Dropbox (OAuth2 PKCE)
  • Criptografia 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
  • Proteções transacionais para operações de escrita: pré-visualizar → aprovar → recibo
  • Funciona com Claude Desktop, Cursor, Windsurf e qualquer cliente MCP

Recuperação

FatorComando
OTP por E-mailpm auth email
Chave de Recuperaçãopm auth recover
Compartilhamentos Quorum (Shamir)pm auth quorum-setup
Passkey WebAuthnpm auth passkey register
Códigos de Recuperação de Uso Únicopm auth codes generate

Importação / Exportação

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/

Edição para Equipes (pm-team)

  • RBAC com múltiplos papéis
  • Departamentos com domínios de criptografia isolados
  • Fluxos de aprovação para entradas sensíveis
  • Cofres compartilhados para compartilhamento de credenciais entre vários usuários

Perfis de Segurança

PerfilMemória Argon2IteraçõesParalelismoCaso de Uso
standard64 MB32Maioria das máquinas
hardened256 MB54Estações de trabalho (≥8 GB RAM)
paranoid512 MB64Servidores (≥16 GB RAM)
legacyPBKDF2600,0001Compatibilidade retroativa

O APM detecta automaticamente os núcleos da CPU e a RAM para recomendar o perfil ideal durante o pm setup.

Status de Desenvolvimento e histórico

(Esta nota é do proprietário) Em 30 de março de 2026, estou atualmente trabalhando na GUI do APM. No início, começou como uma aplicação CLI. A issue #38 explica tudo em detalhes. No geral, quero que o APM alcance um público ainda maior. Vou manter a GUI separada em um repositório apm-gui ou criar uma organização e mover ambos os repositórios para lá.

Comecei o APM como um projeto verdadeiramente pessoal. Começou em uma noite aleatória, quando eu queria criar meu próprio gerenciador de senhas. Eu estava cansado do zoho password, já que o usava para TOTPs. Era incrivelmente lento para funcionar, e eu usava arquivos de texto simples para meus tokens, o que não é seguro.

No momento, NÃO pretendo abandonar/descontinuar o projeto. Ele permanecerá funcional por muito tempo. Tento melhorá-lo todos os dias e o uso todos os dias. Às vezes, o repositório pode ficar inativo, e é quando testo e experimento a aplicação.


Estrutura de Lançamentos

Categorias