Skip to main content

Architecture and Design

Sync-in is built on several core principles:

  • Performance and speed, even with millions of files.
  • Full data ownership and control, guaranteed to the owner end-to-end.
  • Simplicity and lightness, by avoiding massive and unnecessary indexing.
  • Innovative features, such as virtual anchoring, fine-grained permissions, and nested sharing.
  • Robust and native security, based on authentication standards and the security by design principle.
  • Scalability and interoperability, without compromising fluidity.

Sync-in’s architecture implements these principles through several key mechanisms that define its approach.

Space governance and operational visibility​

Collaborative spaces define a manager role, responsible for supervising the files, members, shares, and permissions associated with the space.
Governance also covers the management of anchored files, with strict rules ensuring that the original rights attached to the file remain unchanged, even when the anchor is administered at the space level.

This approach provides clear, ready-to-use governance, rarely offered in file collaboration platforms.

πŸ‘‰ See: Collaborative space management

Granular permissions and nested sharing​

Sync-in introduces advanced rights management: a share can be redelegated while still giving the owner full visibility and control over the entire chain of shares.
This unique approach allows the owner to manage, adjust, or revoke child shares with full transparency.

πŸ‘‰ See: Managing shares in collaborative spaces and Managing child shares.

Virtual anchoring without duplication​

The anchoring mechanism makes it possible to link a file or folder to a space without moving or duplicating it.
The item is accessible as if it were physically present (interface, WebDAV, API), while still following the permission rules of the target space.
This avoids redundancy and provides better control over data distribution.

πŸ‘‰ See: Anchored files concept

Native WebDAV protocol implementation​

While other solutions rely on external libraries (such as sabre-dav in PHP), Sync-in provides its own WebDAV implementation, fully compliant with RFC 4918 and developed in TypeScript.
This technical choice ensures native support, optimized performance, and seamless integration into the platform’s global security model.

πŸ‘‰ See: WebDAV

Optimized and integrated synchronization​

Sync-in provides a native file synchronization system, optimized and consistent with the Web interface.
It relies on existing APIs to ensure uniform behavior in terms of control, security, and auditing.
Thanks to optimized handling of copy and move actions, network usage is reduced.
This feature also includes advanced mechanisms such as automatic transfer resume, synchronization simulation, data loss protection, regular expression filtering...

πŸ‘‰ See: Synchronization

Database optimized for performance​

Sync-in only indexes files that require metadata (comments, shares, anchors, synchronizations, etc.).
This approach drastically reduces the size of the database, improving both fluidity and overall platform performance.

Freedom and no vendor lock-in​

Files are not absorbed or stored in a database: they remain directly accessible on the filesystem.
This ensures users retain the freedom to work on their data outside the platform, with the ability to modify, move, or use it with other tools, without any constraint or dependency on Sync-in.

Modern technical stack​

Sync-in is built on a modern and consistent stack, designed for performance, maintainability, and scalability.

TypeScript​

The use of TypeScript provides static typing, improved readability, more efficient maintenance for developers, and enables shared logic between frontend and backend.

Backend: NestJS + Fastify​

The backend relies on NestJS, a modular, modern, and structured framework, combined with Fastify for optimal performance.
This combination makes it possible to balance developer productivity with high production performance.

Frontend: Angular​

The user interface is built with Angular, providing a solid structure and long-term maintainability for complex applications.
This choice ensures functional consistency and scalability over time.

Software Architecture​

Sync-in is based on a layered architecture that clearly separates security, business logic, APIs, and data persistence.
Each request is filtered through guards that enforce authentication and authorization rules before accessing internal services.
This organization strengthens security, improves maintainability, and ensures the scalability of the platform.

πŸ‘‰ For a detailed presentation of the different layers: Deepwiki – Sync-in Server Architecture