Skip to content

Anonimização de Texto no SipPulse AI

Visão Geral

A ferramenta de Anonimização de Texto permite identificar e redigir informações sensíveis de conteúdo textual, ajudando a garantir a conformidade com a privacidade e a proteção de dados. Este recurso é essencial para organizações que lidam com dados pessoais e precisam cumprir regulamentos como GDPR, HIPAA ou LGPD.

Como Funciona

O motor de anonimização usa reconhecimento avançado de padrões para detectar e redigir automaticamente vários tipos de informações sensíveis do texto. Você pode personalizar quais tipos de dados devem ser anonimizados e visualizar a saída redigida em tempo real.

Usando a Ferramenta de Anonimização

  1. Navegue até a seção Anonimização no Playground
  2. Selecione seu idioma preferido no menu suspenso
  3. Digite ou cole o texto que deseja anonimizar no campo de entrada
  4. Selecione quais tipos de dados anonimizar marcando as caixas apropriadas
  5. Clique no botão Anonimizar para processar o texto
  6. Visualize a versão anonimizada no painel direito

Opções de Anonimização Disponíveis

Os seguintes tipos de dados sensíveis podem ser detectados e redigidos:

Tipo de DadoDescriçãoExemplo
Endereço de EmailDetecta e redige endereços de emailjohn.doe@example.com → [EMAIL]
URLAnonimiza endereços web e linkshttps://example.com → [URL]
CPF dos EUARedige Números de Seguridade Social123-45-6789 → [SSN]
Cartão de CréditoMascara números de cartão de crédito4111-1111-1111-1111 → [CARTAO_CREDITO]
PessoaAnonimiza nomes pessoaisJoão Silva → [PESSOA]
Data HoraRedige datas e horários2025-05-14 14:30 → [DATA_HORA]
LocalizaçãoMascara informações de localizaçãoSão Paulo, SP → [LOCALIZACAO]
Endereço IPAnonimiza endereços IP192.168.1.1 → [ENDERECO_IP]
NúmerosRedige sequências numéricasConta #12345 → Conta #[NUMERO]

Pesquisar e Substituir

Para um controle mais granular, você pode usar o recurso Pesquisar e Substituir para:

  1. Definir padrões personalizados para pesquisar
  2. Especificar texto de substituição para padrões correspondentes
  3. Criar e salvar várias regras de pesquisa e substituição

Exemplos de Integração de API

Python

python
import requests
import json

def anonymize_text(text, api_key, entities=None, search_and_replace=None, language="en"):
    """
    Anonimizar texto usando a API SipPulse AI
    
    Parâmetros:
    - text (str): O texto a ser anonimizado
    - api_key (str): Sua chave de API SipPulse
    - entities (list): Lista de tipos de entidades para anonimizar
    - search_and_replace (list): Padrões personalizados para pesquisar e substituir
    - language (str): Código do idioma (en, pt, es, etc.)
    
    Retorna:
    - dict: Resposta da API contendo o texto anonimizado
    """
    # Definir valores padrão
    if entities is None:
        entities = ["EMAIL_ADDRESS", "URL", "US_SSN", "CREDIT_CARD", "PERSON"]
    
    if search_and_replace is None:
        search_and_replace = []
        
    # Endpoint da API
    url = "https://api.sippulse.ai/anonymize"
    
    # Dados da requisição
    data = {
        "text": text,
        "entities": entities,
        "search_and_replace": search_and_replace,
        "language": language
    }
    
    # Cabeçalhos
    headers = {
        "Content-Type": "application/json",
        "api-key": api_key
    }
    
    # Enviar requisição
    response = requests.post(url, headers=headers, data=json.dumps(data))
    
    # Processar resposta
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"Erro {response.status_code}: {response.text}")

# Exemplo de uso
api_key = "SUA_CHAVE_API_SIPPULSE"

# Exemplo 1: Anonimização básica
sample_text = """
Informações do Cliente:
Nome: João Silva
Email: joao.silva@empresa.com
Telefone: (11) 98765-4321
CPF: 123.456.789-00
Cartão de Crédito: 4111-1111-1111-1111
Endereço: Rua Principal, 123, São Paulo, SP 01234-567
"""

# Anonimização básica com tipos de entidades padrão
result1 = anonymize_text(sample_text, api_key)
print("Resultados da Anonimização Básica:")
print(result1["anonymized_text"])
print("\n" + "-"*50 + "\n")

# Exemplo 2: Anonimização avançada com pesquisa e substituição personalizada
advanced_text = """
Código Interno do Projeto: PROJ-2025-XYZ
Cliente: Corporação Acme (ID: ACME-123)
Data de Implantação: 14 de Maio de 2025
Contato: sarah.jones@acme.com
"""

# Entidades personalizadas e padrões de pesquisa/substituição
custom_entities = ["EMAIL_ADDRESS", "DATE_TIME", "PERSON"]
custom_patterns = [
    {
        "search": r"PROJ-\d{4}-[A-Z]{3}",
        "replace": "[CODIGO_PROJETO]"
    },
    {
        "search": r"ACME-\d{3}",
        "replace": "[ID_CLIENTE]"
    }
]

result2 = anonymize_text(
    advanced_text, 
    api_key, 
    entities=custom_entities,
    search_and_replace=custom_patterns
)

print("Resultados da Anonimização Avançada:")
print(result2["anonymized_text"])

# Exemplo de Saída:
# 
# Informações do Cliente:
# Nome: [PESSOA]
# Email: [ENDERECO_EMAIL]
# Telefone: (11) 98765-4321
# CPF: [CPF]
# Cartão de Crédito: [CARTAO_CREDITO]
# Endereço: Rua Principal, 123, [LOCALIZACAO]

JavaScript

javascript
const axios = require('axios');

/**
 * Anonimizar texto usando a API SipPulse AI
 * 
 * @param {string} text - O texto a ser anonimizado
 * @param {string} apiKey - Sua chave de API SipPulse
 * @param {Array} entities - Lista de tipos de entidades para anonimizar
 * @param {Array} searchAndReplace - Padrões personalizados para pesquisar e substituir
 * @param {string} language - Código do idioma (en, pt, es, etc.)
 * @returns {Promise} - Promise resolvendo para a resposta da API
 */
async function anonymizeText(text, apiKey, entities = null, searchAndReplace = null, language = "en") {
  // Definir valores padrão
  if (!entities) {
    entities = ["EMAIL_ADDRESS", "URL", "US_SSN", "CREDIT_CARD", "PERSON"];
  }
  
  if (!searchAndReplace) {
    searchAndReplace = [];
  }
  
  // Endpoint da API
  const url = 'https://api.sippulse.ai/anonymize';
  
  // Dados da requisição
  const data = {
    text,
    entities,
    search_and_replace: searchAndReplace,
    language
  };
  
  // Cabeçalhos
  const headers = {
    'Content-Type': 'application/json',
    'api-key': apiKey
  };
  
  try {
    const response = await axios.post(url, data, { headers });
    return response.data;
  } catch (error) {
    throw new Error(`Erro: ${error.response ? error.response.data : error.message}`);
  }
}

// Exemplo de uso
(async () => {
  const apiKey = 'SUA_CHAVE_API_SIPPULSE';
  
  // Exemplo 1: Anonimização básica
  const sampleText = `
Informações do Cliente:
Nome: João Silva
Email: joao.silva@empresa.com
Telefone: (11) 98765-4321
CPF: 123.456.789-00
Cartão de Crédito: 4111-1111-1111-1111
Endereço: Rua Principal, 123, São Paulo, SP 01234-567
  `;
  
  try {
    // Anonimização básica com tipos de entidades padrão
    const result1 = await anonymizeText(sampleText, apiKey);
    console.log("Resultados da Anonimização Básica:");
    console.log(result1.anonymized_text);
    console.log("\n" + "-".repeat(50) + "\n");
    
    // Exemplo 2: Anonimização avançada com pesquisa e substituição personalizada
    const advancedText = `
Código Interno do Projeto: PROJ-2025-XYZ
Cliente: Corporação Acme (ID: ACME-123)
Data de Implantação: 14 de Maio de 2025
Contato: sarah.jones@acme.com
    `;
    
    // Entidades personalizadas e padrões de pesquisa/substituição
    const customEntities = ["EMAIL_ADDRESS", "DATE_TIME", "PERSON"];
    const customPatterns = [
      {
        search: "PROJ-\\d{4}-[A-Z]{3}",
        replace: "[CODIGO_PROJETO]"
      },
      {
        search: "ACME-\\d{3}",
        replace: "[ID_CLIENTE]"
      }
    ];
    
    const result2 = await anonymizeText(
      advancedText, 
      apiKey, 
      customEntities, 
      customPatterns
    );
    
    console.log("Resultados da Anonimização Avançada:");
    console.log(result2.anonymized_text);
  } catch (error) {
    console.error(error.message);
  }
})();