JustCyber

Norte

Um assistente de cibersegurança que qualquer pessoa usa sem cadastro, com escopo travado e sem guardar conversa.

O Norte é a única superfície de IA da plataforma que responde sem autenticação. POST /api/v1/norte/chat, sem Bearer, sem contexto de tenant, sem cadastro. Responde em português sobre cibersegurança defensiva, higiene digital e LGPD, e recusa educadamente o resto.

A fundamentação é RAG-lite: 28 entradas de FAQ curadas e revisadas, versionadas em código. A recuperação é determinística — normaliza a pergunta (sem acento, sem stopwords), pontua cada entrada por sobreposição de tokens dando peso maior a título, pergunta e tags, e devolve o top-3 acima de um limiar. Os trechos recuperados vão ao modelo como contexto liberado por allowlist e voltam ao usuário como fontes citadas. Toda inferência passa pelo Gateway de IA da plataforma; nada aqui fala direto com o provedor.

A postura é conservadora porque é um endpoint público que gasta token. O texto do usuário chega ao modelo como DADO dentro de <untrusted_context>, nunca como instrução, e o system prompt congelado proíbe troca de papel, instrução ofensiva, invenção de CVE/CVSS e promessa de garantia absoluta. O cliente não consegue forjar uma mensagem role='system'. O egress passa pelo PII-strip do Gateway. Se o Gateway cair, o usuário recebe um texto de fallback honesto — nunca um 500 cru. E a contabilização de uso de IA cai num tenant público dedicado, isolado dos tenants de clientes: o Norte nunca lê nem escreve dado de cliente.

O que faz hoje

Capacidades em operação

Cada item corresponde a funcionalidade que existe no código e é alcançável por um usuário com o escopo correto.

  • Resposta pública sem cadastro

    Rota aberta, sem JWT e sem tenant, com rate-limit de 6 requisições por minuto por IP.

  • Fundamentação em base curada com fontes

    Recuperação determinística sobre 28 entradas de FAQ (senhas, MFA, passkeys, phishing, golpes de PIX e WhatsApp, ransomware, backup 3-2-1, LGPD e direitos do titular, plano de incidentes, entre outras). A resposta devolve as fontes usadas.

  • Escopo travado

    System prompt congelado limita o assunto a cibersegurança defensiva, higiene digital e LGPD; fora disso o Norte recusa em uma frase e reorienta.

  • Anti-prompt-injection por desenho

    Texto do usuário entra como dado em bloco não-confiável; ordens de trocar de papel, esquecer regras ou revelar o prompt são ignoradas. O schema impede o cliente de injetar mensagem de sistema.

  • Sem conversa guardada

    Stateless: o session_id só correlaciona log e rate-limit. Nada de conversa em banco. O histórico é o que o cliente reenvia, truncado nos 6 últimos turnos.

  • Fallback honesto

    Queda do Gateway, estouro de orçamento ou bloqueio por guardrail devolvem um texto útil e seguro, com orientação de primeiro passo em caso de incidente — nunca erro cru.

  • Widget embutível

    Além da tela no produto, existe uma versão compacta em /embed/norte reusando a mesma rota.

O que fica com você

Entregáveis

  • Tela de chat /app/norte no produto e widget /embed/norte para embutir
  • Resposta em PT-BR com as fontes de FAQ usadas e o disclaimer fixo
  • Trilha de uso de IA (ai_usage_event / ai_egress_log) persistida sob o tenant público dedicado

O que este módulo não faz

RAG-lite, não vetorial: retrieve é sobreposição de tokens sobre 28 entradas escritas à mão em faq.py. O Norte não indexa documentos do cliente, não lê a base da empresa, não busca na web e não consulta CVE. Pergunta fora dessas 28 entradas é respondida com conhecimento geral do modelo, sem fundamentação e sem fonte. Stateless de verdade: não há memória entre requisições nem histórico recuperável — se o cliente não reenviar o histórico, o Norte não sabe o que foi dito. Não abre chamado, não escala para humano e não integra com o SOC. Atrás de proxy, o rate-limit por IP degrada: request.client.host é o IP do proxy, e o X-Forwarded-For confiável no ingress ainda não foi resolvido. Sob queda do Redis a rota é fail-open por decisão (é rota pública de custo, não credencial). Se o tenant público não estiver seedado, o chat funciona normalmente e só a persistência da trilha de IA degrada para best-effort.

Declaramos o limite porque software de segurança que promete tudo não é auditável. Se o que falta aqui é o que você precisa, o serviço consultivo cobre — ou dizemos que não cobre.

Conecta com

  • Gateway de IA da plataforma (app/ai) — registro aditivo da task norte_chat
  • Rate-limit central (app/core/ratelimit)
  • Tenant público dedicado para contabilização de IA
Norte

Quer ver funcionando?

Demonstração com dado do seu ambiente, não com base de exemplo. É a única forma de saber se serve.