Summary
- Arbor stores its data in your browser’s local extension storage. There is no BrowserForge server and no account.
- Arbor contains no analytics, telemetry, crash reporting or advertising code.
- Arbor can make one kind of network request, all optional and listed in full under Network connections.
- Arbor never sells, rents or shares your data with anyone, because it never has it.
- Uninstalling Arbor deletes all of its local data.
Scope
This policy covers the Arbor browser extension for Chrome and Edge, published by Shantanu Ojha under the BrowserForge name (“we”, “us”). It applies to every version of Arbor distributed through the Chrome Web Store, Microsoft Edge Add-ons, or built from the source at GitHub.
This website (BrowserForge pages on shantanuojha.com and its subdomains) sets no cookies, runs no analytics and loads no third-party scripts or fonts. Hosting is provided by Vercel, whose edge servers see the usual request metadata (IP address, user agent) in order to serve pages; we do not enable Vercel’s analytics products.
Data handled
To do its job, Arbor handles the following data. All of it stays on your device unless a row in the network table says otherwise.
- The URL, title and favicon of each open tab, and the structure of your windows and tab groups. This is required to draw the tree.
- Notes you write on tree nodes.
- Snapshots of the tree, kept so a session can be recovered after a crash.
- Settings, such as backup schedule and keyboard shortcuts.
- If you activate Pro: your licence key and the resulting entitlement status.
Where data lives
Arbor uses the browser’s extension storage (chrome.storage.local )
and IndexedDB inside the extension’s own origin, where the tree, its snapshots and any scheduled
backups are kept.
This storage is isolated from websites and from other extensions, and it stays on your computer. It is not
readable by us. We operate no database, no backend and no account system.
Network connections
The complete list of destinations Arbor can contact is below. Each one is optional and off until you turn the corresponding feature on.
| Destination | When | What is sent | What is stored |
|---|---|---|---|
| Lemon Squeezy licence API (api.lemonsqueezy.com) | Only when you enter a Pro licence key, and periodically afterwards to re-validate it (about once a week, and only if a key is stored). | The licence key you typed and a random instance identifier generated by the extension. No browsing data, no tab or rule contents, no account information. | Whether the key is valid, and the instance identifier, in local extension storage. |
- Optional Pro licence activation. When you enter a licence key, the extension sends the key and a random instance identifier to the Lemon Squeezy licence API (api.lemonsqueezy.com) to activate it, and about once a week afterwards to re-validate it. Nothing else is sent. The response (valid or not, and the licence expiry if any) is stored locally as an entitlement flag.
- Scheduled local backups (Pro) never leave your computer. Each backup is a full export of the tree kept in the extension’s own local storage as a rolling set of copies, and you can save any of them as an ordinary file from the Arbor options page. No upload is involved.
- Google Drive backup is not part of the current version. It is planned for a future release. If it ships, it will be off by default, will request the identity permission only when you turn it on, and will use the drive.file scope, which grants access solely to the backup files Arbor itself creates in your own Drive. This policy will be updated before that version is published.
- No other network requests are made. Arbor does not fetch favicons from third parties; it uses the favicon Chrome already has.
Lemon Squeezy is our merchant of record for Pro licences. When you buy a licence, your payment details and email address are handled by Lemon Squeezy under its privacy policy . The extension itself never sees your payment details or your email address.
Permissions explained
Every permission in the Arbor manifest is listed here with the reason it is needed.
| Permission | Type | Why Arbor needs it |
|---|---|---|
tabs | permission | Read the URL and title of each tab and react to tabs opening, moving and closing so the tree stays current. |
storage | permission | Store settings and the licence entitlement flag locally (chrome.storage.local). |
unlimitedStorage | permission | Large trees, snapshot histories and scheduled backups can exceed the default storage quota. |
sidePanel | permission | Display the tree in the browser side panel. |
alarms | permission | Run scheduled local backups (Pro) at the interval you choose, and re-validate a stored Pro licence key about once a week. |
favicon | permission | Show the favicon Chrome has already cached for each tab, without contacting any site. |
https://api.lemonsqueezy.com/* | host permission | Activate and re-validate a Pro licence key with the Lemon Squeezy licence API. This is the only host Arbor contacts. |
Retention and deletion
- Tree data, notes and snapshots stay in IndexedDB and local extension storage until you delete them in Arbor or uninstall the extension. Uninstalling removes all local extension data.
- Scheduled backups (Pro) are kept locally as a rolling set; when the set is full, the oldest copy is deleted as a new one is written. Backup files you save are ordinary files on your disk and are under your control.
- The licence entitlement flag is removed when you deactivate the licence or uninstall.
- You can delete everything at once by removing the extension. Chrome and Edge delete an extension’s local storage on uninstall.
Sharing and sale
We do not sell, rent, trade or otherwise share your data with third parties, and we do not use it for advertising, profiling or training. We cannot: Arbor does not send your data to us. The only third parties that can receive data from Arbor are the ones you choose to connect in the network table above, and each of those receives only what that row describes.
Limited Use
Arbor’s use of information received from Google APIs, including Chrome extension APIs, adheres to the Chrome Web Store User Data Policy , including its Limited Use requirements. Specifically:
- Data is used only to provide or improve the user-facing features described on the Arbor listing and product page.
- Data is not transferred to anyone except as necessary to provide those features, to comply with law, or as part of a merger or acquisition with prior notice to users.
- Data is never used or transferred to serve advertisements, to determine credit-worthiness or for lending purposes.
- No human reads your data, because it never leaves your device.
The current version of Arbor does not use the Google Drive API and does not request the
identity permission. If a future version adds the planned Google Drive backup, it will request
identity only when you enable that feature, will use the drive.file scope solely
to read and write Arbor’s own backup files in your Drive, and its use of information received from
the Google Drive API will adhere to the same Limited Use requirements. This policy will be updated before
that version is published.
Security
Extension storage is protected by the browser’s process isolation and your operating system’s user account. Backup files you export are ordinary files; protect them as you would any other document that lists the sites you visit. Network connections listed above use HTTPS. The source code is public, so anyone can check that the extension does what this policy says. If you find a discrepancy, please report it (see Contact).
Children
Arbor is a general-purpose tool and is not directed at children under 13 (or the age of digital consent in your jurisdiction). We do not knowingly collect any personal information from anyone, including children. If you believe a child has provided us with personal information by email, contact us and we will delete it.
Changes to this policy
If this policy changes, the new version is published at this address with a new effective date, and the change is noted in the Arbor release notes. If a change would let Arbor send new categories of data anywhere, we will describe it in the extension’s update notes and, where the browser supports it, ask for the new permission explicitly. The history of this document is in the website repository.
Contact
Shantanu Ojha
hello@shantanuojha.com
Security or privacy concerns can also be filed as a GitHub issue, or
by email if they should not be public.