La redacción no es un rectángulo negro
Spec: ISO 32000-2, §7.11ISO 32000-2 §7.11Spec: ISO 32000-2, §14.13.5ISO 32000-2 §14.13.5
De un vistazo
Sección titulada «De un vistazo»Un rectángulo negro dibujado sobre un nombre no oculta nada. La página parece redactada, pero el texto que hay debajo sigue ahí, sigue siendo seleccionable, sigue siendo copiable. La redacción real no cubre el contenido. Lo borra.
Esta página explica la brecha entre una superposición cosmética y la verdadera eliminación de contenido, por qué los metadatos y los archivos incrustados sobreviven a un trabajo ingenuo, y cómo el RedactionEngine enterprise de NextPDF se niega a fingir que una región ha desaparecido cuando no puede eliminarla realmente.
Por qué importa
Sección titulada «Por qué importa»Las brechas de datos de PDF más citadas no fueron ataques ingeniosos. Fueron rectángulos negros. Alguien dibujó una caja rellena sobre un párrafo sensible, exportó el archivo y lo entregó. El destinatario pulsó la caja, arrastró sobre ella y las palabras originales se copiaron directamente del documento al portapapeles.
La razón es estructural. Una página PDF es un conjunto de operadores de dibujo superpuestos en orden. Pintar un rectángulo opaco añade un operador más encima; no elimina el operador de mostrado de texto que hay debajo. Para el ojo, el texto está oculto. Para la máquina, está exactamente donde siempre estuvo. La superposición es un disfraz, y un disfraz se quita.
Esto es caro porque el fallo es silencioso y definitivo. El documento parece correcto, supera una revisión visual y se publica. La fuga la descubre más tarde alguien que seleccionó el texto, y para entonces cada copia ya está fuera.
La versión breve
Sección titulada «La versión breve»- Una caja negra es una operación de dibujo superpuesta al texto, no una eliminación de él. Los bytes sobreviven.
- El texto seleccionable sobrevive porque el flujo de contenido de la página sigue llevando los glifos que dibujan las palabras.
- Los metadatos del documento sobreviven porque viven en un lugar separado —el diccionario de información del documento y el paquete XMP— que ningún rectángulo sobre una página puede alcanzar.
- Los archivos incrustados sobreviven porque un PDF puede transportar archivos completos dentro de sí como flujos de archivo incrustado. Spec: ISO 32000-2, §7.11ISO 32000-2 §7.11 Una marca sobre una página nunca toca un adjunto.
- La redacción verdadera es destructiva. Elimina el contenido del flujo de bytes, no de la imagen. Lo que se ha ido, se ha ido, y las superficies de residuo también se limpian.
Cómo lo aborda NextPDF
Sección titulada «Cómo lo aborda NextPDF»Cosmética frente a destructiva, con precisión
Sección titulada «Cosmética frente a destructiva, con precisión»Una superposición cosmética cambia el aspecto de una página. La redacción destructiva cambia lo que el documento contiene. La primera es reversible para cualquiera con un cursor de texto. La segunda no deja nada que recuperar.
El RedactionEngine enterprise de NextPDF está construido para el caso destructivo a
nivel de contenido de texto. Su método redact() toma el contenido, una
RedactionPolicy que describe qué buscar y cómo reemplazarlo, y devuelve un
RedactionResult. Por dentro, detecta los tramos sensibles, fusiona los que se
solapan en rangos de cobertura disjuntos y luego reescribe la cadena de contenido
con substr_replace, de modo que cada byte cubierto se elimina exactamente una vez.
El texto sensible no se pinta por encima. Desaparece del búfer que el resultado
devuelve.
El resultado es honesto sobre lo ocurrido: registra el hash SHA-256 del contenido
original, el redactedContent reescrito, un informe de auditoría de cada hallazgo y
una bandera wasModified. Puede demostrar que los bytes cambiaron, y puede demostrar
cuáles.
El residuo que hay que perseguir
Sección titulada «El residuo que hay que perseguir»Eliminar el texto visible es necesario pero no suficiente. Las mismas palabras, y palabras que nunca vio en la página, se esconden en lugares que una edición a nivel de página nunca alcanza.
Un documento lleva metadatos por partida doble: un diccionario de información heredado y un paquete XMP, cualquiera de los cuales puede contener el nombre de un autor, un título o la huella de una herramienta. Puede transportar archivos completos como flujos de archivo incrustado. Spec: ISO 32000-2, §7.11ISO 32000-2 §7.11 Puede vincular esas cargas útiles a la estructura de la página como archivos asociados, un canal de artefactos relacionados que la página no renderiza pero el documento sí conserva. Spec: ISO 32000-2, §14.13.5ISO 32000-2 §14.13.5 Ninguno de ellos está en la página que usted redactó, así que ninguno lo toca un rectángulo. La guía clásica sobre esto —el informe «Hidden Data and Metadata in Adobe PDF Files» de la NSA— existe precisamente porque muchísimas fugas reales vinieron del residuo, no de la página visible.
Una redacción que borra las palabras de la página pero deja el nombre del autor en el paquete XMP y la hoja de cálculo original como adjunto no ha redactado el documento. Ha redactado una vista de él.
- DetectFind every sensitive span — visible text, and the entity types a policy targets — not just the region you happen to see.
- Delete, do not coverRewrite the content stream so the glyphs are removed from the bytes. An opaque box on top leaves the text underneath intact.
- Clear the residueStrip the information dictionary and XMP metadata, and remove embedded and associated files that carry the same payload off-page.
- VerifyConfirm no selectable text, metadata field, or attachment reproduces the redacted content before the file leaves the building.
Fallar de forma cerrada en lugar de fingirlo
Sección titulada «Fallar de forma cerrada en lugar de fingirlo»Hay dos maneras de redactar: por contenido (encontrar este nombre, borrarlo) y por zona (pintar por encima este rectángulo de la página, sea lo que sea lo que haya debajo). El motor enterprise hace lo primero con honestidad. Deliberadamente no finge hacer lo segundo.
El método redact() acepta un tercer argumento, una lista de regiones de coordenadas
ZoneRedaction. El motor de contenido de texto no tiene un sumidero de superposición
de contenido de página —ninguna forma de eliminar realmente lo que se sitúa dentro de
una caja de coordenadas—. Así que cuando esa lista no está vacía, no dibuja un
rectángulo y llama a la zona «redactada». Lanza una RuntimeException tipada y le
indica que encamine la zona a través de una canalización de redacción de contenido de
página en su lugar.
Esa negativa es todo el sentido de esta página convertido en código. El motor prefiere detenerse y nombrar lo que no puede hacer antes que devolver un hallazgo de «redactado» para una región que dejó completamente intacta. Una superposición cosmética silenciosa reportada como una eliminación es exactamente la falsa seguridad que produce una brecha. Fallar de forma cerrada convierte esa brecha en un mensaje de error que usted ve antes de entregar.
Concepto erróneo habitual
Sección titulada «Concepto erróneo habitual»«Dibujé una caja negra encima, así que está redactado.»
Esta es la trampa, y es la más común de todo el formato. Un rectángulo relleno es una instrucción de dibujo apilada sobre el texto. Los operadores de mostrado de texto siguen en el flujo de contenido, los glifos siguen dibujándose, y una selección o una copia los lee sin cambios. Ocultó una imagen; no cambió un documento.
Una segunda trampa, más sutil: «Borré el texto de la página, así que el documento está limpio.» Todavía no. El mismo contenido, y contenido que nunca mostró, puede persistir en los metadatos y en los archivos incrustados. La redacción solo termina cuando cada superficie —contenido de página, metadatos y adjuntos— está libre de lo que se propuso eliminar.
Límites y fronteras
Sección titulada «Límites y fronteras»El alcance honesto de lo que NextPDF hace aquí, por edición:
- El núcleo no tiene redacción de documentos en absoluto. Incluye un saneador de privacidad para la PII de registros de auditoría —mantener los valores sensibles fuera de sus propios registros de diagnóstico—, y eso es algo totalmente distinto de redactar un PDF entregado. Si está en el núcleo y necesita redactar un documento, la capacidad que busca no está presente. No dibuje una caja y suponga que el motor eliminó algo.
- El
RedactionEngineenterprise redacta contenido de texto, de forma destructiva. Reescribe el búfer de contenido para eliminar los bytes sensibles e informa de un hash, un informe de auditoría y una banderawasModified, de modo que la eliminación sea demostrable. - La redacción por zona de coordenadas falla de forma cerrada. Pase una lista
ZoneRedactionno vacía y el motor lanza una excepción en lugar de fingir una superposición. Es una propiedad de seguridad deliberada, no una función ausente: una región que no puede limpiar de verdad es una que se niega a llamar limpia. - Limpiar cada superficie de residuo también es responsabilidad del operador. Eliminar el texto visible es un paso. Un trabajo completo también despoja el diccionario de información, el paquete XMP y cualesquiera archivos incrustados o asociados (Spec: ISO 32000-2, §7.11ISO 32000-2 §7.11, Spec: ISO 32000-2, §14.13.5ISO 32000-2 §14.13.5) que lleven la misma carga útil fuera de la página.
| Edition | Availability |
|---|---|
| Core | Not in this edition. Core has no document redaction. It provides only an audit-log PII sanitiser, which keeps sensitive values out of your own diagnostic records — it does not redact a delivered PDF. |
| Pro | Not in this edition |
| Enterprise | Available. The enterprise RedactionEngine performs destructive text-content redaction and fails closed — it throws a typed exception — on coordinate-zone redaction it cannot truly fulfil, rather than painting a cosmetic overlay and reporting a region as removed. |
Documentos relacionados
Sección titulada «Documentos relacionados»- Cómo funciona realmente el cifrado de PDF : por qué cifrar un archivo no es lo mismo que eliminar contenido de él, y dónde le protege cada cosa.
- Los metadatos y el paquete XMP: la superficie de residuo que una redacción a nivel de página nunca toca, en detalle.
- Una API que se niega a adivinar: la misma postura de fallar de forma cerrada que el motor de redacción aplica a una zona que no puede cumplir.
Glosario
Sección titulada «Glosario»- Superposición cosmética: una operación de dibujo, como un rectángulo relleno, superpuesta al contenido para ocultarlo visualmente. No elimina el contenido que hay debajo, que sigue siendo seleccionable y copiable.
- Redacción destructiva: eliminación del contenido del flujo de bytes del documento, no de la imagen. Una vez hecho, no hay nada debajo que recuperar.
- Flujo de contenido: la lista ordenada de operadores de dibujo que renderizan una página, incluidos los operadores de mostrado de texto que dibujan los glifos. Una caja encima no borra los operadores de texto que hay debajo.
- Superficie de residuo: un lugar donde un documento guarda contenido que la página no muestra: el diccionario de información, el paquete de metadatos XMP y los archivos incrustados o asociados. Una redacción completa los limpia todos.
- Flujo de archivo incrustado: un archivo completo transportado dentro de un PDF (ISO 32000-2 §7.11). Una marca sobre una página nunca toca un adjunto.
- Fallar de forma cerrada: detenerse con un error tipado cuando una operación no puede hacerse con honestidad, en lugar de producir un resultado de aspecto plausible que es erróneo. El motor enterprise hace esto para la redacción por zona de coordenadas que no puede cumplir.