Decommissioning is not proven by one missing host record. This workflow stores a before-state, requires a completed authorized OEM scan, and separates current blockers from historical references that still need review.

Requirements

  • API access for domain details
  • OEM access for scan status and historical hosts
  • Nexus access for passive DNS and certificate relationships
  • A domain you own or are authorized to test
  • Python 3.10 or later with requests

Phase 1: capture the before-state

Run the collector before removing the cloud service:
The baseline retains hosts, ports, products, certificate names, and observation timestamps returned by domain details.

Phase 2: scan after decommissioning

Use Orchestrate an OEM Scan Lifecycle with the same authorized domain and retain its completed state file.

Phase 3: collect residual evidence

verify_cloud_decommission.py

Decision rules

  • Blocked: A host marked live has an observation at or after the completed scan.
  • Review required: No fresh live host was returned, but DNS, cloud-provider, certificate, load-balancer, account, or application checks remain.
Historical hosts, passive DNS, and certificate names are not current exposure by themselves. They identify cleanup and evidence-retention work. Confirm DNS record removal, cloud resource deletion, certificate revocation or expiry policy, traffic cessation, and account ownership in the systems that control those resources. Do not label the service verified absent from FullHunt data alone.