Skip to content

Commit 36f3f3f

Browse files
committed
docs(changelog): prepare Self-hosted: OAuth tokens sealed at rest
1 parent 929021d commit 36f3f3f

1 file changed

Lines changed: 89 additions & 0 deletions

File tree

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Self-hosted: OAuth tokens sealed at rest
2+
3+
Status: editorial draft. Availability and media require review before an article is added.
4+
5+
## Editorial selection
6+
7+
Story type: action_required
8+
9+
PR #9425 introduces encrypted-at-rest OAuth token storage for self-hosted Sim, enabled by default when ENCRYPTION_KEY is 64 hex characters, with a hard rollback restriction below v0.9.33. This is a clear action_required story: the feature activates automatically with a valid key and imposes an irreversible rollback constraint. Alternatives: #9402 (GPT-6.1 Terra) is a model addition, #9404 (audit rollup) is Enterprise audit, #9436 (Files pagination) has no confirmed UI rollout, #9428 (Search/Assistant) has outstanding worker and feature-flag uncertainty. The security/action-required story beats all alternatives on necessity and breadth of self-hosted operator impact. Merged to staging with no release tag — availability is unverified and owner review is essential before publication.
10+
11+
## Proposed article
12+
13+
Sim self-hosted deployments encrypt connected-account OAuth tokens at rest when a valid 64-hex encryption key is set, with a migrate backfill for stored tokens and a rollback restriction below v0.9.33.
14+
15+
Sim seals connected-account OAuth tokens at rest using `ENCRYPTION_KEY`. When the key is exactly 64 hex characters, each token is encrypted on write and the `migrate` step backfills previously stored tokens in small batches. Without a usable key, tokens continue to be stored in plain text and the app keeps working.
16+
17+
Set `ENCRYPT_ACCOUNT_TOKENS=false` on the app, background workers, and migrations container to opt out. Already-sealed tokens remain readable when opted out. Once tokens are sealed, do not roll back to a release older than v0.9.33—those releases cannot read sealed tokens, and every connected account would need to be reconnected. See [Account token sealing](https://docs.sim.ai/platform/self-hosting/security) for the full setup, the [upgrade guide](https://docs.sim.ai/platform/self-hosting/upgrades) for rolling-deploy considerations, and the [environment variables reference](https://docs.sim.ai/platform/self-hosting/environment-variables) for key format requirements.
18+
19+
## Editorial review
20+
21+
- Removed all 'now' claims from headline, summary, body, social, and email per automatic-draft guidelines — human publication review establishes rollout.
22+
- Removed startup log message detail from body; operators can find it in the linked security guide. Retained in claims for evidence.
23+
- Added 'Already-sealed tokens remain readable when opted out' to body — supported by docs excerpt ('tokens that are already sealed stay readable') and useful for operators evaluating the opt-out.
24+
- Added 'opting out does not unseal stored tokens' to claims — supported by docs callout: 'Opting out does not unseal stored tokens.'
25+
- PR merged to staging with no release tag. Availability is unverified. Owner must confirm rollout status before publication.
26+
- v0.9.33 version number in rollback restriction comes from docs excerpts (security.mdx callout and upgrades.mdx). Owner should confirm this is the correct version before publication.
27+
- Removed three doc links with anchor fragments (#account-token-sealing) and used base verified URLs instead, since only base URLs are in verifiedLinks.
28+
29+
## Source evidence
30+
31+
- When ENCRYPTION_KEY is exactly 64 hex characters, Sim encrypts connected-account OAuth tokens on write. Each process logs 'Account token sealing: enabled' with a key id at startup. — simstudioai/sim#9425
32+
- The migrate step backfills tokens stored before sealing was on in small batches. When upgrading from a release older than v0.9.33, the backfill waits one hour after the upgrade migration before sealing stored tokens, so old pods have time to roll out. — simstudioai/sim#9425
33+
- Rolling back to a release older than v0.9.33 after tokens are sealed makes every connected account require reconnection, because those releases cannot read sealed tokens. — simstudioai/sim#9425
34+
- Set ENCRYPT_ACCOUNT_TOKENS=false on the app, background workers, and migrations container to opt out. Already-sealed tokens remain readable when opted out; opting out does not unseal stored tokens. — simstudioai/sim#9425
35+
- The Helm chart init container and Compose migrations services pass ENCRYPTION_KEY and ENCRYPT_ACCOUNT_TOKENS to the migrations container automatically. Chart bumped to 1.11.10. — simstudioai/sim#9425
36+
37+
- https://github.com/simstudioai/sim/pull/9425
38+
39+
## Availability and open questions
40+
41+
- [ ] Has this shipped to Sim Cloud or is it self-hosted only? The PR targets staging with no release tag — owner must confirm availability before publication.
42+
- [ ] Is v0.9.33 the correct minimum version for the rollback restriction, or should the version be confirmed before publication?
43+
- [ ] Should the announcement mention the one-hour grace period during rolling deploys from pre-v0.9.33, or is linking to the upgrade guide sufficient?
44+
- [ ] Owner review needed: confirm rollout status and whether any Cloud-side action is required for users.
45+
46+
## Links checked during drafting
47+
48+
- [Account token sealing](https://docs.sim.ai/platform/self-hosting/security)
49+
- [Upgrade guide](https://docs.sim.ai/platform/self-hosting/upgrades)
50+
- [Environment variables](https://docs.sim.ai/platform/self-hosting/environment-variables)
51+
52+
## Media production
53+
54+
Format: illustration
55+
Subject: Encrypted-at-rest OAuth token storage concept for self-hosted Sim
56+
Starting state: Abstract token shapes in plain form approaching a server vault
57+
Action: Tokens enter the vault and are sealed with a key
58+
Visible result: Vault closed and locked, tokens stored securely inside
59+
Poster: Vault locked with key visible, tokens sealed inside
60+
Framing: Centered composition, monochrome gouache/graphite on fine paper texture, no text, no fabricated UI, no invented results
61+
Demonstration limits: Illustration only — does not establish behavior or rollout. Feature verified via PR #9425 docs excerpts and security patch. Independent owner review required before publication.
62+
63+
An editorial illustration representing encrypted-at-rest token storage for a self-hosted deployment. Composition: a restrained monochrome gouache/graphite landscape showing an abstract server vault or strongbox on fine paper texture. Token-like shapes are sealed inside the vault, which is closed with a visible key. No text, no fabricated UI, no invented results. The illustration communicates the concept of encryption at rest without depicting any specific interface.
64+
65+
1. Illustration: a monochrome gouache/graphite composition on fine paper texture — a locked strongbox or vault with abstract token shapes sealed inside, a key resting nearby. No text, no fabricated UI.
66+
67+
Suggested alt text: Illustration of abstract token shapes sealed inside a locked vault, representing encrypted-at-rest OAuth token storage in a self-hosted deployment
68+
69+
- [ ] Independently verify the feature and rollout; record evidence and limitations.
70+
- [ ] Review a product capture, verified diagram, or original editorial illustration; retain capture or generation provenance.
71+
- [ ] Choose the final image or video poster; verify it reads clearly at 390px. Candidate assets are not approved media.
72+
- [ ] Add optimized versioned media, captions if spoken, and index.mdx with draft: true.
73+
- [ ] Verify the final media on desktop and mobile and run the content audit.
74+
- [ ] Feature owner confirms availability; editor approves copy and links.
75+
- [ ] After the approved site deployment, verify article, media, RSS and sitemap before marking published.
76+
77+
## Announcement drafts
78+
79+
**Social**
80+
81+
Sim self-hosted encrypts connected-account OAuth tokens at rest when ENCRYPTION_KEY is a valid 64-hex value. The migrate step backfills stored tokens automatically. Do not roll back below v0.9.33 once tokens are sealed. Details in the security guide.
82+
83+
**Email**
84+
85+
If you self-host Sim, connected-account OAuth tokens are encrypted at rest when your ENCRYPTION_KEY is a valid 64-hex value. The migrate step backfills tokens stored before sealing was on. Important: once tokens are sealed, rolling back to a release older than v0.9.33 requires reconnecting every account. See the security guide for opt-out instructions and rolling-deploy guidance.
86+
87+
Final canonical URL is assigned when the reviewed article slug is chosen. Do not distribute these drafts before publication.
88+
89+
Editorial contract: apps/sim/content/changelog/README.md and editorial-standard.md. This brief is public repository content; keep private operational evidence in Sim.

0 commit comments

Comments
 (0)