XpertApps Engineer — Chrome Extension Privacy Policy
Summary: XpertApps collects nothing. There is no account, no XpertApps backend, and no analytics or telemetry. Your Anthropic API key is encrypted at rest on your own device under a passphrase only you know, and it is never sent to XpertApps. When you use the assistant, AI requests go directly from your browser to Anthropic under your own key, and ServiceNow requests ride your own signed-in ServiceNow session. XpertApps is not in either path.
Effective Date:
1. What data does the extension collect?
XpertApps collects nothing. The Extension has no server, no account system, and no analytics, telemetry, or product-tracking of any kind. There is no device fingerprinting. XpertApps does not receive, store, or process your data in any form, and is not a data processor for your use of the Extension.
The following data is created and used entirely on your own device. XpertApps never sees it:
Data You Provide
- Your Anthropic API key — you bring your own Anthropic API key (BYOK) so the Extension can call the Anthropic API on your behalf. It is stored encrypted at rest on your device (see How is my data stored?).
- Your passphrase — you set a passphrase that is used only to encrypt and decrypt your API key locally. The passphrase itself is never stored, never written to disk, and never transmitted anywhere. You enter it each time you open the Extension to unlock your key for that session.
- Non-secret settings — for example connection status (a flag plus the last few characters of the key, so the panel can show that you are connected without exposing the key), per-instance write-mode flags, detected instance labels, and the optional review-prompt state.
No ServiceNow username or password is ever entered or stored. The Extension rides your existing signed-in ServiceNow session and acts under your own ServiceNow permissions.
Data Generated During Use
- Chat history — your questions and the AI assistant's responses, kept locally so you can revisit prior conversations. Because chat history may contain ServiceNow instance content, it is stored encrypted on your device.
- Change / audit log — a local record of reads and changes made through the Extension. This log contains non-sensitive operational metadata only and is stored as plaintext, locally on your device. It is never transmitted.
2. How is my data stored?
Everything is stored locally in your browser only, in chrome.storage.local. Nothing is synced to any server — chrome.storage.sync is not used, and your key is never placed in synced storage.
Your data is classified and protected as follows:
- Anthropic API key — encrypted (ciphertext only). Your key is encrypted with AES-GCM using an encryption key derived from your passphrase (PBKDF2-SHA256 at 600,000 iterations, with a random per-install salt). Only the ciphertext is written to
chrome.storage.local. The plaintext key and your passphrase are never written to disk and never leave your device. This is zero-knowledge: XpertApps cannot read your key. - Chat history — encrypted. Because it may contain instance content, chat history is stored as ciphertext on your device.
- Change / audit log — plaintext, local. Non-sensitive operational metadata only; stored in the clear on your device and never transmitted.
- Non-secret settings — plaintext, local. Connection status, write-mode flags, instance labels, and review-prompt state.
At the start of each session you enter your passphrase to decrypt your key so the Extension can use it. The decrypted key exists only in memory for that session and is never persisted in the clear. There is no session-only storage mode and no skip — the passphrase is required at login every time.
3. How is my data transmitted, and is my Anthropic API key ever sent to XpertApps?
The Extension is fully client-side. There is no XpertApps server in the path — no backend, no WebSocket to XpertApps, no proxy. When you use the assistant, the Extension talks to exactly two destinations, both under your own authority:
- Browser → Anthropic (
api.anthropic.com): HTTPS/TLS encrypted. Your prompts and the ServiceNow context you ask about are sent directly from your browser under your own Anthropic API key (BYOK). This is governed by Anthropic's terms and privacy policy. Nothing is proxied through XpertApps, and XpertApps is not in this path. - Browser → Your ServiceNow instance: HTTPS/TLS encrypted REST calls made directly to your own ServiceNow instance, using your existing signed-in session and your own permissions. No ServiceNow credentials are collected or transmitted by XpertApps.
Because the assistant answers questions about your live instance, the ServiceNow data it reads to help you (configuration, script content, records you reference) is included in the prompt sent to your Anthropic account. Send only what you are comfortable sharing with Anthropic under your own key. None of it reaches XpertApps.
Web search. When a question needs current information, the assistant can run a web search. The search is executed by Anthropic on their servers under your own API key — not from your browser — so it adds no browser permission and never touches your ServiceNow session. Queries are built from the already-redacted conversation, so personal data detected on your device is replaced with tokens before anything is searched. Redaction targets personal data, not proprietary configuration, so treat what you paste into a question as potentially reaching a search provider. Searches run under your own Anthropic account, are billed to it, and are capped at five per turn.
4. What We Do NOT Do
- We do not operate a backend or receive, store, or process any of your data.
- We do not collect or store any Anthropic API key in a form we can read — your key is encrypted at rest under your passphrase, which we never see.
- We do not collect or store ServiceNow usernames or passwords — the Extension rides your existing signed-in ServiceNow session.
- We do not use analytics, telemetry, or any product-tracking. The Extension contains no PostHog, Segment, Mixpanel, Sentry, or comparable SDK.
- We do not generate or transmit any device or browser fingerprint. There is no anonymous trial-mode fingerprint of any kind.
- We do not sell, share, or transfer your data to third parties for advertising or marketing purposes.
- We do not track your browsing activity outside of ServiceNow pages.
- We do not run any standing content script on non-ServiceNow sites — the resident content script runs only on
*.service-now.cominstance pages (ServiceNow's own sign-in, developer-portal, support and docs sites are excluded). The one exception is the "What's redacted" settings editor, which is injected into the active tab only when you click it (authorised byactiveTab, no host permission); it reads and writes only your local redaction settings and contacts no network host. - We do not use remote code — all Extension code is bundled locally per Chrome Manifest V3 requirements.
5. Browser Permissions
The Extension is built on Chrome Manifest V3 with a strict Content Security Policy and requests only the minimum permissions required to function:
storage— to save your settings and encrypted data (your encrypted Anthropic API key, encrypted chat history, plaintext change log, and non-secret settings) locally in Chrome.activeTab— when you open the toolbar popup, to read the active tab's host (for exampledev12345.service-now.com) so the popup can show which ServiceNow instance you are on and scope write mode to that instance. No browsing history is collected, and the broadtabspermission is not requested.scripting— to inject the "What's redacted" settings editor into the active tab when you click it in the popup, and only where the ServiceNow content script does not already run. There is no standing injection: nothing is injected on page load on any site. No host permission is used for it —activeTabauthorises that single click.- Host access — scoped to the domains the Extension actually talks to: your ServiceNow instance pages (
*.service-now.com) andapi.anthropic.com. The Anthropic host is declared up front as the Extension's single remote host — it is the service the Extension exists to reach — so it is granted at install and connecting your key needs no separate permission prompt. It is the only host permission; no<all_urls>or wildcard host is requested, and the corporate*.servicenow.comdomain is not requested.
The chat panel is injected only on pages matching *.service-now.com, declared as content_scripts.matches in the manifest; ServiceNow's own non-instance sites (sign-in, developer portal, support, docs, community, store) are excluded via exclude_matches. We do not request the broad tabs permission, browsing history, bookmarks, downloads, or any other browser data.
6. Third-Party Services
The Extension itself talks to only two destinations, both of which you already control. There is no XpertApps server, and no data flows to XpertApps.
- Anthropic (Claude API —
api.anthropic.com) — the AI model that generates responses. Your prompts and the ServiceNow context you ask about are sent directly from your browser under your own Anthropic API key. Your use is governed by Anthropic's terms and privacy policy. XpertApps is not in this path. If a question triggers a web search, Anthropic also queries a search provider and fetches public pages on your behalf — server-side, under your own key, never from your browser (see §3). - Your ServiceNow instance — REST API calls made directly from your browser to your own instance, riding your existing signed-in session, to read and (with your per-change approval) modify records under your own permissions.
Any third-party libraries bundled in the Extension (for example on-device PII redaction and text parsing) run entirely offline in your browser and make no network requests.
7. Data Retention
- On your device: Your encrypted API key, encrypted chat history, plaintext change log, and non-secret settings remain in
chrome.storage.localuntil you clear them or uninstall the Extension. You can clear all stored data at any time via Chrome's extension management page or DevTools. - On XpertApps servers: Nothing. XpertApps stores none of your data server-side, because there is no XpertApps backend.
- Recovery — no reset by design. If you forget your passphrase, there is no way (for you or for us) to recover the existing key, because only you hold the passphrase and only ciphertext is stored. To continue, you set a new passphrase and re-enter a new Anthropic API key: the old ciphertext is wiped and your encrypted chat history clears, while your plaintext change log is kept. If you are concerned about the old key, rotate or revoke it in the Anthropic console.
8. Your Rights
Because XpertApps holds none of your data, your data stays under your control on your own device. You can:
- Delete your data at any time by uninstalling the Extension (removes all locally stored data) or by clearing extension storage via Chrome's extension management page or DevTools.
- Inspect stored data via Chrome DevTools → Application → Storage → Extension storage. Your API key and chat history appear only as ciphertext.
- Rotate or revoke your Anthropic API key at any time in the Anthropic console — this is managed in your own Anthropic account, not by XpertApps.
- Contact us with any privacy question at support@xpertappdev.com. Note that we hold no account or server-side data to delete on your behalf.
9. Security
- Your Anthropic API key is encrypted at rest with AES-GCM under a key derived from your passphrase (PBKDF2-SHA256 at 600,000 iterations, with a random salt). Only ciphertext is stored; the passphrase and plaintext key are never written to disk and never sent anywhere. This is a stronger posture than a typical bring-your-own-key extension that stores the key in the clear.
- Chat history, which may contain instance content, is also stored encrypted on your device.
- All data in transit is encrypted via HTTPS/TLS — both the direct call to
api.anthropic.comand the direct REST calls to your ServiceNow instance. - The Extension uses Chrome Manifest V3 with a strict Content Security Policy, minimum permissions, and no remote code.
- Data stored in
chrome.storage.localis isolated to the Extension inside your Chrome profile. Your key and chat history are encrypted, but the plaintext change log and non-secret settings are not — anyone with access to your unlocked Chrome profile can read those. Do not install the Extension on a shared profile, and keep your passphrase private.
10. Enterprise Edition
The XpertApps Engineer Enterprise Edition is launching soon with design partners. It remains backendless on the XpertApps side — XpertApps stores nothing server-side. In Enterprise deployments, the Anthropic API key is provisioned by the customer via their Chrome Enterprise managed policy or the customer's own Anthropic-compatible gateway or proxy; single sign-on is handled by the customer's own identity provider (OAuth 2.0 with PKCE — for example Microsoft Entra, Okta, or Google); and auditing is handled by the customer's own systems. There is no XpertApps-hosted "managed Claude" service and XpertApps does not proxy Claude.
11. Children's Privacy
The Extension is not directed to individuals under the age of 18. We do not knowingly collect personal information from children.
12. Changes to This Policy
We may update this policy from time to time. Changes will be posted on this page with an updated effective date. Continued use of the Extension after changes constitutes acceptance of the updated policy.
13. Contact Us
If you have any questions about this Privacy Policy or your data, please contact us at:
QuoDroid Software Development Private Limited
Email: support@xpertappdev.com
Website: xpertappdev.com