--- id: TASK-13 title: 'Sprint 5: EncryptID Cross-App Integration' status: In Progress assignee: [] created_date: '2026-02-05 15:38' updated_date: '2026-02-17 21:42' labels: - encryptid - sprint-5 - integration dependencies: [] priority: high --- ## Description Integrate EncryptID across all r-ecosystem applications: 1. **rspace.online Integration** - Replace CryptID login with EncryptID - E2E encryption for private boards - Document signing for authorship 2. **rwallet.online Integration** - Connect AA wallet for treasury ops - Transaction approval with passkey - Session keys for recurring operations 3. **rvote.online Integration** - Voter authentication - Cryptographic ballot signatures - On-chain vote submission 4. **rfiles.online Integration** - E2E file encryption - Secure file sharing (key wrapping) - Storage payment integration 5. **rmaps.online Integration** - User authentication - Contribution signing - Location data encryption 6. **Shared Components** - EncryptID SDK/library - Login button component - Session management hooks ## Acceptance Criteria - [ ] #1 rspace.online authenticates via EncryptID - [ ] #2 rwallet.online connects to user's AA wallet - [ ] #3 rvote.online accepts signed ballots - [ ] #4 rfiles.online encrypts/decrypts with derived keys - [ ] #5 rmaps.online uses EncryptID for auth - [x] #6 Single sign-on works across all apps - [x] #7 EncryptID SDK published and documented ## Implementation Notes ## Progress 2026-02-17 - AC #6: Cross-domain token relay implemented (postMessage between r*.online domains) - AC #7: SDK exports updated — types/membership-events, client/token-relay, server role-resolver with remote lookup - space_members table + CRUD endpoints added to EncryptID server - SpaceRole bridges added to rVote, rNotes, rMaps (resolveSpaceRoleRemote with 5min cache) - Automerge CommunityDoc extended with members map - Bidirectional sync via PATCH /api/communities/:slug/shapes/:shapeId - Remaining: Full per-app integration (AC #1-5) needs UI work in each module