Operations and limits
Security, storage, runtime behavior, limitations, and repository source paths.
This section covers security behavior, storage layout, runtime notes, and the main repository areas behind each system.
Use this page when you need exact paths, security behavior, or implementation map pointers.
At a glance
Jump to related docs
Security and configuration
Encrypted stored secrets
Yes
Fernet encryption
Generated local master key
Yes
Stored as .cw_master_key with restrictive permissions when possible
External master key
Yes
CW_CONFIG_KEY or CROSSWATCH_CONFIG_KEY
Secret redaction
Yes
Tokens, API keys, passwords, session IDs, and webhook identifiers
Optional local UI login
Yes
Username and password
Password hashing
Yes
PBKDF2 SHA256, 260000 iterations
Remember session
Yes
Configurable duration
Multiple login sessions
Yes
HTTP interface
Yes
HTTPS interface
Yes
Automatic self-signed certificate
Yes
Configurable hostname and validity
Custom certificate and key
Yes
Provider SSL verification
Yes
Configurable for local server providers
Atomic configuration writes
Yes
Temporary file replacement
Configuration backup before reset
Yes
Backup path validation
Yes
Restricts access to managed backup paths
Capture path validation
Yes
Restricts access to managed capture paths
Runtime and storage
Persistent configuration root
/config in the container image
Main configuration
/config/config.json
Main sync state
/config/state.json
Manual policy state
/config/state.manual.json
Provider runtime state
/config/.cw_state
Local CrossWatch tracker
/config/.cw_provider
Local tracker snapshots
/config/.cw_provider/snapshots
Captures
/config/snapshots
Backups
/config/backups
Sync reports
/config/sync_reports
Runtime debug logging
Supported
HTTP access logging
Supported
Sync module debug logging
Supported
Provider request rate limits
Supported
Provider retry budgets
Supported
Usage telemetry
Enabled by default, configurable
Important limitations
Destructive removals stay off by default for a reason. Test first with dry runs.
There is no general playlist sync feature.
Jellyfin and Emby ratings are not currently exposed as sync features.
Jellyfin and Emby watchlists are emulated through Favorites, Playlist, or Collections.
Jellyfin and Emby Playlist watchlist mode is episode-oriented and cannot represent shows.
Tautulli is a read-only history source.
AniList only supports anime watchlist and ratings workflows.
TMDb only supports watchlist and ratings sync.
Trakt, SIMKL, and MDBList do not participate in normal pair-based progress sync, even though they are supported by the Playback Progress Manager.
PublicMetaDB writes require TMDb identity, and progress writes require duration.
Plex progress removal may be limited by Plex behavior.
Destructive removals are globally disabled by default, but a pair can explicitly enable them.
Mirror delete mode is destructive and should be used only when the source must be authoritative.
Drop guard and mass-deletion settings should be configured deliberately, especially during the first sync.
Plex fallback GUID searching increases runtime and resource use and is intended as a temporary recovery option.
Provider APIs, account permissions, rate limits, and upstream behavior can still prevent an operation that the CrossWatch adapter implements.
Last updated
Was this helpful?