Executando verificação de segurança...
1

PITCH: Surf Data - Conecte agentes de IA aos seus dados com segurança.

Fala, guys! Meu nome é Diogo Felizardo e estou construindo o Surf Data, uma plataforma SaaS brasileira que resolve um problema que quem trabalha com dados e IA conhece bem: como dar acesso seguro a bancos de dados para agentes de IA sem perder o sono com LGPD, infraestrutura e segurança?

Vou tentar explicar o problema, a solução, como funciona por dentro, os diferenciais, o modelo de negócio e os próximos passos. Bora lá.


O Problema

Se você é data engineer, dev backend ou qualquer pessoa técnica em uma empresa brasileira, já deve ter vivido isso:

"O time de marketing quer um agente de IA que responda perguntas sobre métricas de vendas."
"O time de suporte quer um chatbot que consulte dados de clientes."
"O time de produto quer um assistente que analise dados de uso."

Todos querem a mesma coisa: um agente de IA que converse com o banco de dados. E a tarefa de construir isso cai no seu colo.

O que acontece na prática:

  1. Complexidade — Você precisa entender o protocolo MCP (Model Context Protocol), montar a infra, criar endpoints, lidar com autenticação, parsing de queries, rate limiting...
  2. Custo — São semanas (às vezes meses) de trabalho de engenharia que não é core business da empresa
  3. Risco — Um erro e você expõe CPFs, emails, dados financeiros. A LGPD prevê multas de até 2% do faturamento
  4. Manutenção — Depois de construído, precisa manter. Atualizar dependências, monitorar, escalar...

O resultado? A maioria das empresas desiste ou gasta sprints inteiros em infraestrutura que deveria levar minutos.

A Solução: Surf Data

O Surf Data transforma o que seria um projeto de semanas em um setup de minutos. É uma plataforma managed que te dá um servidor MCP pronto, com segurança, mascaramento de PII e compliance LGPD built-in.

O Fluxo

flowchart LR
    A["1. Conecte sua base de dados"] --> B["2. Crie queries SQL"]
    B --> C["3. Configure PII masking"]
    C --> D["4. Publique URL MCP"]
    D --> E["5. Agente consome dados"]

    style A fill:#3b82f6,color:#fff
    style B fill:#8b5cf6,color:#fff
    style C fill:#f59e0b,color:#fff
    style D fill:#10b981,color:#fff
    style E fill:#06b6d4,color:#fff

Passo 1: Conecte seu banco de dados
PostgreSQL ou MySQL. Basta informar host, porta, database, user e password. As credenciais são criptografadas com AES-256 antes de serem armazenadas e nunca ficam em texto plano.

Passo 2: Crie SQL Tools
Cada tool é uma query SQL com nome, descrição e parâmetros. Pense nelas como "funções" que o agente pode chamar. Exemplo:

-- Tool: buscar_vendas_por_periodo
-- Descrição: Retorna vendas agregadas por mês dentro de um período
SELECT
    DATE_TRUNC('month', created_at) AS mes,
    COUNT(*) AS total_vendas,
    SUM(valor) AS receita_total,
    AVG(valor) AS ticket_medio
FROM vendas
WHERE created_at BETWEEN {{data_inicio}} AND {{data_fim}}
GROUP BY DATE_TRUNC('month', created_at)
ORDER BY mes DESC

O agente recebe a descrição da tool e sabe quando usá-la. Se o usuário pergunta "quais foram as vendas do último trimestre?", o agente chama buscar_vendas_por_periodo com os parâmetros corretos.

Passo 3: Configure mascaramento de PII
Aqui é onde a LGPD entra. Para cada coluna que contém dados sensíveis, você define uma regra de mascaramento. O sistema detecta automaticamente colunas como cpf, email, telefone, nome_completo e sugere o mascaramento adequado.

Passo 4: Publique
Você recebe uma URL MCP e um token Bearer. Plugue no Claude, no GPT, no seu agente custom, qualquer coisa que fale MCP.


Arquitetura Técnica

Para os curiosos de plantão, aqui vai como o Surf Data funciona por dentro. A stack é moderna e focada em performance:

graph TB
    subgraph Cliente
        Agent["Agente de IA"]
    end

    subgraph Plataforma
        MCP["MCP Endpoint"]
        Auth["Auth Layer"]
        SQL["SQL Engine"]
        PII["PII Masking"]
        Limits["Usage Tracker"]
        Logs["Invocation Logs"]
    end

    subgraph Databases
        PG[("PostgreSQL")]
        MY[("MySQL")]
    end

    Agent -->|JSON-RPC| MCP
    MCP --> Auth
    Auth --> SQL
    SQL --> PII
    SQL --> Limits
    SQL --> Logs
    SQL --> PG
    SQL --> MY
    PII -->|Dados mascarados| MCP
    MCP -->|Response| Agent

    style MCP fill:#3b82f6,color:#fff
    style Auth fill:#ef4444,color:#fff
    style PII fill:#f59e0b,color:#fff
    style Limits fill:#8b5cf6,color:#fff

Stack

CamadaTecnologia
FrameworkNext.js 16 (App Router) com TypeScript strict
EstilizaçãoTailwind CSS v4 + shadcn/ui
BancoPostgreSQL via Prisma v7
AuthClerk (com Organizations)
BillingStripe
EmailResend (alertas, digest semanal)
Editor SQLMonaco Editor (mesmo do VS Code)
IAVercel AI SDK + Anthropic
TestesVitest

Endpoint MCP

O coração do produto é o endpoint MCP que implementa o protocolo JSON-RPC 2.0 via HTTP. Quando um agente faz uma chamada:

  1. Autenticação. Token Bearer no formato sk_live_<base64url>, armazenado como hash SHA-256. Zero chance de leak em plaintext
  2. Validação SQL. Queries passam por um parser que bloqueia padrões perigosos: DROP, DELETE, INSERT, UPDATE, ALTER. Somente leitura
  3. AgentViews como CTEs. Views SQL criadas pelo usuário são injetadas como CTEs nas queries, permitindo composição sem risco
  4. Execução. Query executada no banco do cliente via connection pool cacheado (singleton por datasource)
  5. PII Masking. Resultados passam pelo engine de mascaramento antes de retornar ao agente
  6. Limites. Verificação de quota mensal (execuções, usuários, datasources por plano)
  7. Logging. Invocação registrada de forma assíncrona com stats por hora para o dashboard de analytics

Segurança em Profundidade

flowchart TD
    A["Request do Agente"] --> B["Token Bearer"]
    B --> C{"Hash SHA-256 valido?"}
    C -->|Nao| D["401 Unauthorized"]
    C -->|Sim| E["SQL Validation"]
    E --> F{"SQL perigoso?"}
    F -->|Sim| G["403 Forbidden"]
    F -->|Nao| H["Execucao read-only"]
    H --> I["PII Masking Engine"]
    I --> J{"Dados sensiveis?"}
    J -->|Sim| K["Mascaramento aplicado"]
    J -->|Nao| L["Dados originais"]
    K --> M["Response"]
    L --> M

    style D fill:#ef4444,color:#fff
    style G fill:#ef4444,color:#fff
    style K fill:#f59e0b,color:#fff
    style M fill:#10b981,color:#fff

A segurança não é um add-on, é a base:

  • Credenciais criptografadas com AES-256 em repouso
  • Tokens como hashes. Mesmo com acesso ao banco, não é possível reconstruir o token original
  • Read-only enforced. Sem exceções, sem bypass
  • PII masking. 18 tipos de dados sensíveis detectados automaticamente
  • Rate limiting. Por plano, por organização, por mês
  • Audit trail. Toda invocação é registrada com timestamp, tool, parâmetros e resultado

Mascaramento de PII - O Diferencial LGPD

A LGPD (Lei Geral de Proteção de Dados) é lei desde 2020, mas a realidade é que a maioria das empresas ainda não tem controles adequados, especialmente quando dados são consumidos por IA.

O Surf Data detecta automaticamente 18 tipos de dados sensíveis, incluindo categorias específicas do contexto brasileiro:

CategoriaExemplos de colunas detectadasMascaramento
CPFcpf, nr_cpf, num_cpf***.***.***-**
CNPJcnpj, nr_cnpj**.***.****/****-**
RGrg, identidade, nr_rg*******
Emailemail, e_mail, correioj***@***.com
Telefonetelefone, celular, phone(**) *****-****
Nomenome, nome_completo, full_nameJ*** S***
Endereçoendereco, logradouro, cepRua ***, nº ***
Cartão de Créditocartao, credit_card, card_number****-****-****-1234
Dados de Saúdediagnostico, health_data[REDACTED]
Dados Biométricosbiometria, fingerprint[REDACTED]
Opinião Políticapartido, political_opinion[REDACTED]
Crença Religiosareligiao, religious_belief[REDACTED]
Orientação Sexualorientacao_sexual[REDACTED]
Origem Étnicaetnia, ethnic_origin[REDACTED]
IPip_address, ip_origem***.***.***.***
Data de Nascimentodata_nascimento, birth_date**/**/****
Saláriosalario, remuneracao, salaryR$ ***,**
Genéticodados_geneticos, genetic[REDACTED]

A detecção funciona por pattern matching nos nomes das colunas em português e inglês. O sistema sugere automaticamente as regras, e o usuário pode ajustar, ativar ou desativar individualmente.

Dados sensíveis especiais (saúde, biometria, genéticos, opiniões políticas, etc.) são completamente redacted. Nem o agente de IA recebe esses dados.


Funcionalidades Principais

Editor SQL com Monaco

O mesmo editor do VS Code, com syntax highlighting, autocomplete e validação. Escrever queries é tão confortável quanto no seu IDE favorito.

AgentViews

Views SQL nomeadas que funcionam como CTEs. Permitem encapsular lógica de negócio complexa e reutilizar entre múltiplas tools. O agente não precisa saber dos JOINs de 15 tabelas, ele só vê a view limpa.

Criação de Tools com IA

Descreva o que você quer em linguagem natural e a IA gera a query SQL, os parâmetros e a descrição da tool. Utiliza Vercel AI SDK + Anthropic.

Dashboard de Analytics

Visualize quantas execuções foram feitas, quais tools são mais usadas, tempo médio de resposta, erros. Stats agregados por hora para performance.


O que já está pronto

  • Endpoint MCP completo com JSON-RPC 2.0
  • Suporte a PostgreSQL e MySQL
  • Engine de PII masking com 18 tipos e auto-detecção
  • Auth com Clerk Organizations + RBAC
  • Billing com Stripe
  • Dashboard com analytics de uso
  • Editor SQL com Monaco
  • Alertas de uso por email
  • Digest semanal automático
  • Criptografia AES-256 para credenciais
  • Tokens como SHA-256 hashes
  • SQL validation (read-only enforced)
  • i18n (PT-BR e EN)

Feedback

Estou construindo isso em público e o feedback da comunidade é essencial. Se você:

  • Trabalha com dados e IA? Me conta como você resolve esse problema hoje
  • Se preocupa com LGPD? Me diz se os 18 tipos de PII cobrem seu caso de uso
  • Quer testar? Acessa a plataforma e me diz o que achou
  • Tem sugestões? Comenta aqui, vou responder tudo

TL;DR: Surf Data é um MCP server managed que conecta sua base de dados a agentes de IA em minutos, com mascaramento de PII nativo para LGPD e segurança enterprise.

Obrigado por ler até aqui! 🏄‍♂️

http://surfdata.com.br/

Carregando publicação patrocinada...