Update task task-025

This commit is contained in:
Jeff Emmett 2025-12-04 12:43:47 -08:00
parent d094c2b398
commit f4ad474814
1 changed files with 34 additions and 10 deletions

View File

@ -4,7 +4,7 @@ title: 'Google Export: Local-First Data Sovereignty'
status: In Progress status: In Progress
assignee: [] assignee: []
created_date: '2025-12-04 20:25' created_date: '2025-12-04 20:25'
updated_date: '2025-12-04 20:28' updated_date: '2025-12-04 20:43'
labels: labels:
- feature - feature
- google - google
@ -27,19 +27,43 @@ Architecture docs in: docs/GOOGLE_DATA_SOVEREIGNTY.md
## Acceptance Criteria ## Acceptance Criteria
<!-- AC:BEGIN --> <!-- AC:BEGIN -->
- [ ] #1 OAuth 2.0 with PKCE flow for Google APIs - [x] #1 OAuth 2.0 with PKCE flow for Google APIs
- [ ] #2 IndexedDB schema for encrypted data storage - [x] #2 IndexedDB schema for encrypted data storage
- [ ] #3 WebCrypto key derivation from master key - [x] #3 WebCrypto key derivation from master key
- [ ] #4 Gmail import with pagination and progress - [x] #4 Gmail import with pagination and progress
- [ ] #5 Drive document import - [x] #5 Drive document import
- [ ] #6 Photos thumbnail import - [x] #6 Photos thumbnail import
- [ ] #7 Calendar event import - [x] #7 Calendar event import
- [ ] #8 Share to board functionality - [x] #8 Share to board functionality
- [ ] #9 R2 encrypted backup/restore - [x] #9 R2 encrypted backup/restore
<!-- AC:END --> <!-- AC:END -->
## Implementation Notes ## Implementation Notes
<!-- SECTION:NOTES:BEGIN --> <!-- SECTION:NOTES:BEGIN -->
Starting implementation - reviewed architecture doc GOOGLE_DATA_SOVEREIGNTY.md Starting implementation - reviewed architecture doc GOOGLE_DATA_SOVEREIGNTY.md
Implemented core Google Data Sovereignty module:
- types.ts: Type definitions for all encrypted data structures
- encryption.ts: WebCrypto AES-256-GCM encryption, HKDF key derivation, PKCE utilities
- database.ts: IndexedDB schema with stores for gmail, drive, photos, calendar, sync metadata, encryption metadata, tokens
- oauth.ts: OAuth 2.0 PKCE flow for Google APIs with encrypted token storage
- importers/gmail.ts: Gmail import with pagination, progress tracking, batch storage
- importers/drive.ts: Drive import with folder navigation, Google Docs export
- importers/photos.ts: Photos import with thumbnail caching, album support
- importers/calendar.ts: Calendar import with date range filtering, recurring events
- share.ts: Share service for creating tldraw shapes from encrypted data
- backup.ts: R2 backup service with encrypted manifest, checksum verification
- index.ts: Main module with GoogleDataService class and singleton pattern
<!-- SECTION:NOTES:END --> <!-- SECTION:NOTES:END -->