Privacy Policy
What ForceKIT does with your data — in plain terms.
Last updated 19 July 2026
ForceKIT is a Chrome extension for Salesforce admins and developers. It has no server of its own: everything it does happens inside your browser, against the Salesforce org you're already logged into. This page explains exactly what that means for your data.
ForceKIT is an independent, third-party project and is not affiliated with, endorsed by, or sponsored by Salesforce, Inc.
Summary
What's stored locally
ForceKIT keeps the following on your device, using Chrome's built-in storage.local:
- SOQL query history and saved queries — the text of queries you've run or explicitly saved.
- Saved org connections — login URL, username, and either a password or an OAuth refresh token, so you can reopen a session without logging in again.
- TOTP secrets — if you link two-factor codes to a saved org, the secret used to generate them.
- Preferences — theme, language, which columns you've hidden, autolock policy, and similar settings.
Usernames, passwords, refresh tokens, and TOTP secrets are encrypted the moment you set a master password (or a passkey/biometric unlock, which itself only wraps that same master password — it's never stored on its own). If you choose not to set one, ForceKIT tells you plainly that those fields will stay unencrypted on your device.
Cloud sync (optional, off by default)
ForceKIT can sync your queries, preferences, saved orgs, and (if you opt in separately) credentials across your own devices. This is off until you turn it on, and you choose exactly which categories sync via checkboxes in the panel. You pick which of two independent backends to use — both entirely under your control:
- Chrome Sync — uses
chrome.storage.sync, Google's own Chrome Sync infrastructure, tied to whichever Google account you're signed into Chrome with. - Google Drive — stores the same data in a hidden, app-specific folder in your own Google Drive (Google calls this the "Application Data" folder), which only ForceKIT can see or open. To use it, you connect a Google account via OAuth and grant a single scope,
drive.appdata— ForceKIT never requests, and can never see, the rest of your Drive files or folders.
You can wipe synced data at any time with the "Delete synced data" button, for whichever backend you're using, without touching what's stored locally. We never see this data either way — it moves directly between your own devices and Google's servers, the same way your bookmarks or browsing history would.
Talking to Salesforce
To run queries, describe objects, or manage records, ForceKIT reads the session cookie of a Salesforce tab you already have open and uses it to call Salesforce's own REST, Tooling, and Metadata APIs — directly from your browser to your org's servers. ForceKIT never sees your Salesforce password during a normal login, and never routes this traffic through any third-party server.
Connecting via OAuth
ForceKIT uses Chrome's identity.launchWebAuthFlow, with the industry-standard PKCE flow, for two separate purposes — the two are never mixed:
- Salesforce org login — if you connect an org using "Login with OAuth" instead of a stored username/password, ForceKIT opens Salesforce's own consent screen. The resulting token is exchanged directly with your org and stored, encrypted, on your device.
- Google Drive sync — if you turn on Google Drive as your sync backend, ForceKIT opens Google's own consent screen requesting only the
drive.appdatascope, which grants access solely to the hidden app-data folder ForceKIT creates for itself — never your existing Drive files or folders. The resulting Google token is stored, encrypted, on your device, the same as an org token.
In both cases, the token is never sent anywhere except directly between your device and Salesforce or Google.
What runs on Salesforce pages (and beyond)
With your permission, ForceKIT can inject small UI additions directly into Salesforce pages: inline API names under fields, a dark mode stylesheet, and an optional ForceKIT icon (next to your profile or floating) to reopen the panel. These run entirely in your browser and don't transmit page content anywhere.
One feature — showing query results as a full-size overlay instead of squeezed into the side panel — can inject that overlay into whichever browser tab is currently active, Salesforce or not, only when you click the "full screen" button. This is a one-time, read-only display of the results you already fetched; it doesn't read or collect anything else from that page.
What we don't do
- No analytics, telemetry, or usage tracking of any kind.
- No advertising, and no data ever sold or shared with advertisers.
- No third-party servers in the loop — ForceKIT has none of its own either.
- No access to your Salesforce data outside of the actions you explicitly trigger (running a query, opening a record, etc.).
- No access to your Google Drive files or folders — only the hidden, app-specific data folder ForceKIT creates for its own sync data, via the
drive.appdatascope.
Permissions, plainly explained
| Permission | What it's for |
|---|---|
| storage | Save your queries, saved orgs, and preferences locally on your device. |
| cookies | Read the Salesforce session cookie of a tab you have open, so ForceKIT can call the API as you, without a separate login. |
| activeTab / tabs | Detect which tab is a Salesforce org, switch between saved sessions, and open/reload the right tab for actions like "Switch UI" or "Clear cache." |
| scripting | Inject the small UI additions described above (API names, dark mode, the ForceKIT icon, the results overlay) into pages. |
| sidePanel | Show ForceKIT as a Chrome side panel instead of a classic popup. |
| identity | Run the OAuth consent flow when you connect an org that way, show which Google account Chrome Sync is using, and connect a Google account for Google Drive sync. |
| drive.appdata (OAuth scope) | If you enable Google Drive as your sync backend, read and write ForceKIT's own hidden app-data folder in your Google Drive — no access to any other file or folder in your Drive. |
| idle | Detect when your computer is idle or locked, to automatically lock your saved credentials as a security measure. |
| host_permissions (Salesforce domains) | Call the Salesforce REST/Tooling/Metadata APIs and inject the UI additions above on salesforce.com, force.com, and related domains. |
| host_permissions (<all_urls>) | Only used for the optional "full screen results" overlay, so it can appear on whichever tab you're looking at, not just Salesforce — nothing runs on other sites unless you click that button. |
Deleting your data
Uninstalling ForceKIT removes everything stored locally. Synced data (if you turned that on) can be deleted separately at any time from the Sync panel, and is otherwise governed by your own Google/Chrome Sync account settings.
Changes to this policy
If what ForceKIT collects or does changes, this page will be updated and the "last updated" date above will reflect it. Significant changes will also be noted in the extension's changelog, in the Info tab of the panel.
Contact
Questions about this policy or how ForceKIT handles data? Use the contact form on the Support page.