Blog

Comparte un diagrama sin perder el control: enlaces protegidos

Cómo compartir un diagrama de DiagramaHub con quien no tiene cuenta: enlaces públicos o con código, expiración, revocación y qué ve exactamente el visitante.

Terminaste el diagrama de arquitectura y ahora lo tiene que ver alguien que no usa DiagramaHub: un cliente, el equipo de seguridad, un candidato en una entrevista técnica. Exportar un PNG funciona, pero queda congelado: si corriges algo mañana, tienes que volver a mandarlo. Un enlace compartido muestra siempre la versión actual del diagrama, y tú decides quién entra, hasta cuándo y qué puede llevarse.

Crea el enlace en tres decisiones

Abre el diagrama en el editor y pulsa Compartir. Antes de generar el enlace eliges:

  1. Tipo de acceso. Público: cualquiera con la URL lo abre. Protegido con código: además de la URL, hace falta un código de 4 a 20 caracteres. Si dejas el campo vacío, DiagramaHub genera uno aleatorio de 6.
  2. Vigencia. 5, 10 o 30 días, o ilimitado. Al vencer, el enlace deja de funcionar solo.
  3. Copiar el código. Decide si quien lo recibe puede ver y copiar la fuente en Mermaid, PlantUML, D2 o DBML, o solo el diagrama dibujado.

Copia la URL (y el código, si es protegido) y mándalos por canales distintos: el enlace por correo y el código por chat, por ejemplo. Así, si alguien reenvía el correo, no se lleva también el acceso.

Qué ve quien lo abre

El visitante no necesita cuenta. Entra a una vista de solo lectura con:

  • El diagrama renderizado, con su título.
  • Zoom con la rueda o los botones, y ajustar a pantalla para diagramas grandes.
  • El panel de descripción, si el diagrama tiene una en Markdown, con botón para copiarla.
  • La vista de código con botón de copiar, solo si lo permitiste.
  • El tipo de diagrama y tu nombre como autor.

Funciona igual con los cuatro lenguajes y con el pizarrón a mano alzada: el boceto se muestra en modo lectura, sin menú de edición. Como el enlace apunta al diagrama y no a una copia, cada cambio que guardes aparece la próxima vez que lo abran.

Lo que pasa detrás de un enlace protegido

sequenceDiagram
    actor V as Visitante
    participant D as DiagramaHub
    V->>D: Abre /shared/token
    D-->>V: Título y "requiere código"
    V->>D: Envía el código
    alt Código correcto
        D-->>V: Diagrama
    else Código incorrecto
        D-->>V: Error e intentos restantes
    else 5 fallos en 15 min
        D-->>V: Bloqueado por 15 minutos
    end

Algunos detalles que vale la pena conocer:

  • El token de la URL es aleatorio (generado con criptografía segura), así que no se puede adivinar recorriendo números.
  • El código no se guarda en claro: se almacena con un hash bcrypt, igual que una contraseña. Anótalo cuando lo crees.
  • Fuerza bruta acotada: 5 intentos fallidos desde la misma IP en 15 minutos bloquean ese enlace para esa IP durante 15 minutos. Además, los endpoints públicos tienen un límite de 60 solicitudes por minuto por IP.
  • Registro de accesos con el resultado de cada intento (éxito, código incorrecto, bloqueado, expirado). La IP se guarda como hash SHA-256, no tal cual.

Cambia de opinión cuando quieras

  • Revócalo. Desde el mismo botón Compartir ves el enlace activo, cuándo expira y si permite copiar el código. En cuanto lo revocas, la URL deja de responder.
  • Un enlace activo por diagrama. Si generas uno nuevo, el anterior se revoca. Es la forma rápida de cortar el acceso a todos los que tenían la URL vieja.
  • ¿Quieres otras condiciones? Revoca el enlace y genera uno nuevo con el acceso, la vigencia o el permiso que necesites. La URL cambia, así que mándala de nuevo.

Un aviso honesto sobre "copiar el código"

Desactivar la copia quita la vista de código y el botón de copiar de la interfaz, y para el visitante promedio es suficiente. Pero para dibujar el diagrama, su navegador necesita la fuente, así que alguien con conocimientos técnicos podría obtenerla. Si el contenido es confidencial, protege el enlace con código y una vigencia corta: eso sí limita quién lo ve.

¿Y para presentarlo tú mismo?

Si vas a mostrarlo en una reunión, no hace falta compartirlo: usa el modo presentación del editor. Pone el diagrama a pantalla completa, oculta la barra lateral y los paneles, y sales con Esc.

Pruébalo

Abre cualquier diagrama en DiagramaHub Cloud, pulsa Compartir y manda el enlace a alguien de tu equipo. Si hospedas tu propia instancia, los enlaces usan la URL de tu frontend; la guía de instalación explica cómo configurarla. El código está en el repositorio.