Best PracticesReading time: 10 minutes

Best Practices for ServiceNow Instance Audits

How to prepare for and conduct comprehensive instance audits that uncover hidden issues, reduce risk, and improve platform health.

Why Instance Audits Matter

ServiceNow instances grow organically. Developers add customizations, administrators configure workflows, integrations multiply, and over time the platform accumulates layers of technical debt that nobody fully understands. Without regular audits, this debt compounds silently until it surfaces as a production outage, a failed upgrade, or a compliance violation.

An instance audit is a structured review of your ServiceNow environment's health, security, performance, and governance posture. Think of it as a comprehensive physical exam for your platform.

The cost of skipping audits

  • Undetected security gaps that expose sensitive data
  • Performance degradation from redundant scripts and inefficient queries
  • Failed upgrades caused by undocumented customizations
  • Compliance violations from orphaned roles and stale access controls
  • Rising support costs as tribal knowledge leaves the organization

Organizations that audit their instances regularly (at minimum twice per year) report 40% fewer upgrade failures, faster incident resolution times, and significantly lower risk exposure. The investment pays for itself many times over.

Whether you are preparing for a major version upgrade, onboarding a new managed services partner, or simply maintaining good governance hygiene, a well-executed audit gives you a clear picture of where you stand and what to fix next.

Planning Your Audit

A successful audit begins long before anyone opens the instance. Proper planning ensures you cover the right ground, involve the right people, and deliver findings that drive real action.

Define the Scope

Decide whether this is a full platform audit or a targeted review. Full audits cover every major area (security, performance, customizations, integrations, data quality). Targeted audits focus on a specific concern such as pre-upgrade readiness or security posture.

Identify Stakeholders

An effective audit requires input from multiple teams. Platform administrators know the configuration. Developers understand the custom code. Process owners can validate whether workflows still match business needs. Security and compliance teams define what "good" looks like from a risk perspective.

Gather Your Tools

Manual auditing is possible but painfully slow. Equip yourself with the right tools:

  • Instance Scan: ServiceNow's built-in tool for detecting common configuration issues
  • Performance Analytics: dashboards that surface slow transactions and resource bottlenecks
  • Update Set History: a chronological record of every configuration change
  • snowcoder: AI-powered analysis that identifies code-level issues, security gaps, and optimization opportunities automatically

Set a Timeline

A typical full audit takes two to four weeks depending on instance complexity. Allocate the first week for data gathering and automated scanning, the second week for manual deep dives, and the remaining time for analysis, reporting, and action planning. Build in buffer time because audits almost always uncover more than expected.

The 7 Key Audit Areas

Every instance audit should cover these seven critical areas. Skipping any one of them leaves a blind spot that could harbor serious risk.

1

Customizations and Configuration

Customizations are the single largest source of upgrade risk and maintenance burden. Audit every Business Rule, Client Script, Script Include, UI Policy, and UI Action. Look for scripts that override out-of-box behavior, duplicate logic across multiple scripts, or reference hardcoded values instead of system properties.

Pay special attention to scripts on base system tables (task, sys_user, cmdb_ci) because these affect the entire platform. Document which customizations are still needed and which can be retired.

2

Security: ACLs, Roles, and Access

Security audits should verify that access controls are functioning as intended. Review ACL rules for overly permissive conditions, check for roles that grant broader access than necessary, and identify users with elevated privileges they no longer need.

Common red flags include wildcard ACLs that grant access to entire tables, admin role assignments to non-administrative users, and Script Includes marked as "accessible from all scopes" without proper input validation.

3

Integrations

Integrations are fragile connection points between your ServiceNow instance and external systems. Audit every REST message, SOAP message, Import Set, and MID Server configuration. Verify that credentials are stored securely (not hardcoded), that retry and error handling logic is in place, and that unused integrations are decommissioned.

Check for integrations that run on overly aggressive schedules (every minute when hourly would suffice) and those that transfer more data than necessary. Both waste resources and increase the attack surface.

4

Performance

Slow transactions erode user trust and productivity. Audit the top 20 slowest transactions, identify Business Rules with unbounded GlideRecord queries (no setLimit, no query conditions), and look for synchronous AJAX calls in Client Scripts that block the UI.

Review scheduled jobs for overlap and resource contention. A common pattern is multiple scheduled jobs all executing at midnight, creating a resource spike that degrades instance performance during off-hours maintenance windows.

5

Update Sets and Change Management

Update sets are the backbone of ServiceNow change management. Audit for update sets stuck in "in progress" status for extended periods, incomplete migrations between environments, and configuration changes made directly in production outside of a tracked update set.

Also check for collisions (multiple update sets modifying the same artifact) and verify that your promotion path from development to test to production is consistently followed.

6

Unused and Orphaned Artifacts

Over the years, instances accumulate dead weight: inactive Business Rules that still consume evaluation cycles, Script Includes that nothing calls, UI Pages for features long since retired, and workflows that no one triggers.

These orphaned artifacts increase upgrade complexity, confuse developers, and sometimes cause unexpected side effects. Identify them, validate that they are truly unused, and deactivate or remove them.

7

CMDB Health

The Configuration Management Database is only valuable when its data is accurate. Audit for stale CIs (configuration items not updated in over 90 days), orphaned relationships, duplicate records, and CIs with missing or incorrect classification.

Use the CMDB Health Dashboard and Data Manager to measure completeness, compliance, and correctness scores. A healthy CMDB drives accurate impact analysis, faster incident resolution, and reliable change management.

Building Your Audit Checklist

Use this checklist as a starting point for your audit. Customize it based on your organization's specific requirements and risk tolerance.

Audit AreaWhat to CheckRisk Level
CustomizationsBusiness Rules overriding OOB logic, scripts without comments or documentationHigh
Security (ACLs)Wildcard ACLs, overly permissive roles, admin access sprawlCritical
IntegrationsHardcoded credentials, missing error handling, unused endpointsHigh
PerformanceSlow transactions, unbounded queries, synchronous AJAX callsMedium
Update SetsStale in-progress sets, direct production changes, collisionsMedium
Unused ArtifactsInactive scripts still deployed, orphaned Script Includes, dead workflowsLow
CMDB HealthStale CIs, duplicate records, missing relationships, incorrect classesMedium

Pro tip

Assign a severity weight to each finding so you can prioritize the action plan. Critical items (security gaps, data exposure) should be addressed within days. Medium items within weeks. Low items can be scheduled into a future sprint.

Common Findings and How to Fix Them

After auditing hundreds of ServiceNow instances, certain patterns appear again and again. Here are the most frequent findings and practical remediation steps.

Orphaned Scripts

Scripts that were created for a specific project or feature but never cleaned up after the feature was decommissioned. They sit in the instance consuming evaluation time and creating confusion for developers who encounter them.

How to identify: Query the sys_script table for Business Rules that have not been modified in over 12 months and cross-reference with active workflows. If a script is not referenced by any active process, it is a candidate for removal.

Fix: Deactivate the script first (do not delete immediately). Monitor the instance for two weeks to confirm nothing breaks. Then move the script to a "deprecated" update set for archival before removing it.

Over-Privileged Roles

Users and groups with roles far beyond what their job function requires. The most common offender is the admin role granted to developers "temporarily" during implementation and never revoked.

How to identify: Run a report on sys_user_has_role grouped by role. Flag any non-administrator users who hold the admin, security_admin, or impersonator roles. Also check for custom roles that contain the admin role.

Fix: Implement role-based access reviews on a quarterly cadence. Create purpose-specific roles with the minimum permissions required rather than assigning broad platform roles.

Duplicate Business Rules

Multiple Business Rules on the same table performing overlapping logic. This often happens when different developers solve the same problem independently, or when a rule is copied and slightly modified rather than refactored.

How to identify: Group Business Rules by table and trigger condition (before insert, after update, etc.). Review rules with similar filter conditions or that modify the same fields. Look for scripts with near-identical logic.

Fix: Consolidate overlapping rules into a single, well-documented Business Rule. Use Script Includes for shared logic that multiple rules need to call. This reduces execution overhead and makes future maintenance far simpler.

Unused Integrations

REST messages, Import Sets, and MID Server connections that point to systems that have been retired or replaced. These zombie integrations waste scheduled job cycles, generate noise in log files, and sometimes hold credentials for systems that no longer exist.

How to identify: Review the sys_rest_message and sys_soap_message tables. Cross-reference with scheduled import sets and integration hub flows. Check execution logs for integrations that consistently fail or return empty results.

Fix: Deactivate unused integrations and remove associated credentials. Document the decommissioning decision so future auditors understand why the integration was retired.

Automating Audits with AI

Manual audits are thorough but time-consuming. A single experienced consultant might spend three to four weeks reviewing an enterprise instance. AI-powered tools like snowcoder can compress that timeline dramatically by automating the detection of common issues.

What snowcoder Automates

snowcoder analyzes your ServiceNow scripts and configurations across multiple dimensions simultaneously:

Audit DimensionWhat snowcoder DetectsManual Effort Saved
SecurityInjection risks, missing ACL checks, hardcoded credentials, XSS patternsHours per script
PerformanceUnbounded queries, synchronous calls, inefficient loops, missing indexesDays per module
Best PracticesDeprecated API usage, client/server mixing, poor error handlingHours per script
Code QualityDuplicate logic, dead code paths, missing documentation, naming violationsDays per module

AI plus human judgment

AI excels at detecting known patterns across large volumes of code. Human auditors excel at understanding business context, evaluating risk in organizational terms, and making judgment calls about what to prioritize. The best audit approach combines both: use snowcoder to surface issues at scale, then have your senior engineers validate findings and add business context.

By automating the repetitive scanning work, your team can focus its limited time on the high-value analysis that requires human expertise: evaluating whether a customization still serves a business need, deciding which technical debt to accept versus remediate, and designing governance processes that prevent issues from recurring.

Post-Audit: Creating an Action Plan

An audit without follow-through is just a document. The real value comes from turning findings into a structured action plan with clear ownership and timelines.

Step 1: Categorize and Prioritize

Group findings into three tiers based on risk and effort:

  • Tier 1 (Immediate): Security vulnerabilities, data exposure risks, compliance violations. Address within one to two weeks.
  • Tier 2 (Short-term): Performance issues, duplicate logic, stale integrations. Address within one to two months.
  • Tier 3 (Strategic): Technical debt reduction, code refactoring, CMDB cleanup. Schedule into quarterly planning.

Step 2: Assign Ownership

Every finding needs an owner. Unassigned findings are findings that never get fixed. Assign remediation tasks to specific individuals (not teams) with clear deadlines. Track progress in a shared dashboard visible to all stakeholders.

Step 3: Establish Governance

One audit is a project. Recurring audits are governance. Build audit activities into your standard operating procedures:

  • Run automated scans monthly using snowcoder and Instance Scan
  • Conduct full manual audits twice per year (or before each major upgrade)
  • Review role assignments quarterly
  • Validate integration health after every external system change
  • Include audit findings in your ServiceNow Center of Excellence reporting

Step 4: Measure Progress

Track key metrics across audit cycles to demonstrate improvement: number of critical findings, average remediation time, percentage of scripts passing security validation, CMDB completeness score, and upgrade success rate. When leadership sees measurable progress, it reinforces the value of the audit program and secures continued investment.

Conclusion

ServiceNow instance audits are not optional overhead; they are essential maintenance for a platform that your organization depends on daily. A well-planned audit reveals the hidden risks, performance bottlenecks, and technical debt that accumulate in every active instance.

The best practices covered in this guide can be distilled into five principles:

  1. Plan thoroughly before you start scanning. Define scope, stakeholders, and success criteria up front.
  2. Cover all seven areas. Customizations, security, integrations, performance, update sets, unused artifacts, and CMDB health each deserve dedicated attention.
  3. Automate what you can. Tools like snowcoder handle the repetitive scanning so your experts can focus on judgment calls.
  4. Act on findings. Categorize, prioritize, assign ownership, and track remediation to completion.
  5. Make it recurring. A single audit is a snapshot. Regular audits are a governance program that drives continuous improvement.

Start with a targeted audit of your highest-risk area, build momentum with quick wins, and expand the program over time. Your future self (and your next upgrade) will thank you.

Ready to automate your instance audits?

snowcoder can audit your ServiceNow instance and generate detailed reports in minutes.

Try Now for Free

No credit card required.