Todos os artigos
assistente-internob2blgpdcontrole-acesso

Assistente interno B2B para políticas e documentos: LGPD e controle de acesso

Assistente interno B2B para políticas e documentos: controle de acesso por área, minimização de dados e registro de perguntas conforme a LGPD na prática.

4 min de leitura

Empresas acumulam políticas, manuais, normas e procedimentos em diversos formatos. Um assistente interno baseado em LLM pode responder dúvidas de colaboradores com agilidade, mas exige cuidados específicos: quem pode acessar qual conteúdo? Como evitar o vazamento de dados pessoais? Como registrar as perguntas para melhorar a base sem violar a LGPD? Este artigo apresenta uma abordagem prática para esses três pontos.

Arquitetura básica

O assistente combina uma base de documentos, um mecanismo de busca, um modelo de linguagem e uma camada de registro. O fluxo típico é:

  1. O colaborador autentica e faz uma pergunta.
  2. O sistema identifica a área do colaborador (ex.: RH, financeiro, engenharia).
  3. Filtra os documentos que aquela área pode acessar.
  4. Recupera os trechos mais relevantes entre os documentos permitidos.
  5. Monta um prompt com o contexto filtrado e envia ao LLM.
  6. Retorna a resposta e registra a interação de forma anonimizada.

O código a seguir ilustra a chamada ao modelo usando o SDK da OpenAI, com as credenciais vindo de variáveis de ambiente fornecidas pela sua equipe de acesso.

python
import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["BASE_URL"],
    api_key=os.environ["API_KEY"],
)

def responder_pergunta(pergunta, area_usuario, documentos):
    # Filtra documentos que o usuário pode acessar
    docs_permitidos = [doc for doc in documentos if area_usuario in doc["areas_permitidas"]]
    contexto = "\n\n".join(doc["texto"] for doc in docs_permitidos[:5])
    
    resposta = client.chat.completions.create(
        model="sua-equipe-indica-o-modelo",
        messages=[
            {"role": "system", "content": "Você é um assistente interno. Use apenas o contexto fornecido."},
            {"role": "user", "content": f"Contexto:\n{contexto}\n\nPergunta: {pergunta}"}
        ],
        temperature=0.2,
    )
    return resposta.choices[0].message.content

Controle de acesso por área

Autenticação não é autorização. Saber quem é o colaborador não significa que ele pode ver todos os documentos. Cada documento deve ter metadados indicando as áreas ou perfis autorizados. Por exemplo:

json
{
  "id": "doc-123",
  "titulo": "Política de reembolso",
  "areas_permitidas": ["financeiro", "rh"],
  "texto": "..."
}

Na etapa de recuperação, o filtro por área deve ser determinístico, feito antes de enviar qualquer conteúdo ao modelo. O LLM não deve decidir o que o usuário pode ou não ver; isso é responsabilidade da aplicação. Se a base for grande, vale usar índices separados por área ou um banco vetorial com filtro de metadados nativo. O importante é que o contexto enviado ao modelo contenha apenas documentos cujo acesso é permitido para aquela área.

Minimização de dados e LGPD

O princípio da necessidade é central na LGPD: trate apenas os dados pessoais indispensáveis para a finalidade. Em um assistente interno, isso significa:

  • Não enviar ao LLM trechos com CPF, e-mail, telefone ou outros identificadores, a menos que sejam estritamente necessários para a resposta e haja base legal.
  • Remover ou mascarar esses dados antes da indexação, se possível, e também antes de montar o prompt.
  • Aplicar a mesma sanitização nos logs.

Uma função simples de sanitização com expressões regulares pode reduzir o risco:

python
import re

def sanitizar(texto):
    texto = re.sub(r"\b\d{3}\.\d{3}\.\d{3}-\d{2}\b", "[CPF_REMOVIDO]", texto)
    texto = re.sub(r"\b[\w\.-]+@[\w\.-]+\.\w{2,}\b", "[EMAIL_REMOVIDO]", texto)
    texto = re.sub(r"\(?\d{2}\)?\s?\d{4,5}-?\d{4}", "[TELEFONE_REMOVIDO]", texto)
    return texto

Lembre-se de que a sanitização por regex é uma camada inicial; dados estruturados exigem regras mais robustas. O objetivo é minimizar a exposição de dados pessoais tanto no fluxo de consulta quanto no armazenamento.

Registro de perguntas para melhorar a base

Registrar as perguntas e respostas é valioso para identificar lacunas na documentação, termos confusos e necessidades recorrentes. Mas esse registro também deve seguir a LGPD.

Algumas práticas recomendadas:

  • Armazene a pergunta já sanitizada, sem dados pessoais.
  • Guarde apenas a área ou departamento do usuário, não o nome completo ou e-mail.
  • Use um hash do identificador do usuário se for necessário rastrear a interação, em vez do ID original.
  • Defina uma finalidade clara para o log (ex.: melhorar a base de conhecimento) e um prazo de retenção.
  • Restrinja o acesso aos logs a administradores autorizados.

Exemplo de estrutura de registro:

python
import hashlib

def registrar_log(pergunta, resposta, area_usuario, usuario_id):
    registro = {
        "pergunta": sanitizar(pergunta),
        "resposta": resposta,
        "area": area_usuario,
        "usuario_hash": hashlib.sha256(usuario_id.encode()).hexdigest()[:16],
        "timestamp": "2026-10-27T12:00:00Z"  # em produção, use datetime.utcnow()
    }
    # salvar em banco de dados com acesso restrito e política de retenção
    # ...

Armadilhas comuns

  • Enviar documento inteiro quando um trecho basta: aumenta o risco de expor dados desnecessários e eleva o custo de tokens.
  • Registrar logs com dados pessoais: perguntas podem conter nomes, CPFs ou e-mails; sanitize antes de gravar.
  • Um único índice sem separação por área: um colaborador pode receber resposta com conteúdo de outra área, mesmo sem intenção.
  • Não revisar permissões e logs periodicamente: áreas mudam, pessoas trocam de setor, e a base evolui.

Conclusão

Um assistente interno B2B para políticas e documentos é viável e agrega eficiência, desde que o desenho respeite controle de acesso por área, minimização de dados e registro responsável. As decisões de autorização devem ficar na aplicação, não no modelo. A sanitização e a anonimização precisam ser aplicadas antes do envio ao LLM e antes do armazenamento dos logs. Assim, a empresa melhora a base de conhecimento sem abrir mão da conformidade com a LGPD.

A TokenRecarga fornece acesso a modelos de IA para empresas brasileiras, com atendimento e faturamento no Brasil. Quer entender como a sua empresa pode usar modelos de IA com atendimento e faturamento no Brasil? Fale com a gente — a equipe da TokenRecarga responde em português.

Quer usar isso na sua empresa?

Conte o que sua equipe precisa e preparamos uma proposta.

Continue lendo