Redactor de secretos
Un redactor de secretos examina el texto que estás a punto de compartir —un extracto de registro, un ticket de soporte, un mensaje de chat, un volcado de configuración— y elimina las credenciales escondidas dentro antes de que nadie más las lea. Pega texto o suelta un archivo aquí y encontrará claves API de proveedores, tokens de acceso, bloques de clave privada, JSON Web Tokens, números de tarjeta y direcciones de correo, mostrará cada hallazgo enmascarado en una tabla y construirá una copia limpia con cada secreto sustituido por [REDACTED]. Todo funciona 100% en tu navegador: nada se sube, nada se almacena y analizar texto no realiza ninguna petición de red. La guía complementaria, redacta los secretos antes de pegar, explica lo que los escáneres pueden y no pueden detectar; para capturas del navegador usa el analizador HAR, y para archivos de configuración el analizador .env.
Última actualización:
O suelta un archivo de texto en cualquier lugar de este cuadro. Límite: 2 MB. El archivo se lee solo en este dispositivo y nunca se sube.
Resultados del análisis
Vista previa resaltada (enmascarada)
Hallazgos
Qué busca el escáner — y cómo lo decide
La mayoría de los secretos no se filtra por ataques, sino por ganas de ayudar. Alguien pega un registro en un ticket, un archivo de configuración en un chat, un comando curl en un foro — y la credencial que casualmente iba dentro viaja con ello, hacia sistemas que indexan, reenvían y archivan texto para siempre. Esta página es la pausa antes de ese pegado. Escribe o suelta el texto y el análisis corre mientras escribes: una banda de recuentos suma los hallazgos por tipo, la vista previa resalta cada hallazgo en su sitio con su valor enmascarado, la tabla de hallazgos lista el tipo, la forma enmascarada y el número de línea, y la copia redactada de abajo sustituye cada hallazgo por el marcador único [REDACTED], lista para copiar o descargar como archivo .txt.
La primera capa de detección es la forma. Las credenciales reales de proveedores reales tienen formas reconocibles, y el escáner conoce las principales: claves de acceso de AWS, tokens de GitHub en su forma clásica y de grano fino, claves secretas y restringidas de Stripe, claves de proyecto y genéricas de OpenAI, claves de Anthropic, claves API de Google y tokens de Slack. Un bloque de clave privada se captura como un único hallazgo completo, desde su línea BEGIN hasta su línea END, porque redactar solo parte de un bloque de clave deja una clave utilizable. Los JSON Web Tokens se reconocen por su estructura de tres segmentos base64url, y los números de tarjeta deben pasar la suma de verificación de Luhn antes de ser marcados, así que los números de pedido y las marcas de tiempo ordinarios permanecen en silencio.
Entropía, marcadores de posición y los límites honestos
La segunda capa cubre los secretos que no llevan forma de proveedor: asignaciones como password = …, api_key: … o client_secret = …. Una palabra clave desnuda no prueba nada, así que el valor debe superar dos puertas más: al menos doce caracteres y una entropía de Shannon de al menos 3,2 bits por carácter, que las claves aleatorias superan con facilidad y las palabras ordinarias no. Los valores de marcador de posición se excluyen por diseño: todo lo que contenga example, test, dummy, xxx, your-, placeholder o changeme es documentación, no una credencial, y marcarlo te entrenaría para ignorar el escáner. Cuando las formas se solapan, gana el patrón específico: una clave de Stripe asignada a una variable se informa una sola vez, como clave de Stripe.
Dos tipos de hallazgo protegen a las personas en lugar de a los sistemas. Las direcciones de correo se marcan como datos personales, porque un ticket lleno de direcciones de clientes es un incidente de privacidad aunque no aparezca ninguna contraseña. Los números de tarjeta solo se marcan cuando los dígitos pasan Luhn, la suma de verificación incorporada en cada número de tarjeta auténtico — la misma prueba que permite al escáner ignorar números de factura, códigos de seguimiento y marcas Unix que solo parecen largos y numéricos. En pantalla, cada valor se enmascara hasta mostrar como máximo sus cuatro primeros caracteres, de modo que un mirón o una captura de pantalla aprenden el tipo y el lugar de un secreto, pero nunca el secreto mismo; los valores cortos no muestran nada. El valor completo existe solo en tu texto original, que nunca sale de la página.
Usa el redactor como un paso dentro de un hábito de compartir más seguro, no como una garantía. Redacta localmente, comparte la copia redactada y envía el secreto real —cuando un secreto de verdad debe cambiar de manos— a través de un gestor de secretos o un enlace de uso compartido que caduca, nunca por el mismo ticket o chat que el texto redactado. Si una credencial real ya se pegó sin redactar en algún sitio, borrar el mensaje no basta: puede que ya existan copias, índices y notificaciones, así que rota la credencial y trata la antigua como pública. El artículo complementario, redacta los secretos antes de pegar, recorre ese flujo completo; el analizador HAR hace el mismo trabajo para las capturas del navegador, y el analizador .env revisa los archivos de configuración antes de que los confirmes.
La biblioteca de detección, en lenguaje llano
| Clave de acceso de AWS | AKIA o ASIA seguido de exactamente 16 letras mayúsculas o dígitos: la forma de los ID de clave de acceso de AWS, temporales y de larga duración. |
| Token de GitHub | Los prefijos ghp_, gho_, ghu_, ghs_ y ghr_ con al menos 36 caracteres más, además de la forma de grano fino github_pat_. |
| Clave de Stripe | sk_ o rk_ seguido de live_ o test_ y al menos 16 caracteres alfanuméricos: claves secretas y restringidas, incluido el modo de prueba, porque las claves de prueba revelan la estructura y los hábitos de la cuenta. |
| Claves de OpenAI y Anthropic | Las claves de proyecto sk-proj- y las claves sk- genéricas de 32 caracteres o más cuentan como OpenAI; las claves sk-ant- se informan como Anthropic, un tipo aparte con su propia ruta de rotación. |
| Clave API de Google y token de Slack | AIza seguido de 35 caracteres para Google; los prefijos xoxb, xoxa, xoxp, xoxr y xoxs para los tokens de bot, aplicación, usuario, actualización y sesión de Slack. |
| Bloque de clave privada | Un bloque PEM completo, desde -----BEGIN PRIVATE KEY----- (variantes RSA, EC, OpenSSH y PGP incluidas) hasta la línea END correspondiente, informado y redactado como un único hallazgo. |
| JSON Web Token | Tres segmentos base64url separados por puntos, con los dos primeros segmentos empezando por eyJ: la forma codificada de la cabecera y la carga JSON con la que empieza todo JWT. |
| Asignación genérica | Valores asignados a nombres como api_key, secret, token, password, passwd, auth_token, access_token o client_secret, marcados solo cuando el valor tiene al menos 12 caracteres y su entropía de Shannon llega a 3,2; los marcadores documentados nunca se marcan. |
| Dirección de correo | Direcciones de correo ordinarias, informadas como datos personales (PII) para que los pegados masivos de direcciones de clientes o empleados se detecten antes de que se propaguen. |
| Número de tarjeta | Secuencias de 13 a 19 dígitos, con espacios y guiones permitidos, marcadas solo cuando pasan la suma de verificación de Luhn que cumple todo número de tarjeta auténtico. |
| Enmascarado y marcador | En pantalla un valor muestra como máximo sus cuatro primeros caracteres más puntos suspensivos, y nada para valores de cuatro caracteres o menos. En la copia redactada cada hallazgo se convierte en el marcador único [REDACTED]; el tipo permanece visible en la tabla de hallazgos, nunca en línea. |
Preguntas frecuentes
¿Mi texto se sube o se almacena en algún sitio?
No. El análisis corre en esta página, en tu dispositivo: nada se sube, se transmite ni se almacena, y analizar no realiza ninguna petición de red. Es una regla de diseño deliberada: una herramienta que te pidiera subir texto lleno de secretos para quitar los secretos sería parte del problema.
¿Qué tipos de secretos puede encontrar?
Credenciales con forma de proveedor —claves de acceso de AWS y claves y tokens de GitHub, Stripe, OpenAI, Anthropic, Google y Slack—, además de bloques completos de clave privada, JSON Web Tokens, valores de alta entropía asignados a nombres como password o api_key, direcciones de correo y números de tarjeta que pasan la suma de Luhn. La tabla de datos de arriba lista cada patrón en lenguaje llano.
¿Por qué no detectó un secreto que yo veo en mi texto?
Tres razones honestas. El valor puede estar partido entre líneas o envuelto, de modo que ninguna forma coincide. Puede ser una contraseña humana de baja entropía asignada a un nombre que la regla genérica no conoce. O puede ser un formato que ningún patrón cubre aún: una cadena de conexión de base de datos, un valor de cookie, una URL con autenticación básica. El escáner captura las formas comunes y bien documentadas de manera determinista; es una red de seguridad, no una prueba de que el texto está limpio, así que ojea tú mismo la vista previa antes de compartir.
¿Por qué marcó algo que no es un secreto real?
Normalmente porque el valor tiene honestamente forma de serlo: un valor de prueba de aspecto aleatorio sin palabras de marcador, un token de ejemplo de documentación interna o un JWT usado como ejemplo de front-end. Revisa la tabla de hallazgos antes de compartir: un falso positivo cuesta una ojeada, mientras que un falso negativo cuesta una rotación. Los valores que contienen example, test, dummy, xxx, your-, placeholder o changeme nunca se marcan, así que señalar las muestras de ese modo reduce el ruido.
¿Redactar un secreto lo hace seguro si el original ya se filtró?
No. La redacción protege las copias que hagas a partir de ahora; no puede recuperar un ticket, un mensaje de chat o un registro que ya salió con el secreto dentro. Trata cualquier credencial que haya aparecido sin redactar en un sistema compartido como pública: rótala en el proveedor, revoca la antigua y solo entonces comparte el texto redactado. El artículo complementario, redacta los secretos antes de pegar, explica el orden de rotar primero y por qué borrar el mensaje no basta.