https://github.com/ianchenx/session-stash
Manage and switch multiple account sessions per site. Encrypted cookie and localStorage sync via Cloudflare KV.
https://github.com/ianchenx/session-stash
chrome-extension cloudflare-kv cookie-manager multi-account session-manager
Last synced: 20 days ago
JSON representation
Manage and switch multiple account sessions per site. Encrypted cookie and localStorage sync via Cloudflare KV.
- Host: GitHub
- URL: https://github.com/ianchenx/session-stash
- Owner: ianchenx
- License: mit
- Created: 2026-04-17T10:15:41.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-27T03:25:25.000Z (about 2 months ago)
- Last Synced: 2026-04-30T10:40:06.481Z (about 1 month ago)
- Topics: chrome-extension, cloudflare-kv, cookie-manager, multi-account, session-manager
- Language: TypeScript
- Size: 1.59 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Session Stash


English | [中文](README_CN.md)
Session Stash is a Chrome extension for managing multiple account sessions on the same website. Save your cookies and localStorage as encrypted snapshots to your own Cloudflare KV — switch identities without changing browser profiles.
### Install
Chrome: [Session Stash](https://chromewebstore.google.com/detail/session-stash/kfbdilhallcofbmjjlhlchehkcbnailc)
### Features
- Save and switch between multiple account sessions per website
- End-to-end encrypted — AES-GCM-256, key derived via PBKDF2-SHA256 (600k iterations)
- Synced to your own Cloudflare KV namespace — you control the data
- Popup for quick switching, side panel for full management
- Auto-lock vault after configurable idle timeout
- Conflict detection when sessions are updated from another device
- Clear cookies and localStorage for the current site in one click
- Toolbar badge shows the active account
### How It Works
```
┌─────────────┐ snapshot ┌──────────────┐ encrypt ┌──────────────────┐
│ Browser Tab │ ──────────▶ │ Background │ ──────────▶ │ Cloudflare KV │
│ (cookies + │ │ Service Worker│ │ (your namespace)│
│ localStorage│ ◀────────── │ │ ◀────────── │ │
└─────────────┘ inject └──────────────┘ decrypt └──────────────────┘
```
1. **Save** — Snapshots cookies and localStorage for the active tab's domain, encrypts them, and writes to KV.
2. **Switch** — Pushes the current session back to KV (if healthy), clears the tab, injects the target session, and reloads.
3. **Push** — Overwrites the cloud version of the active account with the current live session.
> [!NOTE]
> Session Stash operates per-domain — `github.com` and `mail.google.com` maintain separate account lists.
### Screenshots


### Usage
1. Install the extension and click the Session Stash icon → **Settings**
2. Enter your Cloudflare **Account ID**, **Namespace ID**, and **API Token**
3. Set a master password — this encrypts all session data before it leaves the browser
4. Navigate to any HTTPS site, click the icon, and **Save current** to capture your session
5. Log into a different account on the same site and save it with a different label
6. Switch between accounts with one click — the tab reloads with the new identity
> [!TIP]
> Create your Cloudflare KV namespace at **Workers & Pages → KV** in the [Cloudflare dashboard](https://dash.cloudflare.com/). You'll need an API token with `Account.Workers KV Storage` read/write permission.
### Privacy
- Your master password never leaves the browser
- All session data is encrypted locally before being sent to Cloudflare KV
- No telemetry, no analytics, no third-party services