Chaves secretas
uk_sk_…, a credencial do seu servidor. Criada no painel, mostrada uma vez,
armazenada como hash SHA-256.
201
api_keys:write.
Uma chave nasce dentro de um ambiente e nunca sai dele. O ambiente é escolhido
aqui, gravado no prefixo, e resolvido a partir da linha armazenada em toda
requisição. Nada que quem chama envie depois muda isso.
Listando
api_keys:read. Só o prefixo de exibição volta — o suficiente para reconhecer
uma chave numa lista, nunca o suficiente para usar uma.
last_used_at é carimbado com granularidade de minuto, best-effort: escrever a cada
requisição transformaria um caminho de leitura numa escrita em linha quente.
Revogando
204. A linha sobrevive com revoked_at carimbado, então o rastro de auditoria de
quais chaves existiram não desaparece com a chave. Chaves revogadas param de
autenticar imediatamente.
Rotacionando
Não existe endpoint de rotação, porque rotação são duas chamadas e um deploy:1
Crie a substituta
Mesmo ambiente, um nome que diga por que ela existe.
2
Faça o deploy
As duas chaves funcionam ao mesmo tempo — nada é exclusivo.
3
Revogue a antiga
Confira
last_used_at antes: se ainda estiver se mexendo, alguma coisa ainda a
está usando.Chaves publicáveis
uk_pk_…, uma por ambiente, criada junto com ele. Você nunca cria nem deleta;
você configura.
/v1/boot e os
fluxos /v1/contact-auth/*, e mais nada.
A lista de origens permitidas
Essa lista é a fronteira de segurança de verdade de uma chave que é pública por projeto.api_keys:write.
Entradas são esquema, host e opcionalmente porta. Sem path, sem query, sem
fragmento — um header Origin nunca carrega nenhum deles, e uma entrada que
carregasse nunca casaria com nada. Entradas malformadas respondem 400.
A comparação é exata sobre a origem normalizada. Sem curingas, sem prefixos: a
lista é curta, e a ambiguidade de qualquer coisa mais esperta é onde moram os
bypasses.
Com a lista preenchida, uma requisição sem header Origin também é recusada.
Navegadores sempre mandam um em cross-origin, então “sem Origin” significa “não é um
navegador” — exatamente quem a lista existe para barrar.
Uma origem recusada responde:
403
A outra proteção
O boot é limitado por chave publicável — 240 chamadas por minuto — além do limite por IP. Bots e tráfego de landing page criariam linhas de visitante para sempre, e a chave é a fronteira de tenant por onde uma enxurrada chega.Qual chave vai onde
Se uma chave vazar
1
Revogue
DELETE /v1/organization/api-keys/{id}. Ela para de funcionar na próxima
requisição.2
Crie a substituta e faça o deploy
Mesmo ambiente.
3
Se era federado, rotacione também o segredo de identidade
Um
uk_is_… vazado é pior que uma chave de API vazada: ele emite sessões
verificadas para qualquer id de usuário. Veja
Identidade federada.