# Collaboration Capability

## Content

Collaboration capability defines how different SpreadJS models participate in the shared synchronization architecture.
All collaboration sessions use a unified operational synchronization mechanism. Each model defines:

* What state is considered collaborative
* What structural boundaries apply
* What is excluded from synchronization
* What additional behavioral rules are enforced

SpreadJS currently defines two collaboration models:

* **Sheets Model** — Workbook snapshot–based collaboration.
* **Data Manager–Based Model** — Structured data collaboration for features backed by the DataManager infrastructure.

Additional models may be introduced in future releases.

## Capability Dimensions

Each collaboration model is described using the following dimensions:
**Participation Scope**
Defines how the model integrates with the collaboration architecture.
**Synchronization Scope**
Specifies which persisted structural states are synchronized across clients.
**Exclusions**
Lists scopes that are explicitly not synchronized.
**Special Rules**
Describes collaboration-specific constraints or behaviors required to maintain consistency.
Only the states explicitly described under each model are included in collaboration capability.