Anonimizar texto
Borrar un nombre de una frase es fácil; que la frase siga siendo útil después es lo difícil. Esta API de anonimización de texto reescribe las referencias personales para que el sentido, la estructura y el valor analítico del documento sobrevivan, mientras las personas concretas mencionadas se vuelven imposibles de rastrear o reconstruir a partir de lo que queda.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Por qué enmascarar no siempre alcanza
Tachar un nombre es sencillo, pero un documento puede seguir identificando a alguien a través de lo que queda —un cargo, una ciudad, una edad y una condición médica poco común juntos pueden señalar a una sola persona incluso sin ningún nombre presente. text.anonymize está pensado para ese problema más difícil: no solo oculta los identificadores obvios, también trata el detalle circundante que podría permitir reconstruir de quién se habla, el estándar real que exige la regulación de protección de datos para llamar algo anonimizado y no solo enmascarado.
Cómo funciona el proceso
Envía texto por POST a /text/anonymize, la tarea se procesa de forma asíncrona, y lo que regresa se lee con naturalidad —reemplazos genéricos pero gramaticalmente coherentes ocupan el lugar de nombres, ubicaciones, fechas y otros detalles identificables, en vez de los marcadores entre corchetes que dejaría una herramienta de redacción. Esa diferencia es deliberada: una transcripción anonimizada puede entrar a un conjunto de datos de entrenamiento, un artículo de investigación público o un flujo de análisis y seguir leyéndose como texto real, porque lo es, solo que sin una persona específica detrás.
Dónde está la línea con la redacción
Redacción y anonimización resuelven problemas relacionados pero distintos. La redacción enmascara identificadores conocidos y deja el resto del texto intacto —rápida y auditable, pero el contexto que queda a veces todavía puede acotar de quién se habla. La anonimización es la garantía más fuerte, pensada para los casos donde un documento realmente necesita perder su vínculo con individuos concretos: corpus de investigación, conjuntos de datos compartidos fuera de una organización, o cualquier texto que vaya a vivir en un lugar donde el sujeto original nunca aceptó ser identificable.
Una breve nota sobre por qué existe esta disciplina
Marcos como el RGPD trazan una línea clara entre datos personales y datos anonimizados —una vez que la información ya no puede vincularse a un individuo por ningún medio razonable, queda fuera de las reglas de manejo más estrictas. Por eso vale la pena anonimizar bien y no aproximarlo con un buscar y reemplazar: un documento que aún permite la reidentificación por el contexto restante no cruzó esa línea, sin importar cuántos nombres se le hayan quitado.
Cómo encaja en el manejo automatizado de datos
Los resultados llegan por webhook firmado de forma predeterminada, lo cual encaja con flujos que anonimizan registros al momento de crearse o exportarse —un ticket se cierra, se anonimiza, y solo esa versión llega a un almacén de análisis. Para lotes o ejecuciones puntuales, el enlace firmado permanece válido por 24 horas. El precio es $0.003 por solicitud más $0.0135 por cada 1000 palabras, sin capa gratuita ni saldo de prueba, y una tarea que falla tras tres reintentos nunca se cobra.
Qué puede hacer con ella
Conjuntos de datos de investigación
Anonimice transcripciones de entrevistas o respuestas de encuestas antes de publicarlas o compartirlas con investigadores externos.
Preparación de datos de entrenamiento
Elimine identificadores personales y contexto que permita reidentificación de conversaciones reales antes de usarlas para construir o ajustar modelos internos.
Compartir datos entre equipos o países
Anonimice registros de clientes antes de que pasen a un equipo, región o proveedor con un acuerdo de manejo de datos distinto.
Almacenamiento de análisis a largo plazo
Convierta registros de soporte o retroalimentación de producto en su forma anonimizada antes de que entren a un almacén de análisis de largo plazo.
Preguntas frecuentes
¿Cuál es la diferencia entre anonimizar y redactar?
La redacción enmascara identificadores conocidos con marcadores; la anonimización va más allá, tratando también el contexto que podría permitir la reidentificación, que es para lo que está diseñado text.anonymize.
¿El texto anonimizado se sigue leyendo con naturalidad?
Sí, los detalles identificables se sustituyen por equivalentes genéricos pero gramaticalmente coherentes en vez de marcadores entre corchetes, así que el resultado se lee como texto normal.
¿Esta api cumple con el RGPD por sí sola?
La api realiza correctamente el paso de anonimización, reduciendo el riesgo de reidentificación por contexto restante; que un caso de uso concreto cumpla con todas sus obligaciones regulatorias depende también de sus propias prácticas de manejo de datos.
¿Cómo se cobra la anonimización de texto?
Cuesta $0.003 por solicitud más $0.0135 por cada 1000 palabras procesadas, sin cobro por tareas que fallan tras sus reintentos automáticos.
¿Hay alguna forma gratuita de probar la anonimización de texto?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Puedo anonimizar grandes volúmenes de datos por lote?
Sí, los envíos se procesan de forma asíncrona, así que lotes grandes de documentos o transcripciones pueden correr en segundo plano mientras los resultados llegan por webhook.
¿Cómo recibo el resultado anonimizado?
Mediante un webhook firmado, recomendado para flujos automatizados, o a través de un enlace firmado que permanece válido por 24 horas.
¿La anonimización funciona en varios idiomas?
El modelo lee el contexto y la estructura en vez de depender de patrones solo en inglés, lo que le permite anonimizar detalles identificables en distintos idiomas.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/text/anonymize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/anonymize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/anonymize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/anonymize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/anonymize", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.anonymize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_tokens | 20000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |