Metodología de limpieza: reglas, valores predeterminados y límites
Qué hace el limpiador local
El limpiador local de HumanFlow transforma el texto mediante reglas deterministas de caracteres y patrones. Con la misma entrada, el mismo conjunto de reglas habilitadas y las mismas opciones de rayas, el motor produce la misma salida y la misma lista ordenada de cambios; no pide a un modelo lingüístico que infiera el significado. Cada cambio registra el ID de la regla, la categoría, los rangos de origen y salida, el valor eliminado, el valor de sustitución, los datos Unicode pertinentes y si la regla se considera destructiva.
Los valores seguros predeterminados se centran en artefactos de formato que normalmente no expresan palabras: controles ocultos admitidos, espacios de no separación, tabulaciones, espacios horizontales repetidos, espacios finales y líneas vacías excesivas. Las reglas opcionales pueden modificar Markdown o puntuación, por eso están desactivadas de forma predeterminada en el limpiador general de texto con IA.
Registro de reglas
Los valores predeterminados de esta tabla proceden del registro de reglas del motor. Los preajustes de cada página pueden sustituirlos; los valores predeterminados reales de la página de inicio y de las herramientas específicas de cada configuración regional se muestran en la tabla que se inserta a continuación.
| ID de regla | Valor predeterminado del motor | Riesgo | Comportamiento implementado |
|---|---|---|---|
hidden-unicode | Activada | Más segura, requiere revisión | Elimina controles C0/C1 admitidos, caracteres de ancho cero, marcas direccionales, unión de palabras y BOM; conserva los saltos de línea normales y las tabulaciones. |
normalize-nbsp | Activada | Más segura, requiere revisión | Sustituye U+00A0 NO-BREAK SPACE por U+0020 SPACE. |
normalize-tabs | Activada | Más segura, requiere revisión | Sustituye los caracteres de tabulación por espacios normales. |
collapse-spaces | Activada | Más segura, requiere revisión | Reduce secuencias de espacios horizontales repetidos o NBSP a un espacio normal. |
trim-trailing-whitespace | Activada | Más segura, requiere revisión | Elimina espacios y tabulaciones al final de las líneas. |
collapse-blank-lines | Activada | Más segura, requiere revisión | Reduce las secuencias de más de una línea vacía a una sola línea vacía. |
remove-markdown-headings | Desactivada | Destructiva | Elimina las almohadillas iniciales de los títulos Markdown y conserva el texto del título. |
remove-markdown-emphasis | Desactivada | Destructiva | Elimina los marcadores de énfasis con asteriscos. |
remove-markdown-code-fences | Desactivada | Destructiva | Elimina las líneas delimitadoras de bloques de código con tres acentos graves y conserva su contenido. |
remove-markdown-links | Desactivada | Destructiva | Sustituye un enlace Markdown en línea por su texto de anclaje visible; descarta el destino del enlace. |
normalize-smart-quotes | Desactivada | Destructiva | Sustituye las comillas tipográficas simples y dobles por comillas ASCII. |
replace-em-dash | Desactivada | Destructiva | Sustituye U+2014 por el guion, espacio, punto o salida vacía seleccionados. |
replace-en-dash | Desactivada | Destructiva | Sustituye U+2013 de forma independiente por la salida seleccionada. |
«Más segura» no significa adecuada para todos los documentos. Las tabulaciones y los espacios repetidos pueden indicar sangría de código o alineación de tablas; los conectores de ancho cero y las marcas direccionales pueden tener significado en textos multilingües. Cada regla se puede seleccionar por separado y Deshacer restaura la entrada original conservada en el estado del navegador.
Solapamientos y orden de los cambios
Primero, el motor reúne las ediciones candidatas sobre el texto original; después las ordena por posición de origen y prioridad de regla, y descarta las ediciones de menor prioridad que se solapan con otras. A continuación construye la salida de izquierda a derecha y registra los rangos resultantes después de cada sustitución aceptada. Así evita que varias reglas habilitadas editen dos veces el mismo fragmento de origen y mantiene estables los rangos de origen para su revisión.
Por ejemplo, una secuencia de espacios de no separación puede coincidir tanto con la regla de espacios repetidos como con la regla para un solo NBSP. El motor acepta la sustitución de la secuencia, que tiene mayor prioridad, y omite las sustituciones de caracteres individuales que se solapan. Por eso informa de una sola transformación para ese fragmento, en lugar de cambios contradictorios.
Ejemplos reproducibles
El corpus de pruebas del repositorio incluye entrada vacía, prosa limpia, Unicode mixto, Markdown, puntuación, texto multilingüe, código, JSON y un documento determinista grande. Otros ejemplos comprueban los rangos exactos de origen y salida, la identificación con nombre de U+200B, la normalización de tabulaciones, la conservación del contenido de bloques de código, la conservación del texto de anclaje de enlaces Markdown y cada preajuste de herramientas específicas.
Un ejemplo mínimo es A[U+200B]B[U+00A0]C. Con los valores seguros predeterminados, la salida esperada es AB C. Una frase limpia con comillas tipográficas y raya em permanece idéntica byte a byte porque las reglas de puntuación están desactivadas. Un título Markdown también permanece intacto con los valores seguros; la herramienta específica para quitar formato activa deliberadamente su preajuste Markdown.
Políticas de herramientas específicas
Las cuatro herramientas específicas comparten el mismo motor; no implementan las transformaciones por separado:
- Quitar el formato de ChatGPT activa reglas de Markdown y espacios e incluye el tratamiento de bloques de código y enlaces.
- Eliminar caracteres invisibles ofrece únicamente las reglas de Unicode invisible y NBSP, junto con información sobre los puntos de código.
- Eliminar rayas em ofrece controles independientes para rayas em y en y empieza con la sustitución de raya em por guion seleccionada.
- Corregir espacios de IA ofrece reglas para NBSP, tabulaciones, espacios repetidos, espacios finales y líneas vacías.
Las pruebas automatizadas de políticas exigen cuatro firmas de reglas predeterminadas distintas, contenido exclusivo suficiente, una muestra específica de cada página y un cambio de salida al procesar la muestra correspondiente. Así se evita publicar cuatro herramientas que solo difieren en el texto.
Límite de privacidad
La limpieza local se ejecuta en el navegador; una prueba del código prohíbe que su componente cliente envíe texto mediante fetch o acciones de servidor. La lista permitida de sus eventos de analítica solo contiene reglas y recuentos agregados. El humanizador con IA es otra función: puede enviar el texto enviado al servidor y después a un proveedor de modelos configurado. El analizador de patrones de escritura también funciona localmente, pero ofrece señales heurísticas, no conclusiones de autoría. Consulta la informativa de privacidad del producto.
Límites
El limpiador no puede determinar si un texto lo escribió una persona o un modelo, ni garantizar que elimine marcas de agua estadísticas, mejore el posicionamiento en buscadores, eluda detectores de IA o conserve el significado tras cada cambio opcional de puntuación o Markdown. Solo reconoce los patrones documentados aquí. Markdown anidado, sintaxis compleja de enlaces, marcado personalizado, estilos de texto enriquecido y metadatos del portapapeles propios de una aplicación pueden quedar fuera de esos patrones.
Comprueba el código, JSON, tablas, texto bidireccional y la composición tipográfica propia de cada idioma en la aplicación de destino. Las diferencias visibles y la salida determinista permiten revisar el resultado, pero no sustituyen esa revisión.
Versión y política de cambios
La versión actual del esquema del motor de formato local es 1. Los IDs de reglas son valores de API estables que usan los preajustes de página, las listas permitidas de analítica, las pruebas y el contenido de gobernanza. Todo cambio de comportamiento debe actualizar las expectativas de las pruebas y esta metodología en la misma versión. Las nuevas reglas destructivas deben empezar desactivadas. Eliminar o renombrar una regla exige una migración explícita porque las políticas guardadas y los registros centralizados de SEO pueden hacer referencia a ese ID.
Esta metodología se revisó por última vez frente a la implementación del repositorio el 2026-09-05. Las fechas de revisión posteriores deben reflejar una auditoría real del código y la configuración, no una marca de tiempo generada automáticamente.
Reglas predeterminadas reales por página
La tabla procede de la configuración guardada de las páginas localizadas. El registro del motor activa seis reglas de formato y desactiva siete reglas de Markdown y puntuación; cada página puede sobrescribirlas.
| Preajuste de página | ID de reglas activas por defecto |
|---|---|
| Inicio | trim-trailing-whitespace, collapse-blank-lines |
| Quitar formato de IA | normalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines, remove-markdown-headings, remove-markdown-emphasis, remove-markdown-code-fences, remove-markdown-links |
| Quitar caracteres invisibles | Ninguna |
| Quitar raya em | replace-em-dash |
| Corregir espacios de IA | normalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines |