Classifique campos por categorias do RGPD
O mapeador de categorias do RGPD analisa uma lista de nomes de campos coletados e atribui cada item a uma provável categoria especial ou a dados pessoais gerais.
Executar grátis
Ele reconhece sinais comuns em inglês relacionados a saúde, identificação biométrica, genética, origem racial ou étnica, opiniões políticas, crenças religiosas ou filosóficas, filiação sindical, vida sexual e orientação sexual. O resultado é determinístico e fácil de auditar, sendo útil na primeira triagem de um inventário. Como os nomes podem ser ambíguos, a resposta lembra que você ainda deve avaliar os valores reais e o contexto do tratamento.
Comece o inventário com rótulos consistentes
Revisões de privacidade frequentemente começam em uma planilha com centenas de colunas de banco de dados, controles de formulários, propriedades de eventos e cabeçalhos de exportação. Esses nomes podem usar snake case, camel case, hífens, abreviações ou expressões definidas por equipes diferentes. A ferramenta normaliza esses separadores e compara cada nome com um conjunto transparente de sinais em inglês. Por exemplo, medical_history é marcado como dado de saúde, enquanto customerEmail recebe a classificação de dado pessoal geral. A resposta preserva o nome original, informa a categoria, indica se ela é especial e mostra a regra responsável pela correspondência. Os totais resumem a lista para que você identifique rapidamente os pontos que merecem atenção. Isso cria uma primeira etapa repetível antes de uma avaliação de impacto, da atualização do registro de operações ou de uma revisão do esquema. Nenhum banco é consultado e nenhuma solicitação segue para terceiros: somente os nomes enviados são classificados.
Entenda a correspondência conservadora
O algoritmo procura palavras e expressões normalizadas completas, e não trechos soltos. Essa distinção reduz resultados inesperados: uma sequência curta dentro de uma palavra sem relação não transforma automaticamente o campo em categoria especial. As regras abrangem termos reconhecíveis ligados a saúde e prontuários clínicos, identificadores biométricos usados para identificação, material genético e genômico, origem racial ou étnica, opiniões políticas, crenças religiosas ou filosóficas, filiação sindical, vida sexual e orientação sexual. Quando há mais de um sinal, uma ordem estável escolhe uma categoria; assim, entradas idênticas sempre produzem a mesma saída. Nomes sem sinal especial reconhecido recebem general_personal_data, o que não significa que sejam anônimos, inofensivos ou alheios ao RGPD. E-mails, nomes, identificadores de dispositivos, endereços e contas ainda podem exigir controles rigorosos. Consulte a regra retornada para entender a escolha e localizar vocabulário interno que as heurísticas gerais desconhecem.
Use o resultado como triagem, não como parecer jurídico
O nome de uma coluna não revela todo o conteúdo armazenado nem a finalidade do tratamento. Um campo chamado notes pode conter informações médicas, opiniões políticas ou nenhum dado pessoal. Da mesma forma, face_photo não é necessariamente biométrico apenas por guardar uma imagem; a categoria especial depende de tratamento técnico específico voltado à identificação única. Portanto, use o mapa para priorizar o inventário, não para concluir a análise jurídica. Investigue os itens sinalizados com os responsáveis pelos dados, examine amostras sob controles adequados, documente as finalidades e confirme bases legais e salvaguardas com um profissional qualificado. Revise também campos não sinalizados, sobretudo textos livres e códigos opacos. Em uma governança automatizada, mantenha a lista original, o resultado e as correções humanas juntos. A API custa US$ 0,002 por solicitação, e a execução no navegador oferece uma verificação imediata. Sem rede, aleatoriedade ou data atual, o resultado não varia entre execuções.
Casos de uso
Priorizar um inventário de esquemas
Sinalize possíveis campos do artigo 9 antes que uma pessoa especialista examine o dicionário de dados em detalhes.
Revisar propriedades de analytics
Procure sinais sensíveis em propriedades de eventos e perfis antes de aprovar um plano de medição.
Padronizar questionários de fornecedores
Aplique os mesmos rótulos preliminares às listas fornecidas por diferentes operadores e fornecedores.
Perguntas frequentes
Um resultado de dados pessoais gerais significa que o campo não é regulado?
Não. Significa apenas que nenhum sinal de categoria especial compatível foi encontrado. O campo ainda pode conter dados pessoais sujeitos ao RGPD.
O mapeador analisa os valores dos campos?
Não. Ele avalia somente os nomes. Você deve revisar separadamente valores, finalidade, origem e contexto.
Por que uma foto de rosto pode permanecer como dado pessoal geral?
Uma fotografia não é automaticamente um dado biométrico especial. As regras sinalizam indícios explícitos de identificação, como modelos faciais ou geometria do rosto.
Quais estilos de nomes são aceitos?
Antes da comparação, são normalizados nomes em inglês em camelCase, snake_case, kebab-case, com pontos ou espaços.
Quanto custa a API?
A API custa US$ 0,002 por solicitação. A mesma lógica determinística também pode ser executada no navegador.
Isso substitui uma revisão jurídica ou de proteção de dados?
Não. É um recurso de triagem de inventário, e não parecer jurídico nem decisão baseada no contexto real do tratamento.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/security/gdpr-data-category-map \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fields":["customer_email","medical_history","face_template","union_membership"]}'const res = await fetch("https://api.kit.forhosting.com/security/gdpr-data-category-map", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fields": [
"customer_email",
"medical_history",
"face_template",
"union_membership"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/gdpr-data-category-map",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fields": [
"customer_email",
"medical_history",
"face_template",
"union_membership"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/gdpr-data-category-map", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fields":["customer_email","medical_history","face_template","union_membership"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fields":["customer_email","medical_history","face_template","union_membership"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/gdpr-data-category-map", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"fields": [
"customer_email",
"medical_history",
"face_template",
"union_membership"
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.gdpr_data_category_map",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 500 |
max_chars_per_item | 200 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |