Cómo agregar Doconut a una aplicación .NET consciente de la seguridad
8/14/2026

Cómo agregar Doconut a una aplicación .NET consciente de la seguridad

Una guía de defensa en profundidad para usar Doconut con autorización propia de la aplicación, límites de almacenamiento, retención, controles del navegador y verificación.

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.

Un documento protegido rodeado de controles de acceso en capas y una pista de auditoría
Un documento protegido rodeado de controles de acceso en capas y una pista de auditoría

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.

RiesgoEjemploControl de la aplicación
Acceso no autorizadoUn usuario cambia un identificador de documento en la URLAutorización a nivel de objeto en cada solicitud
Cruce de inquilinosUn usuario válido solicita el archivo de otro clienteAlcance del inquilino incluido en la decisión de autorización
Exposición de la fuenteSe devuelve directamente una ruta de almacenamiento o archivo originalFlujo de búsqueda y renderizado controlado por el servidor
Acceso obsoletoUn enlace sigue siendo utilizable después de que un rol o caso cambieVida corta de la sesión más revalidación de autorización
Retención excesivaEntrada o salida temporal se acumulaTrabajos de ciclo de vida explícitos con resultados observables
Registro sensibleTokens o ubicaciones de archivos aparecen en los logsRedacció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:

  1. Vincúlelo a un documento y a la operación prevista.
  2. Asigne una vida útil estrecha basada en el flujo de trabajo.
  3. Evite colocar reclamaciones sensibles o ubicaciones de almacenamiento en texto claro.
  4. Revalide la autorización para operaciones privilegiadas.
  5. Defina qué significa la revocación antes del tiempo de expiración natural.
  6. 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.