Security
Authentication Method
This tool authenticates using a Salesforce Session ID that you generate directly in your own org via the Developer Console. There is no OAuth flow, no Connected App, and no client credentials registered anywhere. The Session ID is passed as a Bearer token to Salesforce's REST API — the same mechanism Salesforce uses for OAuth access tokens.
What We Store
- Session ID — held in process memory only while the audit executes. Never written to our database, logs, or report files. Discarded immediately when the audit completes or fails. Also held in your encrypted browser session cookie so you can reconnect without re-entering it — cleared when you disconnect.
- Instance URL and Org ID — stored in the audit run record to identify which org was audited. Not a credential.
- Audit results — field names, fill-rate counts, object metadata, and layout/FLS data — stored for up to 90 days, then automatically purged.
- Stripe Checkout session ID — stored to confirm payment and enable workbook download. No card data ever reaches our servers.
What We Do Not Store
- Salesforce Session IDs in the database, logs, or any long-lived storage
- OAuth access tokens or refresh tokens (this tool does not use OAuth)
- Salesforce passwords or security tokens
- Business records, customer records, files, attachments, emails, Chatter content, or transactional data — KeelCadence reviews metadata and aggregate configuration signals only
- Credit card numbers or payment card details
- Salesforce audit report contents, metadata findings, or field/object/profile names via any analytics or tracking service
Data in Transit
All communication between your browser and our servers, and between our servers and Salesforce, uses TLS (HTTPS). Session IDs are never transmitted in plain text.
Session Expiry
Salesforce Session IDs expire after your org's configured session timeout (default 2 hours). When a Session ID expires, it becomes invalid and no further API calls can be made with it. We cannot access your Salesforce org after expiry without you providing a new Session ID.
No Persistent Access
Because we use Session IDs rather than OAuth refresh tokens, we have no persistent access to your Salesforce org. Each connection is temporary and self-expiring. You are always in control.
Audit Data Retention
Audit results and downloaded reports are automatically purged 90 days after the audit was queued. The purge job runs every 24 hours. You can request immediate deletion of all your data at any time via the Privacy Policy.
API Access
The tool makes read-only Salesforce REST API calls using your Session ID as a Bearer token. It accesses metadata endpoints only — no business records are read or modified. Each audit run consumes approximately 50–200 of your org's daily API quota.
Hosting
Hosted on Replit (US region) with a custom domain (audit.keelcadence.com) via GoDaddy DNS. Data is processed and stored within the United States.
Browser Session Cookie
We use one strictly necessary session cookie (kc_session). It is encrypted
and signed server-side. It holds your Salesforce Session ID and connection metadata for
the duration of your visit — cleared immediately when you disconnect or delete your account.
No advertising cookies. No retargeting pixels.
Analytics and Third-Party Services
KeelCadence uses Google Analytics 4 for website and product usage analytics. GA4 may set
analytics cookies (_ga, _ga_*) when you accept analytics on your
first visit. GA4 is used to understand traffic, page usage, and high-level audit funnel
activity only.
KeelCadence does not use GA4 to analyze Salesforce audit report contents, Salesforce metadata findings, downloaded workbooks, Salesforce Org IDs, Salesforce usernames, Report IDs, Stripe session IDs, or payment card data. Page URLs containing run IDs are sanitized before being sent to GA4.
KeelCadence does not use advertising pixels, retargeting pixels, fingerprinting, or email marketing automation.
Other third-party services that receive visitor data: Google Fonts (font delivery), unpkg.com/Cloudflare (HTMX library delivery), Stripe (payments), Replit (hosting).
Session ID — Where It Lives
The Salesforce Session ID follows a strict containment path:
- Your browser reads it from the Salesforce cookie via the bookmarklet — our server never sees your raw Salesforce cookie.
- It is sent to our server over TLS and placed in your encrypted signed session cookie.
- When you start an audit, the server reads it from the session cookie and holds it in process memory for the duration of the audit only.
- It is used only to make the Salesforce API calls for the audit, then discarded. It is never written to the database, logs, or the XLSX workbook.
- When you disconnect, the session cookie (and with it the Session ID) is deleted.
Frequently Asked Questions
Does KeelCadence export Salesforce records or files?
No. KeelCadence does not export customer records, files, attachments, emails, Chatter content,
or transactional data. The reports are based on Salesforce metadata, configuration, permission
structures, automation metadata, and aggregate counts where needed for diagnostic scoring.
Can KeelCadence write to or modify my Salesforce org?
No. All Salesforce API calls are read-only. KeelCadence does not create, update, or delete
records, fields, objects, or configuration in your org.
Does KeelCadence retain access after I disconnect?
No. This tool uses Session IDs, not OAuth refresh tokens. When a Session ID expires or you
disconnect, the tool has no way to access your org until you provide a new Session ID.