Plataforma
O portão que toda resposta de IA atravessa.
Guardrail-as-a-service modelo-agnóstico: rails em cada estágio da interação, detectores calibrados para o Brasil regulado, e um recibo imutável para cada decisão. Motor open-weights IBM Granite Guardian, auto-hospedado.
Cinco rails, um portão
O guardrail roda em cada estágio da interação — não só na saída.
Input rail
Antes do modelo: jailbreak, prompt injection, PII no prompt, tópico fora de escopo, idioma. No código: regras + máscara de PII rodam sobre o texto de entrada em /gcloud/guard.
Retrieval rail
Nos trechos recuperados (RAG): fonte não autorizada, dado sob sigilo, documento vencido.
Dialog rail
No fluxo: política por tenant, persona, escopo regulatório, recusa com justificativa.
Execution rail
Nas ferramentas/agentes: validação de argumentos, allowlist de ações, sem credencial no prompt.
Output rail
Depois do modelo: alucinação, citação inexistente, PII, toxicidade, viés, formato. No código: safety + compliance + PII sobre a resposta; verificação de citação ainda é esqueleto.
Detectores
O que o portão enxerga.
Groundedness & alucinação
Toda afirmação é cotejada com o contexto e o corpus (Planalto, LexML, BCB, ANVISA, RAGJur). verify.js existe como esqueleto; o corpus ainda não está ligado ao rail.
Citação verificável
Lei, artigo, acórdão e número de processo conferidos contra a fonte oficial. Inexistente → bloqueio; divergente → alerta.
PII & sigilo
CPF, CNPJ, RG, e-mail, telefone e CEP mascarados por regex brasileira — implementado e testável local. Tokenização e bloqueio por base legal (LGPD art. 7/11) ainda não.
Jailbreak & prompt injection
Detecção por padrão determinístico em português (fallback do classifier.js). O classificador dedicado em pt-BR, inclusive injeção indireta em documentos, está no roadmap.
Safety & viés
Cinco categorias no fallback (self-harm, violência, viés, vazamento de credencial, jailbreak). A taxonomia completa do Granite Guardian entra quando GRANITE_GUARDIAN_URL estiver configurado.
Escopo regulado
Diagnóstico sem CFM, consultoria sem OAB, decisão administrativa sem agente público, promessa de resultado — 120 linhas de regras brasileiras codificadas em rules.js.
Topic control
Mantém a conversa no domínio contratado; redireciona ou recusa com mensagem auditável.
Formato & schema
JSON/schema, tamanho, idioma e campos obrigatórios validados antes de seguir para o sistema cliente.
Integração
Como vai entrar em produção — sem reescrever o que já existe.
Proxy OpenAI-compatible
Trocar a base URL e ter /v1/chat/completions com streaming inspecionado inline. Não implementado.
SDK uma linha
gcloud.guard(prompt, resposta) em Python e JavaScript. Os pacotes gcloud-guard (PyPI) e @gcloud/guard (npm) não existem: ambos retornam 404.
Plugin de gateway
Kong, APISIX, Envoy — o portão no perímetro, antes de qualquer modelo. Não implementado.
Modelo-agnóstico
O contrato de /gcloud/guard não sabe nem precisa saber quem respondeu: Claude, GPT, Gemini, Llama ou modelo próprio. Vale como desenho; falta o serviço no ar.
Governança & evidência
Confiança sem rastro não vale. O rastro está desenhado — e aqui está o que já existe dele.
Policy-as-code
As regras vivem em código (rules.js) e o inventário é exposto por /gcloud/rules. Revisão por PR com changelog publicado ainda não é prática em operação.
Recibo público
Cada decisão gera recibo com hash sha256 e carimbo OpenTimestamps quando configurado — best-effort, retorna 'pendente' se o calendar falhar. A retenção WORM de 7 anos não existe: o store é volátil.
Observabilidade
/gcloud/audit devolve intercepções por tenant e período a partir de um array em memória. Trace por requisição, painel e export para SIEM estão no roadmap.
Red-team & avaliação contínua
Suíte de ataques em português (jailbreak, injeção, exfiltração) rodando a cada release; métricas públicas.
Human-in-the-loop
O recibo já marca revisao_humana quando a ação é block. A fila de revisão com SLA e trilha de quem decidiu não existe.
Mapeamento normativo
OWASP LLM Top 10, NIST AI RMF, ISO/IEC 42001, EU AI Act — e o que importa aqui: LGPD, LC 105, OAB, CFM, CPC, LRF. Codificado nas regras; falta o serviço que as executa.
Motor open-weights · Hugging Face
Os pesos são públicos. Qualquer auditor baixa, roda e confere.
O g.cloud não hospeda estes modelos hoje: eles são a referência pública do motor que pretendemos acoplar. Enquanto GRANITE_GUARDIAN_URL não estiver configurado, o classificador opera em modo determinístico por regex.
Granite Guardian 4.1 · 8B
Classificador de risco atual: harm, social bias, jailbreak, violence, profanity, sexual, unethical, PII, groundedness, relevance, function-call. Apache-2.0. Também em GGUF para llama.cpp.
Granite Guardian 3.2 · 5B / 3B-A800M
Variantes leves (MoE 800M ativos) para latência baixa — candidatas ao rail de entrada. LoRAs de correção de harm e factualidade.
Granite Guardian HAP · 38M / 125M
Detector de hate/abuse/profanity minúsculo, cabe em CPU. Não está em uso no g.cloud hoje.
Granite Guardian · coleção
Todas as versões (3.0 → 4.1), GGUF, LoRAs e o detector de factualidade 3.2-8B, lado a lado.
IBM Granite — organização
Família completa: LLMs, embeddings, vision, speech, guardian. Pesos abertos, benchmarks publicados.
Guardrails Hub (Guardrails AI)
Referência de ecossistema: validadores plugáveis da comunidade — o modelo que o nosso marketplace pretende seguir.
Esquemas
O guardrail desenhado.
Compliance as code