Safeguard
Security Guides•

How do you scrub customer data from bug reports before sharing?

A short checklist for removing customer data from logs, screenshots and payloads before you attach them to tickets, chats or vendor support cases.

Safeguard Security Team
4 min read

Before attaching anything to a ticket, replace names, emails, identifiers, tokens and free text with placeholders, crop screenshots, and cut logs to the lines you need. Better still, reproduce the bug with synthetic data and attach that. A ticket is a copy, and copies spread.

Why tickets are a leak path

Debugging pulls real data toward developers: a stack trace with a request body, a screenshot of a customer's account, an exported spreadsheet that "shows the problem". These land in ticket systems, chat threads, email and vendor support portals, each with its own access list and retention.

The data minimisation principle says personal data should be adequate, relevant and limited to what is necessary for the purpose. A bug report rarely needs the customer's identity. This is general information, not legal advice.

What to look for

ArtifactTypical hidden dataFix
LogsEmails in messages, tokens in headersCut to the relevant lines, redact
ScreenshotsNames, addresses, order details, browser tabsCrop, blur, retake with test account
HAR files and tracesCookies, authorization headers, bodiesStrip headers and bodies, or recapture in staging
Database exportsEntire rowsReplace with a synthetic row of the same shape
Stack tracesQuery parameters, user idsRemove values, keep structure
Screen recordingsEverything on screenRe-record with test data

Steps

  1. Try reproducing first. Create a test account in staging and follow the same steps. If it reproduces, attach that evidence instead.
  2. Describe the data shape. Write "user with 3 addresses, one with a non ASCII character" rather than pasting the record. Shape is what developers need.
  3. Replace with consistent placeholders. Use the same placeholder for the same value, such as user A and user B, so the sequence of events still makes sense.
  4. Strip secrets. Remove authorization headers, cookies, API keys and session identifiers. Treat any that were shared as exposed, and rotate them if they were live.
  5. Crop and blur. Use the screenshot tool's redaction and check the result by viewing at full size. Text can survive light blur.
  6. Check metadata. Files can carry author names and paths. Export a clean copy.
  7. Choose the right channel. Use the ticket system your access rules cover, not personal email or a public paste site.
  8. Set an expiry. If an attachment truly needs real data, record the reason, limit visibility, and delete it when the issue closes.

For vendor support cases

Vendors will ask for logs or sample data. Send the minimum, redacted, through their official portal, and ask how long they retain attachments. Keep a note of what you sent and when.

Make it routine

Add a line to your bug template: "Does this report contain customer data? If yes, remove it or explain why it is needed." Provide a short redaction how to in your engineering handbook. Make the safe path easier than the unsafe one, for example with a command that strips headers from a HAR file.

Quick check

Is blurring a screenshot enough?

Not always. Heavy redaction boxes are safer than blur, and cropping beats both. Review the image before you send it.

What if a customer sent the data to us themselves?

Handle it under your privacy process, limit who sees it, and do not forward it to broader channels. Ask your privacy lead if unsure.

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.