Fundamentos
Sync-in se basa en decisiones de diseño que priorizan el control del almacenamiento, la coherencia del acceso y la escalabilidad operativa.
- Almacenamiento legible y reversible, con archivos guardados en su sistema de archivos original.
- Metadatos bajo demanda, creados solo cuando una función lo requiere.
- Escalabilidad operativa, sin un espejo de base de datos completo obligatorio del árbol de archivos.
- Gobernanza colaborativa, con espacios colaborativos, permisos granulares, anclaje virtual y delegaciones de uso compartido gobernables.
- Seguridad integrada, basada en reglas consistentes de permisos, bloqueo y trazabilidad.
- Coherencia de acceso, independientemente del punto de entrada: interfaz web, WebDAV, sincronización, editores o API.
- Interoperabilidad nativa, a través de WebDAV, clientes de sincronización e integraciones de documentos.
Estas opciones se traducen en varios mecanismos clave que estructuran la arquitectura de Sync-in.
Para comparar estas opciones con otras arquitecturas EFSS de código abierto, consulte Comparación de diseños.
Modelo de almacenamiento y reversibilidad
Reversibilidad del almacenamiento
Los archivos no se absorben ni se almacenan en una base de datos: permanecen directamente accesibles en el sistema de archivos.
Esto garantiza que los usuarios conserven la libertad de leer, realizar copias de seguridad, migrar o procesar sus datos con otras herramientas, sin ninguna restricción o dependencia de Sync-in. Cuando se producen cambios en el sistema de archivos, Sync-in puede conciliar el estado observado con los metadatos existentes para preservar la coherencia de la aplicación.
El estado de la aplicación no está integrado en los archivos a través de metadatos del sistema de archivos específicos del backend, lo que hace que los flujos de trabajo de copia, restauración y migración dependan menos de atributos de almacenamiento ocultos.
👉 Ver también: Comparación de diseños
Metadatos específicos y reconciliación del sistema de archivos
Para los metadatos colaborativos, Sync-in solo indexa los archivos que contienen un estado útil para la aplicación: comentarios, recursos compartidos, anclajes, sincronizaciones, permisos, actividad y estados relacionados. La base de datos no actúa como un espejo completo obligatorio del árbol del sistema de archivos: almacena el estado funcional requerido por la plataforma. Este enfoque mantiene el crecimiento de la base de datos más próximo al uso colaborativo real, reduce la sobrecarga de indexación en árboles muy grandes y mejora tanto la fluidez como el rendimiento general de la plataforma.
Este modelo también fortalece la escalabilidad: agregar millones de archivos no crea automáticamente millones de entradas de aplicaciones. La carga de la base de datos crece principalmente con las funciones realmente utilizadas, como recursos compartidos, sincronizaciones, permisos o actividad.
Cuando un archivo ya asociado con metadatos cambia en el sistema de archivos, Sync-in puede conciliar el estado de almacenamiento real con los metadatos existentes. Esto mantiene coherentes los recursos compartidos, anclajes, sincronizaciones, permisos y actividades sin imponer un caché global para cada archivo.
La indexación de texto completo es un mecanismo separado: se refiere al contenido del documento, se puede habilitar o deshabilitar y no tiene que quedar ligada a la base de datos. Puede depender de motores de búsqueda más adecuados para cargas de trabajo de texto completo, como Elasticsearch. Los resultados permanecen filtrados por los derechos de acceso del usuario, incluso cuando provienen del índice de contenidos.
Anclaje virtual sin duplicaciones
El mecanismo de anclaje permite vincular un archivo o carpeta a un espacio colaborativo sin mover ni duplicarlo.
El elemento es accesible como si estuviera físicamente presente (interfaz, WebDAV, API), y al mismo tiempo sigue las reglas de permiso del espacio colaborativo de destino.
Esto evita la redundancia y proporciona un mejor control sobre la distribución de datos.
Los archivos anclados permanecen sujetos a doble control: los derechos de la ubicación original y los derechos del espacio colaborativo deben permitir la acción. Esto evita que un espacio expanda indirectamente los permisos definidos por el propietario del archivo.
Esta lógica también se aplica a ubicaciones externas: un administrador puede vincular un directorio existente del servidor a un recurso compartido o a un espacio colaborativo sin importarlo a una estructura de almacenamiento específica de la aplicación.
👉 Ver: Concepto de archivos anclados y Ubicación externa
Derechos y gobernanza
Delegación gobernada y uso compartido anidado
Con Sync-in, compartir es una delegación persistente de derechos. Un recurso compartido creado a partir de otro recurso compartido registra su padre inmediato y los permisos que puede otorgar se limitan a los disponibles a través de ese padre. Los descendientes se pueden recorrer de forma recursiva y se eliminan en cascada con la rama de la que dependen.
Este árbol padre-hijo mantiene gobernable el uso compartido anidado: los propietarios y gestores de espacios colaborativos pueden inspeccionar, ajustar o revocar recursos compartidos descendientes incluso cuando el acceso se ha vuelto a delegar a través de varios miembros.
👉 Consulte: Soberanía, Gestión de recursos compartidos en espacios colaborativos y Gestión de recursos compartidos secundarios.
Gobernanza de los espacios colaborativos y visibilidad operativa
Los espacios colaborativos definen un rol de gestor, responsable de supervisar los archivos, miembros, recursos compartidos y permisos asociados al espacio.
La gobernanza también cubre la gestión de archivos anclados, con reglas estrictas que garantizan que los derechos originales asociados al archivo permanezcan sin cambios, incluso cuando el anclaje se administra desde el espacio.
Este enfoque proporciona una gobernanza clara y lista para usar para espacios colaborativos, con un modelo de responsabilidad explícito.
Incluso cuando un archivo se comparte o se ancla en otro lugar, su consumo de almacenamiento permanece asociado a su ubicación original. Por tanto, las cuotas mantienen un modelo de responsabilidad claro, independiente de los distintos contextos desde los que se accede al archivo.
👉 Ver: Gestión de espacios colaborativos
Separación de acceso y revocabilidad
Sync-in separa los tipos de acceso según su uso: usuarios internos, invitados, enlaces para invitados, grupos, clientes WebDAV, la aplicación de escritorio y herramientas de línea de comandos. Esta separación permite aplicar el nivel adecuado de acceso a cada contexto sin exponer innecesariamente la cuenta principal.
WebDAV puede utilizar contraseñas de aplicación específicas, revocables, con caducidad y trazables. La aplicación de escritorio y los clientes de sincronización de línea de comandos utilizan su propio mecanismo de registro: requieren una autenticación inicial y una reautenticación periódica, y permanecen sujetos a los mismos principios de revocación, caducidad y trazabilidad.
Para entornos sensibles, se puede restringir la visibilidad de usuarios y grupos. Esto reduce el descubrimiento innecesario de cuentas y permite crear espacios de colaboración más compartimentados.
Sync-in también puede integrarse con mecanismos de autenticación estándar como OIDC o LDAP y reforzar las cuentas con MFA cuando sea necesario. Estas opciones complementan el modelo de acceso sin sustituir las reglas internas de permisos, uso compartido y trazabilidad.
Coherencia entre los métodos de acceso
Coherencia de la aplicación
Los mecanismos principales de Sync-in (permisos, bloqueo, WebDAV, sincronización, recursos compartidos, anclajes y actividad) se basan en los mismos servicios de dominio. Esta organización evita comportamientos divergentes según el método de acceso utilizado: interfaz web, WebDAV, cliente de sincronización, editor colaborativo o API.
Esta coherencia permite que la plataforma evolucione sin duplicar reglas de seguridad ni multiplicar rutas de ejecución específicas del protocolo.
Bloqueo unificado
El sistema de bloqueo unificado garantiza la consistencia transaccional y la integridad de archivos en toda la plataforma, independientemente del método de acceso utilizado: interfaz web, WebDAV, clientes de sincronización, editores colaborativos o API.
La implementación de este sistema proporciona una gestión determinista de los accesos concurrentes mediante la serialización de las operaciones, lo que evita cualquier corrupción de estado y elimina los conflictos causados por escrituras simultáneas.
👉 Ver: Administración de bloqueo de archivos
Sincronización optimizada e integrada
Sync-in proporciona un sistema nativo de sincronización de archivos, optimizado y coherente con la interfaz web.
Se basa en las API existentes para garantizar un comportamiento uniforme en términos de control, seguridad y trazabilidad.
El manejo optimizado de las acciones copiar y mover reduce el uso de la red.
Esta característica también incluye mecanismos avanzados como reanudación de transferencia automática, simulación de sincronización, protección contra pérdida de datos, filtrado de expresiones regulares...
Por lo tanto, la sincronización prioriza la seguridad operativa tanto como la velocidad: la simulación previa, la reanudación de las transferencias, la protección contra la pérdida de datos y la optimización de los movimientos limitan tanto los errores como las transferencias innecesarias.
👉 Ver: Sincronización
Implementación nativa del protocolo WebDAV
Mientras que otras soluciones dependen de bibliotecas externas (como sabre-dav en PHP), Sync-in proporciona su propia implementación WebDAV, totalmente compatible con RFC 4918 y desarrollada en TypeScript.
Esta elección técnica garantiza soporte nativo, rendimiento optimizado y una integración perfecta en el modelo de seguridad global de la plataforma.
👉 Ver: WebDAV