Horus Eye · Org Cleanup

Before you delete Salesforce metadata, know what still depends on it

Every org has a graveyard nobody dares disturb: Flows with “OLD” in the name, fields no layout shows, permission sets nobody holds. They stay because “unused” and “safe to delete” are different claims — and only one of them can be proven from metadata. Horus Eye treats the difference with respect: candidates are ranked with their evidence, and every executable retirement is reversible.

Assess Your Technical Debt What Horus Eye is

What “unused” can and cannot mean

Epistemics of deletion

Horus Eye’s cleanup signals are deliberately conservative, and each one names its blind spots:

Orphaned component

Nothing in the scanned metadata references it — but scheduled Apex, invocable actions and direct page placements can hide references, so this is a signal to check, filed at info severity, never a verdict.

Field used only by inactive automation

Flagged only when every referencing component is a type whose active status the scan can actually read — and every one is inactive. One Apex class, layout or unresolvable reference in the set, and the field is skipped entirely, because a claim the data cannot support is worse than a missed candidate.

Unassigned permission set

Nobody holds it — near-zero live blast radius, and one of the auto-safe retirements Horus can execute reversibly.

Flow version sprawl & near-duplicates

Outlier saved-version counts and behaviorally similar automation — consolidation candidates, ranked with the similarity evidence that justifies them.

The findings queue filtered to Architecture, where orphaned components file at info severity

The cleanup discipline

Four steps, one rule
  1. Rank candidates by evidence, not by name. “OLD_” in a label means nothing; zero recorded references plus inactive-only referencers plus no similarity twins means something.
  2. Check the blast radius anyway. Dependency data cannot see reports, list views or API consumers — the one-minute check on those surfaces is the difference between cleanup and outage.
  3. Retire reversibly. The executable retirements — unused permission sets, inactive-user assignments, redundant record types and validation rules — run as approved, zero-write-validated, rollback-ready operations. Everything else exports as an SFDX / Metadata API bundle for your own pipeline, or stays a guided Setup step.
  4. Prove it with the re-scan. The finding clears when the evidence is gone — and the scan history shows the org actually getting smaller, which is what makes the next cleanup easier to approve.
A retirement plan with reversible, per-step-approved operations

Protected AI — the Trust Layer

Every AI read in Horus Eye is metadata-first: built from an allowlist, sanitized by pattern, made through one audited gateway and checked by an output firewall on the way back — and AI is off by default, per org. Every request carries an audit id and an AI Data Scope manifest you can open.

See the Trust Layer

Shrink the org without holding your breath

Candidates ranked with evidence, retirements that can be undone, and a re-scan that proves the graph changed the way the plan said.

Try Horus Eye Assess Your Technical Debt All Horus Eye pages