Visor Doconut se convierte en parte del perímetro de seguridad de su aplicación tan pronto como muestra contratos, facturas, planos de ingeniería o registros de clientes. Doconut proporciona la capa de visualización; la aplicación circundante aún debe decidir quién puede abrir un archivo, dónde se almacena la fuente, cuánto tiempo permanecen disponibles los datos derivados y qué se registra para la investigación.

El artículo de Doconut sobre prácticas seguras de visualización de documentos describe la renderización del lado del servidor como una capa en un diseño de defensa en profundidad. Por lo tanto, este artículo se centra en las responsabilidades de la aplicación respecto a Doconut y dirige los detalles de implementación a la documentación del producto mantenida.
Comience con un modelo de amenazas
“Privado” y “seguro” no son configuraciones. Defina los eventos que necesita prevenir o detectar antes de elegir controles.
| Riesgo | Ejemplo | Control de la aplicación |
|---|---|---|
| Acceso no autorizado | Un usuario cambia un identificador de documento en la URL | Autorización a nivel de objeto en cada solicitud |
| Cruce de inquilinos | Un usuario válido solicita el archivo de otro cliente | Alcance del inquilino incluido en la decisión de autorización |
| Exposición de la fuente | Se devuelve directamente una ruta de almacenamiento o archivo original | Flujo de búsqueda y renderizado controlado por el servidor |
| Acceso obsoleto | Un enlace sigue siendo utilizable después de que un rol o caso cambie | Vida corta de la sesión más revalidación de autorización |
| Retención excesiva | Entrada o salida temporal se acumula | Trabajos de ciclo de vida explícitos con resultados observables |
| Registro sensible | Tokens o ubicaciones de archivos aparecen en los logs | Redacción estructurada y telemetría solo con identificadores |
Priorice los riesgos según los documentos y usuarios de su sistema. Una biblioteca de folletos pública y un portal de evidencia legal no deben compartir la misma política solo porque usan el mismo visor.
El caso de uso de revisión de documentos legales de Doconut es una referencia útil para el rol del producto dentro de flujos de trabajo autenticados de casos, contratos, evidencia y cumplimiento. También refuerza el límite arquitectónico: los permisos, el almacenamiento, los registros de clientes y las reglas de negocio permanecen cerca de la aplicación host.
Autorice antes de abrir el documento
Realice la autenticación y la autorización a nivel de objeto antes de abrir el documento con Doconut. La guía de configuración de .NET 6 o superior oficial muestra cómo se configura el visor y cómo se abre un documento del lado del servidor; coloque la identidad, el inquilino y las comprobaciones de permisos del documento de su aplicación antes de ese paso del producto.
Repita la misma regla de autorización para cada operación relacionada que su aplicación exponga, incluidas páginas, miniaturas, búsquedas, anotaciones, conversiones, descargas e impresiones. Ocultar un botón no protege la solicitud subyacente.
Evite aceptar una ruta de sistema de archivos, una clave de almacenamiento o una URL remota directamente desde el navegador. Resuelva un ID de documento propiedad de la aplicación a su ubicación de almacenamiento en el servidor y, a continuación, confirme que el objeto resuelto pertenece al inquilino y flujo de trabajo autorizados.
Separe el visor de la política de almacenamiento
El visor no debe definir su período de retención. Documente cada clase de almacenamiento y su propietario:
- Documento fuente — controlado por su política principal de contenido o registros.
- Archivos de trabajo temporales — creados para el procesamiento y eliminados mediante un ciclo de vida programado y observable.
- Páginas renderizadas o cachés — limitados al tiempo útil mínimo y protegidos como la fuente.
- Exportaciones y archivos listos para imprimir — creados solo cuando el usuario tiene el permiso correspondiente.
- Registros y eventos de auditoría — contienen identificadores y resultados, no el contenido del documento ni credenciales.
El cifrado en tránsito y en reposo depende de su servidor web, proveedor de almacenamiento, gestión de claves y configuraciones de despliegue. Verifique esos controles en el entorno real; no los infiera solo por la presencia de una biblioteca de visor.
Use referencias de vida corta con cuidado
Una referencia de vida corta puede reducir el tiempo disponible para un replay, pero no sustituye la autorización. Si su diseño usa una ruta firmada o un token de sesión:
- Vincúlelo a un documento y a la operación prevista.
- Asigne una vida útil estrecha basada en el flujo de trabajo.
- Evite colocar reclamaciones sensibles o ubicaciones de almacenamiento en texto claro.
- Revalide la autorización para operaciones privilegiadas.
- Defina qué significa la revocación antes del tiempo de expiración natural.
- Mantenga los tokens fuera de analíticas, referers, mensajes de excepción y capturas de pantalla.
Cuando una sesión del navegador expira, muestre un mensaje neutro y ofrezca una forma segura de volver a autenticarse. No exponga si otro inquilino posee el documento.
Comprenda lo que los controles del lado del cliente pueden y no pueden hacer
Eliminar los controles de descarga o impresión puede mejorar el flujo de trabajo previsto, pero no garantiza confidencialidad. Un usuario que pueda ver el contenido aún puede capturar la pantalla, fotografiarla o usar capacidades del navegador fuera del visor.
Considere las restricciones del lado del cliente como medidas de usabilidad y disuasión. Los controles más fuertes provienen de mantener los archivos fuente detrás del servidor, aplicar autorización a cada solicitud relacionada, limitar exportaciones y usar marcas de agua visibles cuando su política lo requiera.
No convierta las funciones del producto en afirmaciones de cumplimiento
El cumplimiento regulatorio depende del propósito, categorías de datos, base legal, contratos, procesamiento regional, retención, respuesta a incidentes y procedimientos organizacionales. Un visor puede apoyar un diseño conforme, pero no hace que una aplicación sea conforme por sí solo.
Para una evaluación GDPR, documente al menos:
- Dónde se procesan y almacenan los archivos fuente y derivados.
- Quién actúa como controlador y procesador para cada servicio.
- Qué subprocesadores y transferencias están involucrados.
- Cómo las solicitudes de eliminación llegan a cada clase de almacenamiento y política de copias de seguridad.
- Qué eventos se registran y cuánto tiempo permanecen disponibles los logs.
- Cómo se realizan las revisiones de acceso y la respuesta a incidentes.
Haga que los interesados de privacidad y legales validen esas decisiones para su despliegue.
Añada encabezados de seguridad y reglas de caché
Para rutas de vista previa autenticadas, evalúe una Política de Seguridad de Contenido restrictiva, política de marco, protección contra sniffado MIME y una política de referer. Si la vista previa aparece dentro de un iframe, haga explícitos los orígenes padre previstos.
Elija encabezados de caché según la sensibilidad y la ruta de renderizado. no-store puede ser apropiado para algunas respuestas, pero puede afectar el rendimiento y no elimina el contenido ya capturado en otro lugar. Pruebe el comportamiento del navegador, proxy y CDN en lugar de confiar solo en un encabezado aislado.
Registre decisiones, no secretos
Un evento de auditoría útil podría contener:
- Identificadores de usuario e inquilino
- Identificador del documento
- Operación solicitada
- Resultado de autorización
- Marca de tiempo e ID de correlación
- Resultado de retención o limpieza
Evite registrar tokens sin procesar, cadenas de consulta, URLs de almacenamiento, nombres de documentos que contengan datos personales o texto extraído. Proteja los logs de auditoría contra modificaciones y limite el acceso a los equipos que los necesiten.
Verifique el flujo completo
Las pruebas de seguridad deben incluir casos negativos:
- Cambiar el ID del documento mientras se mantiene la autenticación.
- Reutilizar una URL de vista previa de otro usuario o inquilino.
- Llamar directamente a los endpoints de página, miniatura, impresión y exportación.
- Expirar la sesión durante una vista previa prolongada.
- Eliminar el permiso de un usuario mientras un documento está abierto.
- Enviar entradas no compatibles, demasiado grandes, dañadas o protegidas con contraseña.
- Confirmar que los trabajos de limpieza eliminan los datos elegibles y reportan fallas.
- Inspeccionar logs, analíticas y páginas de error en busca de valores sensibles.
Automatice los casos estables y mantenga una revisión manual para la configuración de almacenamiento, política del navegador y cambios de versión del visor.
Conclusión
Una integración consciente de la seguridad tiene una propiedad clara. Doconut suministra la capacidad de visualización de documentos descrita en su documentación oficial; su aplicación aporta autenticación, autorización, controles de almacenamiento, retención, monitoreo y respuesta a incidentes. Mantener esas responsabilidades explícitas produce controles más fuertes y afirmaciones de privacidad más honestas.