KEELCADENCE
| Field & Object Audit

Read Me

End-to-end guide for the Field & Object Audit tool.

What this tool does

The KeelCadence Field & Object Audit scans your Salesforce org's field and object configuration and produces a downloadable XLSX workbook. The workbook shows field usage, fill rates, layout coverage, hidden-but-populated fields, low-usage fields, and cleanup opportunities — all derived from metadata and aggregate counts.

  • No managed package required
  • No Connected App setup required
  • Uses your existing Salesforce browser session
  • Read-only diagnostics — nothing in your org is modified

When to use this tool

  • Before a field cleanup or deprecation project
  • Before retiring, hiding, or deleting fields
  • When data quality is unclear or users don't trust whether Salesforce data is complete
  • When inheriting an unfamiliar org and need a fast configuration snapshot
  • Before a migration, integration, or system redesign
  • Before simplifying page layouts or redesigning the user experience
  • When an object has too many fields and no clear owner
  • When you need evidence to support a cleanup conversation with leadership

Supported Salesforce editions

Supported:

  • Professional Edition — with API access enabled
  • Enterprise Edition
  • Unlimited Edition
  • Developer Edition
  • Scratch Orgs and Sandboxes

Not supported:

  • Essentials Edition — does not include API access

Before you start

  • Open Salesforce in the same browser you will use for the audit
  • Log in to the Salesforce org you want to audit
  • Use a Salesforce user with enough access for complete results — System Administrator is recommended
  • Make sure the Salesforce session is active and has not expired
  • Decide which objects you want to audit before starting — you can always run again
  • For large objects or many selected objects, allow enough time for the audit to complete
  • Browser privacy tools, blocked cookies, or expired Salesforce sessions may interrupt the workflow

Step-by-step: how to run the audit

Step 1 — Open the app

Go to audit.keelcadence.com. The landing page shows the bookmarklet, a manual connection form, and the pricing upfront: the on-screen summary is free, and the full XLSX workbook is $99 per run. You can review a sample report and download it before connecting.

Step 2 — Connect to Salesforce

The app uses your existing Salesforce browser session. There is no Connected App, no OAuth setup, and no Salesforce configuration required in your org.

Recommended — bookmarklet method:

  1. Drag the Connect to Field & Object Audit button from the landing page to your browser’s bookmarks bar
  2. Log into Salesforce in the same browser tab or a new tab
  3. Click the bookmarklet from any Salesforce page — it reads your active session and connects. From a Classic or API page this completes on the first click. From a Lightning or Setup page, Salesforce first opens an API versions page — click the bookmarklet a second time from that page to complete the connection

Alternative — manual form:

  1. In Salesforce, open the Developer Console (⚙ gear icon → Developer Console)
  2. Click Debug → Open Execute Anonymous Window
  3. Paste and run: System.debug(UserInfo.getSessionId());
  4. In the Logs tab, open the newest entry and find the USER_DEBUG line — copy the value after |DEBUG|
  5. Copy your Instance URL from the browser address bar (e.g. https://mycompany.my.salesforce.com)
  6. Paste both into the manual connect form on the landing page and submit

Step 3 — Confirm the connection

After connecting, the app validates your session against the Salesforce UserInfo endpoint and displays your username and instance URL. If the session is invalid or expired, you will see an error — reconnect and try again.

Step 4 — Choose objects to audit

The object selection screen (Step 2 of 3) lists every accessible object in your org, divided into two columns: Custom objects and Standard objects.

  • Nothing is selected by default — use the search box to find objects quickly, or use Select All / Clear All for bulk selection
  • Each object has a sub-option: incl. standard fields — check this to include Salesforce standard fields alongside custom fields for that object. Select All and Clear All toggle this checkbox together with the main object checkbox.
  • Selecting more objects or larger objects increases the number of API calls and audit duration — plan accordingly

Check the agreement box confirming you have read the Terms of Use and Privacy Policy, and that you are authorized to audit this Salesforce org. Then click Run audit →

Step 5 — Run the audit

After submitting, the app queues the audit and takes you to the progress screen. The screen polls for updates every two seconds and shows the current status. You can leave the tab open or navigate away and return later via History — the audit continues running in the background.

Audit duration depends on the number of objects selected and how many fields each object has. Small audits typically complete in under a minute. Larger audits covering many objects may take several minutes.

Interrupted runs: If the server restarts while an audit is in progress, the run is marked Interrupted rather than Failed. You can resume it from the History page — the audit picks up from the last completed checkpoint rather than starting from scratch.

Step 6 — Review on-screen results

When the audit completes, you are taken to the results screen. This screen is free — no purchase required to see the summary. It includes:

  • Object count, field count, unused-field count, and exposed-but-unused count
  • A plain-English headline summary of the most significant findings
  • Fields that contain data but are invisible to every user (hidden but populated)
  • Custom fields identified as deletion candidates — fields that show no usage across records, layouts, or permissions
  • Status band distribution — Active, Moderate, Low Usage, Unused, Unaggregatable
  • Top exposed-but-unused fields ranked by an exposure score that considers layout coverage and permission grant breadth
  • Objects with the most unused fields

Step 7 — Purchase the full report

The full XLSX workbook requires a one-time payment of $99. Click Purchase & Download on the results screen.

  • Payment is handled by Stripe Checkout in a separate browser tab
  • KeelCadence does not store card numbers, CVV codes, or full card details — Stripe handles all payment card data
  • KeelCadence stores only the Stripe Checkout session ID and a paid/unpaid status flag to confirm your purchase and enable the download
  • After payment, you are returned to the results screen where the download button becomes available

Step 8 — Download the XLSX workbook

Click Download XLSX Workbook → on the results screen. The file downloads as: KeelCadence_FieldObjectAudit_<OrgID>_<Date>.xlsx

The download link remains available for up to 90 days from when the audit was run. You can return to History and re-download within that window.

Step 9 — Save and share the report

  • Save the workbook securely — it contains your Salesforce schema configuration
  • Share only with authorized internal stakeholders (Salesforce admins, architects, IT leads)
  • Treat the workbook as Salesforce configuration and data quality material — it includes field API names, fill rates, and permission grant counts
  • Note your Report ID from the Cover tab — use it when requesting support or deletion

Step 10 — Disconnect or delete your data

Disconnect: Click Disconnect in the navigation bar. This clears your application session cookie immediately. Your Salesforce Session ID is no longer held anywhere in the app.

Self-serve deletion: When connected, visit the Privacy Policy page and use Delete All My Data. This permanently removes all audit runs, downloaded report files, and associated records for your account. The action cannot be undone.

Email deletion: If you are not connected, email support@keelcadence.com with your Report ID (from the Cover tab of the workbook) to request manual deletion.

What data is read

The audit makes read-only REST API calls to your Salesforce org. It reads:

  • Object API names and labels
  • Field API names, labels, and data types
  • Page layout assignments and layout references per field
  • Aggregate record counts per object
  • Aggregate populated-record counts per field
  • Field fill-rate percentages
  • Field visibility indicators (hidden, exposed)
  • Profile and permission set read/edit access counts per field
  • Related metadata required to build the workbook

The tool does not export individual Salesforce business record values. The report focuses on metadata, configuration, permissions, and aggregate counts.

What data is not read or stored

  • No managed package is required
  • No Connected App setup is required
  • No OAuth refresh tokens are stored for the current Session-ID flow
  • Salesforce Session IDs are not stored in the database, logs, reports, or XLSX files
  • Salesforce Session IDs are used only during the active audit workflow and discarded after the audit completes or fails
  • Individual Salesforce business record values are not exported as part of the current diagnostic audits
  • KeelCadence does not store card numbers, CVV codes, or full payment card details

Session duration

Your Salesforce session is controlled by your Salesforce org’s session settings. Salesforce sessions commonly last around 2 hours by default, but your org may use a different timeout. If you start an audit near the end of your Salesforce session, the audit may fail partway through. If that happens, reconnect to Salesforce and run the audit again.

How to interpret the report tabs

The downloaded XLSX workbook contains the following tabs in order.

Tab What it contains
Cover Org ID, instance URL, sandbox flag, audit timestamps, object and field counts, API calls used, and Report ID. Includes a severity dashboard (Deletion Candidates, Hidden but Populated, Exposed but Unused, Bulk Cleanup, Data Quality Flags), a Schema Health score summary, and a navigation guide to every tab. Use this tab to orient yourself and share a one-line status with stakeholders.
Executive Summary One-page leadership brief. Shows Schema Health score, custom field count, total recommendations, and Priority 1 (deletion candidate) count. Lists the top 3 recommended actions with detail and estimated impact of resolving them. Share this tab with non-technical stakeholders or project sponsors.
Headline Findings Plain-English summary of findings, a status band bar chart, and lists of top offenders — exposed-but-unused fields ranked by exposure score, and objects with the most unused custom fields. Use this tab to quickly identify the highest-impact cleanup targets.
Schema Health Score A composite 0–100 score made up of four sub-scores. Field Hygiene summarizes how much of the field set appears actively used versus potentially stale. Security Posture highlights configuration patterns that may require access, visibility, or cleanup review. Data Quality reflects how well required fields are being populated. Growth Health reflects how recently objects are receiving writes. Graded A through F. Methodology explained in-tab. Use this score to benchmark your org over time — re-run the audit every quarter.
Recommendations Every prioritized action item from the audit, categorized as: Deletion Candidate, Hidden but Populated, Exposed but Unused, Bulk Cleanup Candidate, Data Quality Flag, Legacy Naming, Possible Duplicate, or Required Paradox. Each row includes object, field, finding description, effort, risk, and suggested owner. Use this as your cleanup checklist. Filter by category to start with the highest-impact items.
Objects One row per audited object. Columns: total records, records created and modified over recent time windows, custom field count, a field-debt ratio, a recency band, a status pill (Healthy / Watch / Cleanup needed / Empty), and a notes column summarising the most important signal for that object. Filter by status pill to find objects that need attention first.
Fields Every field across every audited object. Columns include: object, field API name, label, data type, fill rate %, status band (Active / Moderate / Low Usage / Unused / Unaggregatable), whether it is custom, whether it is required, a sensitive-name flag, and a legacy-name flag. Filter by status band “Unused” and custom = true for your most direct deletion candidates.
Usage Per-field layout and permission data. Columns: object, field, layout count (number of page layouts the field appears on), profile read grant count, permission set read grant count, a hidden flag, an exposed-but-unused flag, and a risk classification (Data Leak Risk / UX Clutter / Dark Field / Normal). Filter by Hidden? = yes and fill rate > 0 to find fields with data no user can see — your highest-priority security findings.
<Object tabs> One tab per audited object, named by the object API name. Each contains a per-object field deep dive: fill rate, status band, layout count, and permission grant counts for every field on that object. Use these tabs when working through a specific object cleanup — sort by fill rate ascending to start with the most unused fields.
Change Log An empty tracking template. Columns for object, field, action taken, date, and owner. Fill this in as you work through the Recommendations tab. Populate this tab to maintain an audit trail of every cleanup decision.
Legend Definitions for every status band, status pill, risk classification, flag, and scoring methodology used in the workbook. Refer to this tab when a classification is unclear.

Common findings and how to use them

Unused custom fields (0% fill rate)
These fields have no populated records. Before deleting, confirm no automation (Flow, Apex, integration) writes to them silently. The Recommendations tab flags these as “Deletion Candidates” when they show no usage across records, layouts, or permissions.

Hidden but populated
Fields with data that are not on any page layout and not granted to any profile or permission set. Users cannot see this data in the UI. It is likely written by an integration, Flow, or Apex trigger. Either surface it deliberately or investigate who owns it. These are flagged as “Data Leak Risk” in the Usage tab.

Exposed but unused
Fields on at least one page layout or visible to non-admin profiles, yet 0% populated. Every user who opens a record sees an empty field. These contribute to UX clutter and page-load overhead. Prioritize using the exposure score, which reflects layout coverage and permission grant breadth.

Required fields with low fill rate
Fields marked Required but consistently under-populated indicate broken data-entry enforcement — likely legacy Required flags that were later bypassed by automation or admin workarounds. These appear as “Required Paradox” in the Recommendations tab.

Legacy-named fields
Fields whose API names include common legacy or migration suffixes. These suggest abandoned migration work. Validate with the business owner before removing.

Objects with high field-debt ratios
The Objects tab includes a field-debt ratio for each object. A high ratio on a low-record-count object suggests a schema that was over-built relative to actual usage.

Dormant objects
Objects with no record writes in the past 365 days. These may be candidates for archiving or retirement after confirming no active integrations depend on them.

Required Salesforce permissions

PermissionWhy it’s needed
API Enabled Required for all REST API access
View Setup and Configuration Read field and object definitions, page layouts, and metadata
Read access to selected objects Required to query aggregate record counts for usage analysis
Access to field and object metadata Required for field inventory and FLS analysis
Access to page layout metadata Required to determine layout coverage per field
Access to profile and permission set metadata Required to count field-level security grants per field

System Administrators meet all requirements by default. Users with limited access may still be able to run the audit, but results may be incomplete if Salesforce blocks access to selected objects, fields, layouts, permissions, or metadata.

Troubleshooting

Salesforce session expired
Your session is controlled by your org’s session timeout setting (commonly 2 hours). If the session expires mid-audit, the audit fails. Reconnect using the bookmarklet or manual form and run the audit again. You do not need to start from scratch — previous incomplete runs are separate and do not affect new runs.

Not enough permissions
Results may be incomplete if your user lacks Read access to certain objects, View Setup and Configuration, or API access. Run the audit as a System Administrator for complete results. If you cannot use a System Admin user, a dedicated audit user with the required permissions is the next best option.

API access disabled
If your Salesforce edition does not include API access, the connection will fail. Upgrade to an API-enabled edition or enable API access on your user profile.

Unsupported edition
Essentials Edition does not include Salesforce API access and is not supported.

Too many objects selected
Selecting a very large number of objects, or objects with thousands of fields, increases audit duration significantly. If an audit is taking much longer than expected, try running again with a smaller object selection.

Audit takes longer than expected
Leave the progress tab open. The page polls for updates automatically. You can also navigate away and return via History. Audit duration depends on the selected objects and API response times from Salesforce.

Audit interrupted by server restart
If the server restarts while your audit is running, the run is marked Interrupted in History. Click Resume to continue from the last saved checkpoint. The audit does not restart from scratch — only the remaining objects are processed.

Audit fails partway through
Usually caused by a Salesforce session expiry, API limit hit, or network timeout. Check that your Salesforce session is still active, then reconnect using the bookmarklet and run the audit again. Previous failed runs do not affect new runs.

Browser or session issues
Privacy tools, cookie blockers, or browser extensions that block third-party cookies may prevent the bookmarklet from reading your Salesforce session. Try using the manual connect form instead, or temporarily disable extensions for the Salesforce tab.

Payment completed but download not available
Return to the results screen. If the download button does not appear, try refreshing the page. If the issue persists, email support@keelcadence.com with your Report ID.

Download link does not work
Report files are retained for up to 90 days. If the file has been purged, it cannot be re-downloaded — re-run the audit. If the file should still be within the 90-day window, email support@keelcadence.com with your Report ID.

Results look incomplete
Results may be incomplete if the auditing user lacks access to certain objects, fields, or metadata. Run the audit as a System Administrator for the most complete results. Also confirm the objects you wanted to audit were selected before running.

Need to request deletion
If you are connected, use Delete All My Data on the Privacy Policy page. If you are not connected, email support@keelcadence.com with your Report ID.

Privacy and security notes

  • KeelCadence tools are read-only diagnostics — nothing in your Salesforce org is created, modified, or deleted
  • No managed package is required
  • No Connected App setup is required
  • No OAuth refresh tokens are stored for the current Session-ID flow
  • Salesforce Session IDs are not stored in databases, logs, reports, or XLSX files
  • Salesforce Session IDs are used only during the active audit workflow and discarded after the audit completes or fails
  • Audit reports and related metadata are retained for up to 90 days from when the audit was queued, then automatically purged
  • Automated purge jobs delete report files and related database records
  • Users may request earlier deletion by emailing support@keelcadence.com with their Report ID
  • Payments are processed by Stripe — KeelCadence does not store card numbers, CVV codes, or full payment card details
  • KeelCadence uses consent-gated Google Analytics 4 for website and product usage analytics — GA4 does not load before you accept analytics in the consent banner
  • GA4 is configured for sanitized page views and high-level funnel events only — run IDs are replaced before being sent to GA4
  • GA4 is not used to analyze Salesforce audit report contents
  • KeelCadence does not use advertising pixels, retargeting pixels, fingerprinting, session replay, or email marketing automation

Full policy details

For full details, use the canonical KeelCadence pages:

Contact and support

For questions about a report, include your Report ID (from the Cover tab of the workbook) and email support@keelcadence.com.