TL;DR

On May 6, 2026, AI evaluation startup Braintrust confirmed unauthorized access to an AWS cloud account containing API keys that customers had stored with the service to access cloud-based AI models (OpenAI, Anthropic, Google, etc.). Braintrust asked every customer to rotate any keys stored on the platform. If you're inside that customer set — or if you've ever stored API keys with any AI evaluation or orchestration vendor — you now have a compliance documentation problem: prove what keys existed, when they were rotated, and that new keys haven't been used inappropriately. Convert: Anything to PDF turns the heap of rotation receipts, AWS CloudTrail extracts, vendor portal screenshots, and internal incident response notes into a clean, archivable audit trail — all locally.


What happened at Braintrust

The public disclosure on May 6, 2026:

  • Vector: unauthorized access to one of Braintrust's AWS accounts
  • Data at risk: customer-stored API keys used to access cloud-based AI models
  • Action requested of customers: rotate any keys stored with Braintrust
  • Scope: Braintrust's customer base of AI/LLM evaluation users

Braintrust is one of several AI orchestration startups that hold customer credentials to call downstream model APIs. The breach is a textbook case of why holding third-party credentials is risky: a single compromise at the orchestration layer puts every customer's underlying API access at risk.

If you're a Braintrust customer, your immediate actions are technical (rotate keys). Your downstream actions are documentation (prove you rotated, when, and that nothing happened in the meantime).


What documentation you'll need

A typical post-breach audit trail includes:

DocumentSourceFormat
Initial breach notificationVendor emailHTML / EML
Vendor's incident disclosure pageVendor blogHTML
Your internal incident ticketLinear / Jira / NotionHTML / DOCX
List of keys held with vendorVendor portal exportCSV / JSON
OpenAI API key rotation receiptOpenAI dashboardHTML / Screenshot
Anthropic API key rotation receiptAnthropic ConsoleHTML / Screenshot
Google AI Studio key rotation receiptGCP ConsoleHTML / Screenshot
AWS CloudTrail logs (covering exposure window)AWS ConsoleCSV / JSON
Your usage logs (for the exposure window)Internal dashboardsCSV / Screenshot
Customer communications (if applicable)EmailEML / HTML
Internal post-mortemNotion / ConfluenceHTML / DOCX

That's 10+ documents across 6+ formats. They need to be archived in a way that's:

  • Timestamped — so an auditor can verify when each piece was captured
  • Local — so the audit trail itself doesn't go through a third-party tool that becomes the next breach
  • Searchable — so you can find the specific event quickly during an audit
  • Portable — PDF is the universal artifact format

Convert: Anything to PDF handles all those formats locally, in one Chrome extension.


The standard incident-response documentation flow

Here's a sequence that works for the Braintrust event — and for any future "vendor X was breached, rotate your stuff" incident:

Hour 0 — capture the disclosure

Save the vendor's incident page using Convert: Web to PDF. Capture the email you received. The vendor's wording often softens over time as they update the page; the original wording matters.

Hour 1 — list affected keys

Inside the vendor portal (Braintrust in this case), list every API key you'd stored. Screenshot the list. Export to CSV if possible.

Hour 2 — rotate downstream keys

For each key:

  • Log into the underlying provider (OpenAI, Anthropic, Google, etc.)
  • Revoke the old key
  • Generate a new key
  • Screenshot the revocation confirmation
  • Screenshot the new key fingerprint (NOT the key itself)
  • Update the vendor portal (or remove the entry if you're abandoning the vendor)

Hour 3 — pull access logs for the exposure window

  • AWS CloudTrail for any AWS resources that the keys could've touched
  • OpenAI / Anthropic / Google API logs for usage during the window
  • Your internal usage logs for the same window
  • Export each as CSV or JSON

Hour 4 — capture internal communications

Save your team's Slack thread, Linear ticket, internal Confluence page. These show the response timeline and decisions made.

Hour 5+ — assemble the audit packet

Use Convert: Anything to PDF to merge everything into a single audit packet PDF. Order it chronologically:

  1. Original disclosure
  2. List of affected keys
  3. Rotation receipts (per provider)
  4. Access logs (per provider)
  5. Internal communications
  6. Post-mortem

That's the document an external auditor will want when they ask "what happened with Braintrust?"


Why "do it locally" matters here especially

There's a deep irony in using an online PDF tool to assemble a breach response artifact. The whole reason you're rotating keys is that a vendor with custodial access to credentials had a bad day. The last thing you should do next is upload the resulting audit packet — which now contains key fingerprints, access logs, vendor disclosure language, and the names of every team member involved in the response — to another third party's servers.

Convert: Anything to PDF processes files in the Chrome extension sandbox on your machine. The audit packet is built locally, written to your local disk, and never leaves.

Compare to SmallPDF / ILovePDF / Adobe online: each of those routes your DOCX, CSV, and HTML through their infrastructure. Some retain content for "abuse prevention." Some have had documented breaches themselves. Adding another third party to a breach response is the wrong shape.


What about CloudTrail-derived evidence?

AWS CloudTrail exports access logs in CSV or JSON. For an audit packet, the typical pattern:

  1. Pull CloudTrail events for the affected access keys, scoped to the exposure window
  2. Save the CSV export to disk
  3. Open the CSV in a spreadsheet, highlight rows of concern (any access from unfamiliar IPs, any IAM changes, any unexpected resource access)
  4. Save as PDF via Convert: Anything to PDF — preserves the highlighted version
  5. Keep the raw CSV alongside, in case the auditor wants to re-run analysis

The PDF is the human-readable artifact; the CSV is the source of truth. Both belong in the packet.


A pattern: per-vendor incident folders

Many organizations are accumulating "vendor X had a breach" folders in 2025–2026. A standardized structure helps:

/breaches/
  /2026-05-06-braintrust/
    01-disclosure.pdf
    02-affected-keys.csv
    03-rotation-receipts.pdf  (merged)
    04-access-logs.csv
    05-access-logs-annotated.pdf
    06-internal-comms.pdf
    07-postmortem.docx
    AUDIT-PACKET.pdf  (merged from above)

The folder structure is yours to define. The principle is: each vendor incident gets its own folder; each folder ends with one merged PDF that an auditor can be handed.


Convert: Anything to PDF vs alternatives for incident response

ToolLocalDOCXXLSXCSVImagesHTMLMergeFreeAccount
Convert: Anything to PDFYesYesYesYes (rendered)YesYesYesYesNo
SmallPDFNoYesYesYesYesYesYesLimitedYes
ILovePDFNoYesYesYesYesYesYesLimitedYes
Adobe AcrobatMixedYesYesYesYesYesYesNoYes
Pandoc CLIYesYesNoNoYesYesYesYes (CLI)No
Microsoft WordYesYes (only)NoNoYesLimitedNoPaidYes

For incident response specifically, "Local: Yes" + "Account: No" is the only sensible answer. The audit packet contains material that should never be near another third party while it's being assembled.


What if you're not affected by Braintrust specifically?

The same workflow applies to any vendor incident in 2026 — and there are a lot:

  • Vimeo confirmed user and customer data breach (third-party vendor vector)
  • Instructure / Canvas confirmed student data breach affecting personal email, names, teacher-student messages
  • Vercel breach implications for online PDF tool ecosystem
  • 108 malicious Chrome extensions campaign affecting users globally
  • Multiple ransomware victims including Earth Systems Europe, Egnyte, Elia Law Firm, EMA Engineering, Excel Healthcare (May 2026)

For each of these, if you're a customer or user, the response shape is the same: capture, rotate/remediate, log, assemble, archive. Convert: Anything to PDF is the conversion layer; the discipline is yours.


Tips for the "rotation receipts" page specifically

OpenAI, Anthropic, Google AI Studio, and Azure OpenAI all show API key management dashboards that are HTML pages, not downloadable files. To capture rotation evidence:

  1. Take a screenshot of the key list before rotation
  2. Rotate the key
  3. Take a screenshot of the key list after rotation (showing the old key is revoked and a new one exists)
  4. Use Convert: Web to PDF on the post-rotation page to get a timestamped record
  5. Merge both screenshots into your audit packet

The before-and-after pair is what an auditor wants to see: proof that the old key existed, proof that you revoked it, proof that the new key is what's currently in service.


Compliance frameworks this maps to

The audit-packet pattern aligns with:

  • SOC 2 — vendor incident response evidence
  • ISO 27001 — A.16 information security incident management
  • NIST CSF — Respond function evidence
  • PCI-DSS — incident response and forensic data
  • HIPAA — breach notification documentation (if PHI was potentially exposed)
  • EU GDPR — Article 33 breach notification documentation
  • CCPA / CPRA — annual cybersecurity audit requirements (now in force as of January 2026)

The exact required artifacts vary by framework, but the category — timestamped, local, complete, portable — is universal. PDFs assembled with Convert: Anything to PDF hit all those targets.


A note on AI tools and breach documentation

It's tempting to use an LLM to summarize your incident — "draft the post-mortem based on these CloudTrail logs." Be careful:

  • Don't paste API keys (or fingerprints that map to keys) into LLM prompts
  • Don't paste internal incident-specific identifiers into general-purpose LLM web UIs
  • If you must use AI, use it on anonymized versions of the artifacts

Better pattern: build the audit packet locally first, then if you want AI-assisted post-mortem drafting, work from a redacted version. The original packet stays local; only the redacted version touches an LLM.

For tracking which AI models are best for the post-mortem drafting step, CineMan AI compares the major options without uploading anything itself.


Frequently asked questions

Q: How quickly should I rotate keys after a vendor breach notification?

Treat it as same-day. The window between disclosure and "all customers have rotated" is the window an attacker can still use stolen keys. Best practice: rotate within hours.

Q: Should I delete keys from the vendor portal instead of rotating?

If you're discontinuing use of the vendor, yes — delete from the vendor side. Either way, revoke the underlying provider keys (OpenAI / Anthropic / etc.). Don't leave a dangling reference.

Q: What if I don't remember which keys I stored with the vendor?

Pull the vendor portal's "stored credentials" or "API key" page. Most platforms list them. If yours doesn't, treat all your provider keys with that vendor's intended scope as potentially exposed and rotate them all.

Q: How long should I keep the audit packet?

For most frameworks, 7 years (matching financial / tax retention). For HIPAA-covered entities, 6 years from creation or last effective date. For GDPR, indefinite as long as you're using the documentation in active compliance.

Q: What about access logs from OpenAI / Anthropic — are they granular enough?

OpenAI provides usage logs per API key. Anthropic's Console shows usage per organization. Granularity varies; pull what's available and document any gaps explicitly in your post-mortem.

Q: Can I include the breach notification email as PDF?

Yes — save the email as HTML (in Gmail: "Show original" or print to PDF), then merge with the rest of the packet via Convert: Anything to PDF.

Q: What if the vendor never tells me directly and I find out from the news?

Note in your post-mortem when you became aware and how. If notification was delayed beyond statutory windows, that's relevant to any future dispute with the vendor.

Q: Should I notify my customers if my keys were exposed via Braintrust?

Depends on what those keys had access to. If keys could call models on your customers' behalf, or if logs / data attributable to customers were touched, yes — and the GDPR / CCPA timelines apply. Get legal advice fast.

Q: Are screenshots admissible as audit evidence?

Generally yes for incident response. Auditors prefer screenshots with full URL, system clock, and user identity visible. The "browser address bar plus system clock" is the cleanest framing.

Q: How do I store the audit packet securely?

Encrypted disk; access-controlled folder (S3 with KMS encryption, or equivalent); restricted to security / compliance team. The packet itself contains sensitive material — treat it as production data.

Q: Can I share the packet with my SOC 2 auditor?

Yes. Provide it through whatever channel the auditor uses for evidence — typically a controlled portal. Don't email PDFs containing key fingerprints over plain SMTP.

Q: What about the AWS CloudTrail format — is it directly convertible?

CloudTrail JSON is convertible, but for readability auditors typically prefer a CSV view. Export from AWS Console as CSV, optionally annotate in a spreadsheet, then convert to PDF.


Bottom line

Vendor breaches in 2026 are routine enough that having a standard incident-response documentation flow is part of the basic cost of doing business. Braintrust's May 6 disclosure is one of many in a year that has already seen Vimeo, Instructure, Vercel, and a 108-extension malware campaign.

The right response pattern: capture, rotate, log, assemble, archive — all locally. Convert: Anything to PDF is the conversion layer that makes "assemble" possible without adding another third party to the chain. Pair it with Convert: Web to PDF for vendor disclosure pages and provider portals, and you have a sustainable incident documentation discipline that holds up to any SOC 2, ISO 27001, or GDPR audit.