WordPress12/09/2026Redação de Tecnologia e Desenvolvimento7 min de leituraAtualizado em 16/09/2026

Secrets API no WordPress 7.2: como guardar chaves e tokens — e o que ainda fica de fora

A proposta cria armazenamento criptografado para credenciais, com acesso por código e WP-CLI. Veja o que já está definido, como preparar plugins e o que ainda não entrou no Core.

Ilustração tecnológica com painel do WordPress 7.2, interface da Secrets API, cofre digital, terminal WP-CLI e janela de código.

Em 12 de setembro de 2026, a Secrets API ainda não é uma API confirmada no WordPress 7.2: ela está em fase de feature plugin, antes do merge no Core. A proposta publicada no Make WordPress Core define uma interface de armazenamento criptografado para chaves de API, tokens e outras credenciais, com suporte de WP-CLI e pontos de extensão para provedores externos. O plano é decidir antes da Beta 1 do WordPress 7.2 se a API entra nessa versão ou se será adiada para 7.3. Por isso, desenvolvedores já podem testar o desenho, mas não devem tratar a presença dessas funções no Core como garantida.

Primeiro: a API ainda não está confirmada no Core 7.2

A proposta foi publicada em 25 de agosto de 2026 e ganhou um feature plugin para que contribuidores e autores de plugins possam testar o comportamento antes do patch do Core. Em 10 de setembro, o resumo do Dev Chat registrou que já havia uma implementação inicial em funcionamento e pediu feedback, especialmente sobre interoperabilidade com provedores externos.

O repositório do projeto descreve o estado atual como “pre-core-merge”: a superfície pública do feature plugin está definida, mas o código ainda não foi incorporado ao WordPress. O calendário do 7.2 marca a Beta 1 para 20–22 de outubro de 2026; a própria proposta usa essa janela como limite prático para entrar na versão, com a alternativa explícita de adiar para 7.3 se não estiver pronto.

Fontes principais: proposta da Secrets API, feature plugin no GitHub, resumo do Dev Chat de 9 de setembro e calendário do WordPress 7.2.

Que problema a Secrets API tenta resolver

Hoje, o Core não oferece uma abstração de primeira classe para credenciais. Plugins que precisam de uma chave de API ou token costumam recorrer à Options API ou a mecanismos próprios. Isso pode deixar valores sensíveis misturados a dados comuns do site e replicados em dumps de banco, backups, clones de staging e outros fluxos operacionais.

A proposta cria um caminho comum para que o plugin diga “isto é um segredo” e delegue armazenamento, criptografia, rotação e integração com infraestrutura ao WordPress ou ao provedor da hospedagem. O ganho pretendido não é tornar qualquer código PHP incapaz de ler o valor; é reduzir a exposição de credenciais em repouso e criar um ponto único para operações e auditoria.

Como o armazenamento proposto funciona

  • Criptografia sempre ativa: não há modo de texto puro. A implementação padrão usa criptografia em repouso com hierarquia de chaves.
  • Armazenamento padrão substituível: o WordPress pode manter registros criptografados usando a infraestrutura de opções, mas hosts podem trocar o provedor, o keyring ou o store por integrações com KMS, HSM ou serviços de segredos.
  • Drop-in dedicado: um arquivo wp-content/secrets.php é o ponto proposto para instalar implementações alternativas.
  • Duas versões do valor: CURRENT e PREVIOUS permitem rotação sem manter histórico indefinido.
  • Falha fechada: se o backend de segredos ou o keyring estiver indisponível, a operação retorna erro; a proposta rejeita fallback silencioso para armazenamento menos seguro.
  • Sem exportação em texto puro: o desenho não prevê um mecanismo de exportar valores secretos; migrações e ambientes de staging devem receber nova entrada de credenciais.

O feature plugin atual também separa três níveis de extensão: um WP_Secrets_Provider para plataformas em que o sistema externo é a fonte da verdade, um WP_Secrets_Keyring para substituir a proteção da chave raiz e um WP_Secrets_Store para trocar onde os registros ficam armazenados.

Como plugins acessariam um segredo por código

A API proposta é pequena. Para gravar, o desenho expõe wp_set_secret(); para ler, wp_get_secret(); para apagar, wp_delete_secret(); e para mover um valor conhecido da Options API, wp_import_option_as_secret().

A leitura foi desenhada para distinguir três estados: um objeto WP_Secret quando o valor existe e pode ser recuperado, null quando não existe e WP_Error quando existe, mas não pode ser lido — por exemplo, por falha de chave ou backend. Essa distinção evita que um plugin confunda “credencial ausente” com “credencial quebrada” e execute novamente um fluxo de conexão indevidamente.

O valor bruto exige uma chamada explícita a WP_Secret::reveal(). O objeto também oferece uma impressão digital por fingerprint(), útil para comparar ou auditar um segredo sem expor seu conteúdo. A convenção de nomes é plugin-slug/secret-name, mas o namespace é organizacional: a própria documentação atual deixa claro que ele não cria isolamento forte entre plugins no mesmo processo PHP.

Onde entra o WP-CLI

O WP-CLI está no escopo da proposta para o 7.2 porque funciona como primeiro consumidor oficial da API e ajuda a testar se a interface é suficiente para operações reais. Há também uma razão de segurança operacional: credenciais passadas diretamente como argumentos de shell podem acabar em histórico ou na lista de processos. Uma integração própria com a Secrets API pode oferecer fluxos de leitura e gravação que evitem esse padrão.

Entretanto, a proposta de agosto ainda pedia feedback sobre quais comandos deveriam existir e em qual ordem. Portanto, autores de documentação e automações não devem congelar nomes de comandos do feature plugin como se fossem uma interface definitiva do WordPress 7.2 até haver merge no Core e documentação oficial correspondente.

Como migrar chaves que hoje estão em wp_options

A proposta deliberadamente evita uma migração automática. O Core não consegue identificar com segurança quais opções são credenciais, e uma varredura heurística poderia mover ou quebrar dados que não são segredos.

O caminho proposto é explícito: cada plugin conhece o nome da opção antiga e decide, em sua própria rotina de atualização, quando importá-la com wp_import_option_as_secret(). Depois da importação, a credencial deve ser tratada como candidata a rotação. Criptografar um token que já circulou por backups, réplicas e caches não apaga as cópias históricas; trocar o valor no serviço externo é o que reduz esse risco residual.

O que fica fora da primeira versão — e o que é um não objetivo

Item Status no desenho atual Implicação prática
Tela de administração para gerenciar segredos Adiada; a proposta aponta 7.3 O 7.2 prioriza semântica de armazenamento, acesso e extensibilidade, não uma UI completa.
Isolamento rígido entre plugins Fora do escopo Código que executa dentro do mesmo WordPress pode, em princípio, acessar segredos; namespace não é uma fronteira de privilégio.
Migração automática de opções existentes Não prevista Cada plugin deve migrar apenas credenciais que conhece e controlar seu próprio ciclo de upgrade.
Exportação de valores em texto puro Deliberadamente ausente Novos ambientes devem receber a credencial novamente em vez de transportar um dump de segredos.
Proteção contra execução arbitrária de código no processo PHP Fora do modelo de ameaça A API endurece armazenamento e exposição acidental, mas não derrota um invasor que já executa código com o WordPress.
Interface final de comandos do WP-CLI Ainda sujeita ao processo de integração Teste o feature plugin, mas espere a incorporação e a documentação do Core antes de depender de sintaxe definitiva.

Como preparar plugins e integrações agora

  1. Faça um inventário de credenciais: liste chaves, tokens, senhas de integração e opções em que elas vivem hoje.
  2. Isole leitura e escrita em uma camada própria: evite espalhar chamadas a get_option() e update_option() por todo o plugin. Um adaptador torna a troca para a Secrets API menos invasiva.
  3. Adote nomes estáveis e com namespace: planeje chaves como meu-plugin/servico-token, sem tratar o namespace como mecanismo de autorização.
  4. Modele os três estados de leitura: diferencie ausente, disponível e erro de recuperação.
  5. Planeje importação e rotação separadamente: importar remove o texto puro do caminho normal; rotacionar reduz o risco das cópias históricas.
  6. Revise logs e ferramentas operacionais: evite registrar valores, colocar tokens em URLs ou repassá-los como argumentos de linha de comando.
  7. Teste em ambiente descartável: o feature plugin existe justamente para validar a API antes do merge. Use-o para encontrar incompatibilidades, inclusive com provedores de hospedagem.
  8. Mantenha fallback apenas enquanto necessário: se o plugin precisar suportar versões anteriores do WordPress, encapsule a compatibilidade e remova-a quando sua matriz de suporte permitir.

Calendário e decisão prática para o ciclo 7.2

O WordPress 7.2 está em alpha. A Beta 1 está prevista para 20–22 de outubro e o lançamento final para 8–10 de dezembro de 2026. A proposta da Secrets API estabelece que, antes da Beta 1, o trabalho deve estar incorporado ao Core ou ser explicitamente adiado para 7.3, em vez de entrar apressadamente.

Para quem mantém plugins, a ação útil agora é preparar arquitetura e testes, não assumir disponibilidade. O feature plugin oferece um alvo concreto para experimentação e a proposta já esclarece princípios importantes — criptografia obrigatória, importação explícita, ausência de exportação e falta de isolamento por plugin —, mas a decisão que transforma isso em API oficial do WordPress depende do processo de merge do Core.

Tópicos deste artigochaves de APIcredenciaisplugins WordPressSecrets APIsegurança WordPresstokensWordPress 7.2WP-CLISecrets API WordPress 7.2armazenar chaves WordPresstokens WordPresscredenciais em pluginsWP-CLI secretssegurança de pluginswp_options