Add end-to-end encrypted artifact sharing - #26
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (25)
📝 WalkthroughWalkthroughAdds end-to-end encrypted artifact sharing. Devices create and upload encrypted snapshots. Public endpoints serve ciphertext without authentication. The console decrypts content from a URL fragment and renders supported artifact types. ChangesEncrypted artifact sharing
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant Device
participant API
participant ObjectStorage
participant PublicViewer
participant BrowserCrypto
Device->>API: Create encrypted-share intent
API->>Device: Return upload details
Device->>ObjectStorage: Upload encrypted metadata and content
Device->>API: Complete share with digest
PublicViewer->>API: Request public ciphertext
API->>ObjectStorage: Read encrypted content
API->>PublicViewer: Return encrypted metadata and content
PublicViewer->>BrowserCrypto: Decrypt with fragment key
BrowserCrypto->>PublicViewer: Return validated artifact
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.12.2)level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies" Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
K8s deployment verification completed successfully.
|
What changed
User impact
A logged-in JCode Desktop/Web user can publish an immutable encrypted artifact snapshot and copy a share link. Logged-out users do not see sharing controls. Recipients decrypt in their browser without an account.
Security notes
Validation
go test ./...(orchestrator)go vet ./...(orchestrator)Summary by CodeRabbit
New Features
Documentation
Bug Fixes