sf-releaselens privacy policy

Effective 12 September 2026. Applies to the sf-releaselens Chrome extension from version 0.8.3 onward, until this page is revised. Published by Murali Seelam. Not affiliated with, endorsed by or supported by Salesforce, Inc.

sf-releaselens is a read-only side panel for Salesforce release managers. Everything it does happens inside your own browser. The developer operates no server, receives no data from the extension, and cannot see what you do with it.

What the extension collects

Nothing is collected by the developer. The extension has no analytics, no crash or error reporting, and no telemetry that leaves the browser. The only network requests it can make are to Salesforce, and only after you connect an org: the login host you sign in through (login.salesforce.com, test.salesforce.com or your My Domain) for the OAuth token exchange, refresh and revocation, and the one org instance you connected for the read-only API calls. The connect form contains one link to the setup instructions on GitHub; nothing is fetched unless you click it.

What the extension stores in your browser

All storage is Chrome's extension storage for this extension, on the machine and browser profile where it is installed. Nothing is synchronised to another device or to any server.

DataWhereWritten to disk?Removed by
OAuth access token for the connected orgService-worker memory onlyNoWorker suspension, closing the browser, Disconnect
OAuth refresh token for the connected orgchrome.storage.session (memory-backed)NoClosing the browser; an extension update, reload or disable; a refresh your org rejects; Disconnect
Consumer Key of the Connected App you created, and the deploy-window size you chosechrome.storage.localYesUninstalling the extension. Disconnect keeps it so you can reconnect without retyping it.
Your local release snapshot (demo data, or data you imported)chrome.storage.localYesStart empty
Cached copy of data read from your org: release names, deploy ids, component names and paths, the display names of the users who ran each deployment, coverage figureschrome.storage.localYesStart empty while the org is connected, which replaces the cache with an empty snapshot. Disconnect does not remove it, so use Start empty first if nothing may remain on disk. Uninstalling the extension removes it.
Release name overlay (deploy id to name). This version has no screen that writes it, so it is normally absent.chrome.storage.localYesUninstalling the extension
Telemetry opt-in flag and a random install idchrome.storage.localOnly if you turn telemetry onTurning telemetry off

chrome.storage.local is not encrypted. The cached org data is deployment metadata, including the display names of the users who ran each deployment, and never a credential. Uninstalling the extension removes all of its storage, as Chrome does for any extension.

Authentication information

When you connect a Salesforce org, the extension runs an OAuth 2.0 authorization-code flow with PKCE against a Connected App that you create in your own org. The Consumer Key is a public identifier; there is no client secret, the connect form has no field for one, and the token requests never include one. The resulting access token and refresh token are held only as described in the table above, are sent only to Salesforce (the login host you chose, for refresh and revocation, and your own org instance, as the bearer token on API calls), and are never written to disk, transmitted anywhere else, or visible to the developer. Disconnect removes them from the browser and asks your org to revoke the refresh token.

What the extension reads from your org

It requests two OAuth scopes, api and refresh_token. The data it can read is only what the api scope allows for your own user; it cannot exceed your own permissions. In practice it reads the API versions your org offers, your org's API usage limits, the Organization record, the most recent DeployRequest records (ten by default, up to fifty if you press Load more) with the details of their components, a count of all DeployRequest records, and ApexCodeCoverageAggregate. It reads only when you press Refresh or Load more. It never creates, updates or deletes records or metadata in your org: the interface it uses to read org data has only GET and query operations; the only other requests it sends are the OAuth token exchange, refresh and revocation to the login host. The one thing it changes at Salesforce is the OAuth authorization created for your user when you sign in, which Disconnect asks the org to revoke.

Permissions

PermissionWhy
storageHolds the data listed above, locally.
sidePanelThe whole user interface is a side panel.
identityRuns the OAuth sign-in window for your Connected App. Your Google account identity is never requested.
https://*.salesforce.com/* (optional)Requested only when you connect an org: the Salesforce login host, where the token exchange and token revocation endpoints are.
https://*.my.salesforce.com/* (optional)Requested only when you connect an org: your org instance, where the read-only API calls go.

The extension has no content scripts and no tabs, activeTab, scripting, history, webNavigation, cookies or alarms permission. It cannot read the page you are on, your browsing history or your cookies, and it cannot run on a schedule.

Telemetry

The panel has an opt-in checkbox, off by default. If you turn it on, the extension would share a random install id, the extension version, the name of the event (that you turned telemetry on, or which of its three views you opened) and the time it happened, and nothing else. No endpoint is configured, so even when the checkbox is on, nothing is sent. Turning it off deletes the stored flag and id.

Files you import or export

Import reads a file you pick and stores its contents in the local snapshot. Export writes the snapshot to a file you save. Download diagnostics writes a report of versions, counts and storage sizes, with the org identified only by host pattern, to a file you save. All three stay on your machine.

Sharing and sale of data

The extension does not sell, transfer or share data with anyone. It has no third-party services. Data is used only for the extension's single purpose: showing you the state of Salesforce deployments and local approval sign-offs. The use of user data by sf-releaselens complies with the Chrome Web Store User Data Policy, including the Limited Use requirements.

Children

The extension is a developer tool and is not directed at children.

Changes to this policy

If a future version changes what the extension stores, reads or sends, the effective date at the top of this page will be updated and the release notes will say so before that version is published. This page is versioned with the extension's source code, so every change appears in the repository history with its date.

Contact

Source code, issues and private security reporting: github.com/muraliseelam/sf-releaselens. For a security concern, use the repository's Report a vulnerability button rather than a public issue.