FrameOS Cloud 1/4: device-flow linking of backends and frames#263
Open
mariusandra wants to merge 2 commits into
Open
FrameOS Cloud 1/4: device-flow linking of backends and frames#263mariusandra wants to merge 2 commits into
mariusandra wants to merge 2 commits into
Conversation
Phase 0 of CLOUD-TODO.md. Links this install to cloud.frameos.net (or any
compatible self-hosted provider) via the OAuth 2.0 Device Authorization
Grant, with a scoped permission model. The token is encrypted at rest and
every connection is outbound-only; the protocol is documented in
docs/cloud-link.md.
- Backend: /api/cloud/{status,provider,connect,poll,disconnect}, link state
in cloud_backend_link (tables shipped earlier), account owner learned from
grants at connect time
- Frame: the same endpoints implemented on-device (cloud_api_routes.nim),
link state in ./state/cloud_link.json
- Frontend: "FrameOS Cloud" settings section shared between the backend
settings page and the on-device frame admin
- Safe feature scopes (backups, store publishing) are requested with the
link; security-sensitive scopes (cloud login, ...) come later with an
explicit opt-in toggle
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First of a four-PR stack splitting up the FrameOS Cloud work (#257):
Links a FrameOS backend or a standalone frame to
cloud.frameos.net— or any compatible self-hosted provider — via the OAuth 2.0 Device Authorization Grant, with a scoped permission model. All connections are outbound-only and the link token is encrypted at rest./api/cloud/{status,provider,connect,poll,disconnect}; the DB tables shipped earlier (2c4a6f8d9b10), this adds the ORM layer, the link lifecycle, and the account-owner fields learned from grants at connect time (+ migration)cloud_api_routes.nim, link state in./state/cloud_link.jsondocs/cloud-link.mddocuments the complete protocol (including the login/backup/store endpoints that land in the follow-up PRs) so any compatible server can implement it;CLOUD-TODO.mdis the phase planTest plan
pytest app/api/tests/test_cloud.py— 10 passed (full backend suite: 735 passed)nim c -r src/frameos/server/tests/test_auth.nim— green; full frameos compile check passespnpm --dir frontend run buildand the frame admin frontend build pass🤖 Generated with Claude Code