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
- Navegue até a seção Anonimização no Playground
- Selecione seu idioma preferido no menu suspenso
- Digite ou cole o texto que deseja anonimizar no campo de entrada
- Selecione quais tipos de dados anonimizar marcando as caixas apropriadas
- Clique no botão Anonimizar para processar o texto
- 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 Dado | Descrição | Exemplo |
---|---|---|
Endereço de Email | Detecta e redige endereços de email | john.doe@example.com → [EMAIL] |
URL | Anonimiza endereços web e links | https://example.com → [URL] |
CPF dos EUA | Redige Números de Seguridade Social | 123-45-6789 → [SSN] |
Cartão de Crédito | Mascara números de cartão de crédito | 4111-1111-1111-1111 → [CARTAO_CREDITO] |
Pessoa | Anonimiza nomes pessoais | João Silva → [PESSOA] |
Data Hora | Redige datas e horários | 2025-05-14 14:30 → [DATA_HORA] |
Localização | Mascara informações de localização | São Paulo, SP → [LOCALIZACAO] |
Endereço IP | Anonimiza endereços IP | 192.168.1.1 → [ENDERECO_IP] |
Números | Redige sequências numéricas | Conta #12345 → Conta #[NUMERO] |
Pesquisar e Substituir
Para um controle mais granular, você pode usar o recurso Pesquisar e Substituir para:
- Definir padrões personalizados para pesquisar
- Especificar texto de substituição para padrões correspondentes
- 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);
}
})();