rspace-online/backlog/tasks/task-13 - Sprint-5-EncryptI...

75 lines
2.2 KiB
Markdown

---
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
<!-- SECTION:DESCRIPTION:BEGIN -->
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
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #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
<!-- AC:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
## 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
<!-- SECTION:NOTES:END -->