Decida quais clientes podem acessar seus modelos
Regras de acesso por cabeçalho da requisição que permitem ou negam por User-Agent, origem ou qualquer cabeçalho — com escopo global, em um grupo de chaves ou em uma única chave.
Do que a comunidade realmente reclama
"Uma chave vazada significa que qualquer um com ela pode queimar nossa cota", "queremos colocar em allowlist os agentes de código de toda a empresa, mas bloquear curl puro e scrapers", "o console do fornecedor tem allowlist de IP, mas nosso tráfego é dinâmico e fica atrás de proxy, então nunca se encaixa".
A aplicação precisa acontecer onde a requisição chega — no gateway — e não em uma configuração do lado do cliente que um desenvolvedor pode simplesmente desligar.
Como o GateLLM faz isso
O GateLLM avalia regras de admissão em cada requisição contra cabeçalhos HTTP: seis tipos de correspondência (exato / prefixo / regex / existe / ausente / qualquer) e três escopos (global / grupo de chaves / chave), ordenados por sort_order com primeira correspondência vencendo.
Para "somente clientes aprovados" você usa o modo allowlist: defina a ação padrão do grupo como negar e então adicione uma única regra de permissão que corresponda à assinatura do cliente — tudo o mais é rejeitado antes de chegar a um modelo.
5 alavancas que realmente funcionam
- 6 tipos de correspondência: exato / prefixo / regex / existe / ausente / qualquer — uma regra pode expressar "A ou B ou C" via alternância de regex
- 3 escopos: global, por grupo de chaves, por chave — com primeira correspondência vencendo e prioridade global na mesma ordem
- Modo allowlist: negar por padrão + uma permissão explícita — novos clientes desconhecidos são rejeitados por padrão
- As regras também cobrem rotas de listagem de modelos (/v1/models), então um cliente negado fica bloqueado de ponta a ponta
- Motor de regex linear seguro contra ReDoS — padrões patológicos são rejeitados no carregamento, não no momento da requisição