Safeguard
Security Guides•

You found an unknown third-party integration in production. Now what?

A calm six-step triage for an unrecognized SDK or API call: identify the owner, check the data sent, decide keep, restrict or remove, then add it to the inventory.

Safeguard Security Team
4 min read

If you find an unknown third-party integration in production, do not delete it first. Identify what it is and who added it, check what data it receives, then decide to keep it, restrict it or remove it. Whatever you decide, add it to the inventory so it stops being unknown.

Why not delete immediately

Unknown does not mean unused. The call might power a checkout step, a nightly export or a compliance report. Removing it blind can cause an outage and teach teams to hide integrations. The goal is understanding in hours, not a blame hunt.

The exception is evidence that the integration is malicious or sending data to a destination nobody could plausibly have approved. In that case treat it as a security incident and follow your incident process.

Six steps

  1. Capture the facts. Hostname, first and last seen dates, which service or page makes the call, request volume, and the version of any SDK involved. Save logs before anything changes.
  2. Find the origin. Search the repository history for the hostname or package, check who added the dependency or config, and check vendor dashboards for accounts created with company email addresses.
  3. Identify the owner. Ask the likely team, with the facts. The answer is usually a trial that became permanent, a leftover from a former colleague, or a connector in a tool someone adopted.
  4. Assess the data. Inspect a sample request, using a safe test environment where possible, to see which fields leave. Compare against your data classes. OWASP lists a sensitive data flow with no approval, no inventory and no visibility of what is shared as a blind spot, so these are the questions to answer.
  5. Decide. Choose from the outcomes below and set a date.
  6. Record it. Create the row, with owner, purpose, data classes, credential location and the decision. Note how it was discovered, so you can improve the discovery method.

Decision table

SituationOutcome
Needed, owner found, data appropriateKeep and document
Needed, but sends more than necessaryRestrict fields, narrow scopes, then document
Needed, vendor not reviewedKeep temporarily with a review date, ask privacy and security to assess
Not needed or owner cannot be foundDisable in a staging window, watch for breakage, then remove and revoke credentials
Suspicious destination or unapproved data flowHandle as an incident

Close the loop

Ask why it was missed. Maybe there is no pull request prompt, maybe the integration came through a browser script or a no-code tool, or maybe the team did not know where the inventory lives. Fix the cause with one change, such as a check in review or a periodic comparison against outbound traffic.

Do the removal properly: revoke API keys, delete webhook registrations at the vendor, close accounts if appropriate and update the data flow map. Requests to a vendor to delete data are a privacy matter, so involve your privacy lead.

Quick check

Should I block the traffic right away?

Only if you have evidence of harm. Otherwise identify the owner first, since blocking can break a live feature.

How fast should this happen?

Aim to identify the owner and the data sent within a day or two, and to set a decision date within a week.

Safeguard offers SBOM and dependency scanning and asset discovery that can feed this kind of inventory. You can run a free scan at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.