Last updated: September 6, 2026

Privacy Policy

What data the TabbySync browser extension touches, where it goes, and who can see it — plus what this website itself does.

This website

This section covers TabbySync.com — the pages you are reading now. It is separate from the extension, and from the policy below it: visiting this site is something you chose to do, not something the extension does on your behalf. The extension never opens, contacts or loads anything from this site.

  • No analytics, no tracking, no cookies for measurement. There is no Google Analytics, no tag manager, no pixel, no fingerprinting and no advertising network. No font CDN, no icon library, no embedded video. Every page but one loads nothing from any third-party domain at all — the exception is the contact form, described below.
  • reCAPTCHA, on the contact page only. /contact loads Google reCAPTCHA v3 to check submissions for automated abuse, because it is the one place on this site where a stranger can make it send mail. Loading it means your browser contacts Google and Google receives what any site you visit receives — your IP address, your browser and device details, and how you interacted with the page — and may set or read its own cookies for that domain. That is Google's collection, under Google's Privacy Policy and Terms of Service, and it is not something this site can promise anything about. What this site does control: your IP address is not sent to Google by the server when it checks your submission, and no other page here loads reCAPTCHA at all. If you would rather not involve Google, email the address on the contact page instead — it goes to the same inbox and involves them not at all.
  • The contact form sends exactly what you type — your name, your email address, the topic you pick and your message — to contact@tabbysync.com by email, and stores nothing. Your IP address and browser are deliberately not included in that email. A short-lived session cookie is set while you are using the form; it holds only a rate-limit timestamp and, if a field was rejected, what you had typed so the form can be handed back to you filled in. It is not used to identify or follow you.
  • Server logs. Like any web host, this one records ordinary access log entries — IP address, time, the page requested, browser string — which are kept for a short period for security and troubleshooting and are not combined with anything else or shared.
  • Email you send lives in a normal mailbox and is kept only as long as it is useful to answer you. Ask and it will be deleted.
Everything below this line is the extension's policy, reproduced verbatim from the copy that ships inside TabbySync itself. It is not rewritten or summarised for this page — there is one policy, and this is it.

The TabbySync extension

TabbySync is a browser extension that lets you sync your bookmarks and your open-tab lists across your own computers, using a destination you choose and control — your own self-hosted server, a private GitHub Gist, or a JSONBin.io bin. This policy explains what data the extension touches, where it goes, and who can see it.

The short version: TabbySync has no servers of its own and no analytics. Your bookmarks and tabs are stored on your device and sent — directly from your browser — only to the sync destination you configure. The developer of this extension never receives, stores, or has access to that data.

What data TabbySync accesses

PermissionWhat it's used for
bookmarksRead and write your browser's bookmark tree, so it can be synced and merged across devices.
tabs / tabGroupsRead open tabs when you choose to save them, and reopen them (optionally as a browser tab group) when you reopen a saved list.
storage / unlimitedStorageSave your bookmarks/tab-list data, settings, and sync state locally in the browser (chrome.storage.local).
contextMenusAdd right-click menu shortcuts (e.g. "Send tabs to TabbySync").
alarmsRun the periodic background sync on the schedule you set.
Host access (http(s)://*/*, requested per-site)Only requested for the specific server/API host you configure as your sync destination (e.g. your own domain, api.github.com, or api.jsonbin.io) — used solely to read and write your synced data there.

TabbySync does not read your browsing history, passwords, form data, or the content of pages you visit, and does not request permissions beyond what's listed above.

Why your browser's extension page may say more than this: chrome://extensions (or the equivalent page in any other Chromium-based browser — Brave, Edge, Opera, Vivaldi, and so on) shows a few things that come from the browser itself, not from TabbySync:
  • It lists tabs under the scarier label "Read your browsing history." That's Chromium's fixed warning text for that permission — it describes what the permission would technically allow, not what TabbySync does with it. TabbySync never listens for page navigation; it only reads your currently open tabs at the moment you act — opening the popup, saving a window's tabs, or reopening a saved list.
  • "Allow access to file URLs" and "Collect errors" are generic per-extension toggles the browser renders for every extension, independent of what that extension's manifest requests — there's no such thing as a manifest asking for either one. TabbySync never declares file:// access anywhere. "Collect errors" only controls whether your own browser shows you a local button with any JavaScript errors the extension has thrown — nothing is uploaded, and nothing reaches the developer.
  • "Site access" and its "Automatically allow access on the following sites" toggle only ever list sites you put there. TabbySync's manifest requests zero host access up front — no host_permissions, no content scripts on any page. The only way a site ends up in that list is Settings → choosing where your data should live and hitting "Save and connect", which asks the browser's own native permission prompt, naming that exact site, before anything is granted — and it only ever requests the one host you just configured (your server's domain, api.github.com, or api.jsonbin.io), never a wildcard covering other sites.

Where your data is stored

  • On your device: your bookmarks/tab-list data and settings are stored locally via the browser's extension storage (chrome.storage.local, never the browser's own cloud sync). This never leaves your device unless sync is turned on. Settings → Bookmarks or Tabs → More optionsBackups can also write a copy to your downloads folder; unless you choose the password-protected backup, that file is plain readable JSON on your disk.
  • Your sync destination: if you enable sync, your data is sent directly from your browser to the destination you configured:
    • Self-hosted — a server you set up and control. Nothing passes through any server operated by TabbySync's developer. The address must be https://; TabbySync refuses to save a plain http:// server URL, and the only exception is localhost / 127.0.0.1, which never leaves your machine. The reason is the access token: it is sent in an Authorization header on every request, outside the encrypted file body, so over http:// anyone on the network between you and your server could read it and then delete or overwrite your synced data — and the encryption passphrase would not stop them, because it never covers the token.
    • GitHub Gist — stored in a private ("secret") gist in your own GitHub account, using a personal access token you provide. Governed by GitHub's own Privacy Statement.
    • JSONBin.io — stored in a bin under your own JSONBin.io account, using an API key you provide. Governed by JSONBin.io's own Privacy Policy.
Self-hosting keeps your data on a server only you control. GitHub Gist and JSONBin.io are free, no-server alternatives, but they are third-party services — once your data (or its ciphertext, if encryption is on) is stored there, it's subject to that provider's own policies and practices, not TabbySync's.

Deleting your data

Settings → Advanced and delete options, at the bottom of the page, removes synced data from the destination you configured. Each button asks you to type DELETE to unlock it and then confirm again before anything happens.

  • A per-provider button sends a delete request to that provider for the files TabbySync created there — the file(s) on your self-hosted server, your secret gist, or your JSONBin bins — and then clears that provider's saved URL, token and passphrase from this browser.
  • The reset button attempts the same for every provider you have ever configured, then wipes every TabbySync setting in this browser back to a fresh install.

Two limits worth knowing. First, this deletes TabbySync's own remote files and local settings — it does not touch the actual bookmarks or open tabs in your browser, and it does not uninstall the extension. Second, TabbySync can only ask the provider to delete; what happens afterwards is up to them. GitHub and JSONBin.io may retain backups or logs under their own retention policies, and your own server keeps whatever your own backups keep. Deleting from a self-hosted server also requires a reasonably recent tabbysync.php; an older copy will refuse the request and TabbySync will tell you to re-upload the script.

Encryption

You can set an optional password (Settings → Lock it with a password). When set, your data is encrypted on your device with AES-256-GCM before it is ever sent to your sync destination — so a self-hosted host, GitHub, or JSONBin.io only ever sees ciphertext. The passphrase itself is never transmitted anywhere and is stored only on your device. If you forget it, encrypted data cannot be recovered — there is no reset.

What TabbySync's developer does — and does not — do

  • We do not operate a server that receives, stores, or processes your bookmarks or tabs.
  • We do not collect analytics, telemetry, or usage tracking of any kind.
  • We do not sell, rent, or share your data with third parties, and we do not use your data for advertising or for any purpose unrelated to the extension's core sync functionality.
  • We have no visibility into, and no access to, the contents of your self-hosted server, your GitHub Gist, or your JSONBin.io bin.

What Firefox's install screen says

Installing the Firefox version shows a screen listing bookmarks and browsing activity under wording like “Share bookmarks information with extension developer”. That wording is Mozilla's, is the same for every add-on, and cannot be changed by us. It is there because Mozilla requires an add-on to declare any data that leaves the browser — and syncing means your bookmarks and the addresses of your saved tabs leave the browser, to the destination you chose.

Nothing goes to the developer. There is no TabbySync server to send it to. What the declaration covers is the transfer to your own web space, your own GitHub gist, or your own JSONBin bin, which is the entire purpose of the extension. The alternative — declaring that no data is transmitted — would be false, so we declare it accurately and explain it here.

Feedback and donations (optional, separate from syncing)

The popup has two optional buttons, unrelated to syncing, that do nothing unless you click them:

  • Feedback opens your own email program with a blank message addressed to contact [at] tabbysync [dot] com and a subject line naming the TabbySync version. Nothing else is filled in: no bookmarks, tabs, settings, tokens, sync destination, or identifier of any kind. Whatever you choose to type is the entirety of what is sent, and your own mail client sends it — TabbySync does not transmit it and does not see it leave. Messages are kept only as long as needed to answer them; ask in the message, or in a follow-up, to have one deleted.
  • Donate opens a PayPal payment page in a new tab. TabbySync does not process, see, or store any payment information — that's handled entirely by PayPal under its own privacy policy.
TabbySync never contacts a server operated by its developer. Not for feedback, not for updates, not for licence checks, not for anything. The only servers it ever connects to are the sync destination you configure and, if you choose one of the no-server options, GitHub or JSONBin.io. Earlier versions embedded a feedback web form inside the popup, which meant opening that screen contacted the developer's web host and Google reCAPTCHA before you had typed anything. That form has been removed for exactly this reason.

Children's privacy

TabbySync is not directed at children and does not knowingly collect data from children.

Changes to this policy

If this policy changes, the "Last updated" date at the top of this page will be revised. Material changes will also be noted in the extension's release notes.

Who is responsible for this

TabbySync is developed and published by Ryan Gulliver, an individual developer, who is responsible for this policy. There is no company, no team and no third party with access to anything TabbySync stores. Because TabbySync operates no server of any kind, the only personal data that ever reaches the developer is an email you choose to send.

Contact

Questions about this policy or your data — including a request to delete a message you have sent — go to contact [at] tabbysync [dot] com, which is also what the Feedback button in the popup opens.