1.9 KiB
1.9 KiB
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| task-035 | Data Sovereignty Zone: Private Workspace UI | In Progress | 2025-12-04 23:36 | 2025-12-05 00:33 |
|
|
high |
Description
Implement privacy-first UX for managing LOCAL (encrypted IndexedDB) vs SHARED (collaborative) data on the canvas.
Key features:
- Google Integration card in Settings modal
- Data Browser popup for selecting encrypted items
- Private Workspace zone (toggleable, frosted glass container)
- Visual distinction: 🔒 shaded overlay for local, normal for shared
- Permission prompt when dragging items outside workspace
Design decisions:
- Toggleable workspace that can pin to viewport
- Items always start private, explicit share action required
- ZK integration deferred to future phase
- R2 upload visual-only for now
Worktree: /home/jeffe/Github/canvas-website-branch-worktrees/google-export Branch: feature/google-export
Acceptance Criteria
- #1 Google Workspace integration card in Settings Integrations tab
- #2 Data Browser popup with service tabs and item selection
- #3 Private Workspace zone shape with frosted glass effect
- #4 Privacy badges (lock/globe) on items showing visibility
- #5 Permission modal when changing visibility from local to shared
- #6 Zone can be toggled visible/hidden and pinned to viewport
Implementation Notes
Phase 1 complete (c9c8c00):
-
Added Google Workspace section to Settings > Integrations tab
-
Connection status badge and import counts display
-
Connect/Disconnect buttons with loading states
-
Added getStoredCounts() method to GoogleDataService
-
Privacy messaging about AES-256 encryption