Users edit offline, conflicts happen at sync:
Detection: Compare local version with server version. If both changed since last sync, conflict.
Resolution strategies:
- Last-write-wins: Simple but loses data
- Keep both: Create "conflicted copy" file
- Merge: For structured data, attempt auto-merge
Dropbox approach: Keep both versions. User manually resolves. File named "filename (conflicted copy)"
Prevention: Lock files during edit (optional feature). Show "someone else is editing" warnings.
Sync protocol: Client sends changes with expected version. Server rejects if version mismatch. Client must pull, merge, retry.