Secure session transfer for any website
Chrome Web Store · Website · Releases · Privacy · Issues
Session Copy is a Chrome extension that copies and restores an encrypted snapshot of localStorage, sessionStorage, and cookies for the site you are on—so you can move a login session to another browser or machine. Everything is processed on your device; there is no cloud vault or account.
Users: install from the Chrome Web Store.
Developers: build from source and load the dist/ folder — see Development below.
- Universal — works on the active tab’s origin; built for any site you can log into in Chrome.
- Encrypted by default — session data is packed and encrypted before it leaves the browser (clipboard or
.sessionfile). - HttpOnly cookies — restored with
chrome.cookies.setfrom the service worker, notdocument.cookie. - Login transfer mode — recommended default; copies auth-related keys and cookies only, not full UI state.
- Clipboard or file — copy/paste a token when it fits; otherwise export/import an encrypted file.
- Clear site data — reset cookies and storage for the active tab if a restore left the site broken.
- Light / dark themes — matches your system by default; switch in Settings.
- Offline — no analytics, no backend, no session database operated by this project.
Copy & paste, or export and import an encrypted session file
Control what gets captured before you copy or export
Encrypted on your device — treat shared sessions like passwords
- Log in on the site you care about.
- Open Session Copy → Copy session (or Export to save a file).
- On another browser or machine → Paste session or Import the file.
- If the site still looks logged out, reload the page once.
- If a restore made things worse, open Clear (or Site cleanup on Home/Settings) to reset that site’s cookies and storage.
Some sites store extra state in IndexedDB or device checks; restores may be partial. See limits below.
| Option | Description |
|---|---|
| Login transfer only (default) | Copies a small allowlist of storage keys and cookies that typically carry auth. |
| Stricter cookie filter | When full sync is enabled, drops more analytics-style cookies. |
| Theme | System (default), Light, or Dark appearance for the popup. |
To paste into incognito, allow the extension in incognito: chrome://extensions → Session Copy → Allow in incognito.
- IndexedDB, Cache Storage, and Service Worker caches are not exported.
- Cookie restore can fail for strict
__Host-/ domain rules; check the service worker console for details. - Shared tokens and files are bearer credentials—anyone with them can use the session until it expires.
Requires Node.js 20+.
The popup uses Vue 3 and TypeScript under src/popup/. The service worker and content scripts remain JavaScript modules in src/. npm run build writes docs/version.json for the GitHub Pages version badge.
git clone https://github.com/Makogai/session-copy.git
cd session-copy
npm install
npm run build
npm run typecheck # optional — Vue/TS check for the popupLoad the extension in Chrome:
- Open
chrome://extensions/ - Enable Developer mode
- Load unpacked → select the
dist/folder
| Command | Description |
|---|---|
npm run build |
Build into dist/ |
npm run dev |
Watch mode (reload extension after rebuilds) |
npm run package |
Release build + release/session-copy-v*.zip for Chrome Web Store uploads |
Source lives in src/; only dist/ is loaded as the extension. The repo root manifest.json is a template (version is taken from package.json at build time).
Windows packaging shortcut:
.\scripts\package-extension.ps1See docs/CHROME_WEB_STORE.md for publishing updates and docs/GITHUB_PAGES.md for the project site.
See PRIVACY.md.
MIT — Copyright (c) 2021 Lawrence Lagerlof



