
SaaS Vendor Offboarding Security Testing: Verify DNS and SSO
An IT director approves the final change for a customer-support platform migration. The replacement is live, the supplier’s invoices have stopped, and employees can no longer see the old application in their SSO portal. Procurement asks whether the exit can be closed. The change record contains an account-cancellation email, but no evidence about the branded support domain, existing sessions, or integrations that previously sent customer records to the supplier.
SaaS vendor offboarding security testing answers the missing question: which externally reachable assets and trust paths still work after the supplier relationship ends? The assessment connects the exit inventory to observed DNS, identity, application, and integration behavior. It gives the change owner a defensible basis for closing the migration or recording a limited exception.
The trigger is the supplier exit itself. A new vulnerability announcement is unnecessary. Before approving closure, leadership needs evidence that the retired service has stopped receiving the access, traffic, and authority it no longer needs.
Why SaaS vendor offboarding security testing starts with an exit inventory
Supplier cancellation, data migration, and technical retirement are separate workstreams. A commercial team can terminate the agreement while an engineering team retains a temporary endpoint for rollback. Identity administrators may remove employee assignments while a service account continues making API requests. Each team can complete its assigned ticket while the overall trust relationship remains partly active.
Start with one exit register that joins those workstreams. For every asset or integration, record the business purpose, technical owner, administrative account, dependency, intended final state, and evidence needed for acceptance. Identify who controls the domain registration, authoritative DNS, vendor tenant, identity configuration, and destination receiving any remaining traffic.
“Delete” is only one possible final state. A company may retain a hostname on infrastructure it controls, transfer a domain to a successor supplier, or keep a restricted export function for an agreed period. These choices need explicit ownership. An asset with no accountable owner is an unresolved exit item even when it currently appears unavailable.
The register should include production and non-production hostnames, vanity domains, old campaign links, custom login pages, API clients, webhook destinations, provisioning connections, service identities, and externally accessible storage or administration interfaces. Reconcile the migration plan with DNS and identity configuration rather than treating the purchasing record as a complete inventory.
For the public perimeter, external network penetration testing provides a starting point for validating reachable services and domain exposure. Supplier-exit work also needs administrative evidence and authorized identity or integration checks. An outside-only assessment cannot establish that every permission inside a SaaS tenant has been removed.
Agree on the boundary before cancellation removes your access to useful configuration and logs. If the supplier will stop cooperating on the contract end date, schedule evidence collection and export earlier. Security acceptance should be part of the exit plan, with a named decision owner and an agreed verification window.
Verify DNS cleanup and external asset ownership separately
A branded hostname can survive the service it once represented. A DNS alias may still point to a retired vendor resource, or a delegated subdomain may remain under the supplier’s administration. A registration, forwarding rule, or externally accessible endpoint may also be controlled by an account that nobody on the current team can administer.
The potential consequence depends on what remains possible. A third party controlling content under a trusted hostname could impersonate a company service. An abandoned management endpoint could expose a separate access path. Neither outcome follows automatically from an error page or a failed lookup.
Broken DNS is a signal to investigate, not proof that takeover is possible. A credible assessment distinguishes a stale reference from a provider-specific condition that permits unauthorized binding or resource reuse. It records ownership controls and technical limitations instead of labelling every unresolved hostname a confirmed takeover.

Microsoft’s dangling DNS guidance makes DNS cleanup part of service decommissioning. Apply the relevant provider’s documented sequence when removing domain mappings and releasing resources. Where required, remove or repoint the customer-controlled reference before releasing the target; avoid an interval in which the name still directs traffic toward a resource outside your control.
Account for DNS caching in the verification window. Capture the authoritative configuration and the externally observed result, with timestamps and the relevant TTL information. One resolver’s result immediately after a change is insufficient to explain the final state. Repeat checks according to the actual configuration and agreed risk window.
Ownership also needs documentary evidence. Confirm that retained registrations and DNS accounts belong to the organization, recovery contacts are current, and a responsible team can maintain them. Review supplier-held delegations and certificate-management arrangements where they affect the retired service. A domain renewal invoice alone does not establish operational control over every hosted dependency.
For implementation teams investigating a specific application estate, our Laravel subdomain takeover checks provide related technical background. Vendor-exit acceptance is broader: the buyer needs a verified disposition for each name, not just a list of suspicious responses.
Test retired SSO trust and surviving integration access
Removing a tile from an employee portal is weak evidence of retirement. It may change only the launch experience. The old application can have a direct login address, local accounts, active browser sessions, delegated access, or a separate provisioning connection. Determine which of those paths exists before deciding what removal means.
For SAML or OpenID Connect, identify the actual relationship being retired: your identity provider authenticating users into the supplier application, the supplier acting as an identity provider for your environment, or both. The direction matters because the relying system decides which identity assertions it accepts. A surviving configuration is not automatically exploitable, but it needs a documented purpose or removal.
Check new authentication separately from established access. Microsoft’s Entra access-revocation documentation explains that application-issued session tokens are controlled by the application; Entra cannot directly revoke those sessions. This illustrates why the exit assessment must verify the SaaS application’s behavior rather than infer it from an identity-provider change.

Use authorized test identities to confirm the intended outcome for direct login, an already established application session, and relevant API access. Record when the retirement action occurred and when denial was observed. Where a delay is unavoidable, document its upper bound, interim protection, and owner instead of claiming immediate revocation.
Review machine access as its own workstream. User assignments do not describe every OAuth consent grant, application permission, API key, service account, or provisioning credential. Some integrations act without an interactive user. Reconcile both sides of each relationship: the supplier’s access to your systems and your systems’ remaining access to the supplier.
A retained emergency account needs an explicit business purpose and access restrictions. If it exists only to download archived records, it should not silently preserve routine administration or ongoing data synchronization. Its expiry and removal evidence belong in the exit register.
Our guide to SaaS token lifecycle testing covers the related validation questions. For offboarding, the acceptance question is narrower: does access issued before the exit continue beyond the boundary leadership approved?
Close callback routes and stop unnecessary data flows
DNS and SSO checks can both pass while business data still reaches the retired supplier. A webhook may continue sending support events, a scheduled export may run overnight, or an integration queue may retry deliveries created before cutover. Follow the actual data flow from its source to its final receiver.
Inventory OAuth redirect URIs, SAML response destinations where applicable, webhook endpoints, event subscriptions, scheduled transfers, and inbound integration routes. These mechanisms serve different purposes. A listed callback URL is configuration evidence; it does not prove that an attacker can receive a token or that a transaction remains authorized.
For each route, decide whether to remove it, replace it, or retain it temporarily. Then verify that an approved test event follows the new destination and that the retired route no longer receives the prohibited flow. Use synthetic records and coordinate delivery checks with the receiving owner. Avoid sending real customer data merely to demonstrate that an integration still works.
Include asynchronous behavior in the scope. Identify queued exports, retry policies, scheduled jobs, and disaster-recovery configurations that could reactivate the old connection. A clean result during an idle daytime check does not answer what a nightly job will do. When observation cannot cover the relevant cycle, record the configuration evidence and the remaining uncertainty.
Ask who owns a callback hostname after the exit. If a destination stays registered in a live application while its domain or tenant is released, the risk depends on the receiving system’s validation and the new controller’s capabilities. Resolve the stale dependency even when exploitability has not been established.
Finally, keep cessation of transfer separate from deletion of historical data. Your team may prove that no new events leave a controlled source while still needing a supplier statement about retained backups or contractual deletion. Both matter to supplier exit, but they support different claims and may require different reviewers.
Scope SaaS vendor offboarding security testing around the change
A useful scope defines the supplier relationship, assets, trust directions, intended end states, and permitted testing. It also identifies what remains with the supplier to attest. This prevents the engagement from becoming an undefined promise to prove that every trace of a service has disappeared everywhere.
| Workstream | Acceptance evidence | Decision if unresolved |
|---|---|---|
| DNS and domain mappings | Approved disposition, authoritative configuration, external observations, provider ownership context | Retain controlled ownership or remediate before releasing the target |
| Federation and sessions | Trust configuration review plus observed denial for agreed new and existing access paths | Restrict access and obtain application-side revocation evidence |
| Machine identities and grants | Permission inventory, retirement action, and bounded functional validation | Remove the grant or approve a limited, expiring exception |
| Callbacks and exports | Destination review and synthetic event or job evidence | Stop the flow or retain a controlled receiver until migration completes |
| Reachable assets | Ownership reconciliation and external checks against the agreed inventory | Assign an owner and investigate unexpected exposure |
| Supplier-held records | Contractually relevant retention or deletion evidence from the supplier | Escalate to procurement, privacy, or legal review as appropriate |
Agree on written authorization, provider restrictions, test accounts, change windows, stop conditions, and escalation contacts. Do not register or bind a supposedly abandoned resource simply to strengthen a report without explicit approval. A provider-supported ownership check or clearly documented limitation may be the appropriate result.
Effort follows the number and variety of dependencies. Multiple identity providers, several branded domains, separate cloud accounts, scheduled exports, and limited supplier cooperation increase coordination and validation work. A small asset count can still involve a complex trust relationship. Request a scope-based quote that separates discovery, administrative review, functional validation, reporting, and any follow-up test.
Plan the work in four stages: baseline before cancellation; validate during cutover; revisit after relevant caching, session, and job intervals; then decide closure. These are planning stages rather than a fixed delivery promise. The observation period depends on the longest relevant behavior that must be verified and on access to the necessary evidence.
Keep rollback specific. If the old service must remain available temporarily, identify precisely which access survives and which data it may receive. Agree on a final expiry, monitoring owner, and cleanup trigger. “We might need it later” is not enough information to assess the residual exposure or budget for its continued operation.
Require evidence that supports a bounded closure claim
The final report should let a reviewer connect every material exit item to its intended state, test, observation, and disposition. Include scope version, test dates, relevant vantage points, configuration references, redacted evidence, limitations, remediation ownership, and any approved exception. Keep credentials and personal records out of broadly distributed change attachments.

Use precise outcomes. “Verified removed” means the agreed evidence supports removal. “Retained under control” means a deliberate dependency remains with an owner. “Pending supplier evidence” identifies a dependency outside the assessor’s visibility. “Not tested” should explain the constraint. These labels avoid turning lack of access into an unsupported pass.
An error page is not a complete DNS finding; a disabled setting is not a complete session finding. The report should explain what each observation establishes and what it leaves uncertain. Our article on post-patch external retesting addresses a related closure problem. For supplier exit, the evidence must address the retired relationship rather than a patch version.
Framework mapping for the acceptance record
NIST CSF 2.0 provides relevant outcomes: GV.SC-10 addresses provisions for activities after a supplier relationship concludes; ID.AM-04 concerns supplier-service inventories; and ID.AM-08 addresses lifecycle management. These mappings support the exit register and acceptance record. They do not prescribe a particular test package or certify the outcome.
OWASP API9:2023 Improper Inventory Management is relevant where retired API hosts, versions, or third-party data flows remain unmanaged. It should not be used as a universal label for every SSO or DNS issue. Map the observed condition to its actual cause and impact.
NIST SP 800-115 supports planning technical assessments, analyzing findings, and developing mitigation strategies. Use it to inform assessment discipline and limitations. Procurement, auditors, or other reviewers may request additional evidence according to the organization’s obligations; a framework reference does not guarantee their acceptance.
What leadership should decide before closing the exit
Leadership should approve the target state, the evidence threshold, and the person accountable for unresolved items. Decide which dependencies block closure and which may remain under a time-limited exception. Business impact should guide that decision: a route still delivering sensitive records deserves different treatment from a historical reference with no active receiver.
Hypothetical scenario: the support migration is operationally complete
A subscription software company replaces its support supplier. Staff use the new platform successfully. During the exit review, the old support hostname still points toward the supplier, a test browser retains access to the old tenant, and a scheduled integration continues sending ticket metadata. This is an illustrative scenario, not a client engagement or a claim about measured prevalence.
The findings have different meanings. The hostname needs ownership and provider validation before anyone calls it a takeover. The session result shows that the agreed access boundary has not yet been met. The scheduled transfer demonstrates an ongoing disclosure path that needs to stop or receive explicit approval. None of these observations alone proves prior unauthorized use.
The company keeps the change open, assigns owners, and verifies the corrected states. Procurement separately obtains the required retention documentation. If the business needs a brief archive-access period, the risk owner approves a restricted exception with an expiry and a follow-up check.
For your own exit, ask whether the inventory is complete enough to support the decision, whether surviving access and data flows match the approved purpose, and whether every retained dependency has an owner. Confirm that the evidence covers the relevant post-change intervals and that someone is responsible for reopening the change if monitoring reveals a missed dependency.
Close the exit when the evidence supports the claim you are making. If you are planning a SaaS migration, supplier termination, or cloud-resource retirement, scope a vendor-exit external exposure assessment with Pentest Testing Corp. Bring the asset list, identity relationships, migration window, and proposed exceptions so the assessment can test the boundaries that matter to your decision.
Frequently asked questions
Can we run the assessment after the subscription has already ended?
Yes, but administrative visibility and supplier cooperation may be reduced. Start with the configuration and records you still control, document missing evidence, and seek supplier confirmation where needed. Some conclusions may remain limited until access or supporting records become available.
Does every retiring supplier need an independent penetration test?
No. Choose validation depth according to trusted domains, sensitive data flows, access privileges, change complexity, and internal assurance capability. A low-impact tool may need documented internal verification; a supplier with broad identity or production access may justify independent testing.
Should a retained redirect count as a failed exit?
Not automatically. A redirect can be an approved final state when its hosting, destination, maintenance, and expiry are controlled. Confirm that it does not preserve an unwanted supplier dependency or forward sensitive information beyond the approved purpose.
Who should approve exceptions when several teams share ownership?
Assign one accountable risk owner with authority over the business consequence. Technical teams supply evidence and remediation commitments, while procurement or privacy teams address their respective obligations. Shared implementation responsibility should not leave the acceptance decision ownerless.
Can one clean external scan prove the supplier no longer holds our data?
No. External observations cannot establish the contents of supplier databases, archives, or backups. Address those questions through the applicable contract, retention requirements, supplier evidence, and any separately agreed assurance rights.
What if testing suggests the old hostname is already controlled by someone else?
Escalate through incident response, preserve relevant observations and logs, and coordinate containment with the domain and provider owners. A closure test does not determine the full history of access; investigation may need a separate scope.
