Peak shows scan findings in a sidebar next to the live conversation. None of it is on disk until you click Export.
When a thread is open in the conversation pane and you've clicked Scan selected, a Findings sidebar appears on the right. Each finding shows:
Click any finding to scroll the conversation pane to that message and highlight it briefly.
The Export ▾ menu at the top of the Findings sidebar offers three options:
Each option opens a Save dialog so you control where the file lives. Finder reveals the file after the export completes.
iMessage-style bubbles, blue for "Me" (the phone's owner) and gray for the other side. Every message has a small gray line of metadata beneath it:
483F49F5-3FCE-4BFE-BCAA-5B65ABEBE98C · iMessage · 2026-05-18T23:54:44.326908Z · row 34831
What each part means:
Wednesday, May 18, 2026.↩ In reply to <sender>: "...".[message unsent by sender] with the original timestamp preserved.▶ <filename> — derived preview (full file embedded in PDF). The original .mov is attached to the PDF — extract it from a PDF viewer's attachments panel to play.[text recovered from attributedBody typedstream] — appears under a message when its text had to be parsed from iOS 16+'s binary text format because the older plain-text column was empty. This is a transparency marker. The text is correct (or as correct as the parser could make it) but you should know it came from a derived source.Every forensic PDF ends with a Forensic Manifest page. It lists:
sms.db SHA-256 hash and size (so you can verify the source database wasn't tampered with)The manifest is what makes the PDF defensible if you ever need to use it for serious purposes (school disciplinary process, family court, etc.). Anyone with access to the source backup can recompute the SHA-256 hashes and verify the data hasn't been altered.
Page 1 is the summary:
sms.db SHA-256Page 2+ is flagged messages in chronological order. Each entry has:
→ Jump to message in main PDF — a clickable link| Category | What it catches | Color | |---|---|---| | profanity | swearing | amber | | sexual | sex acts, body parts, nudes, hookup talk | pink | | slurs | racial, ethnic, anti-LGBT, ableist slurs | dark red | | drugs | weed, vapes, opioids, MDMA, drug-buying slang | purple | | alcohol | drinking, fake IDs, blackout slang | brown | | violence_threats | "kill you", "shoot up", weapon names | red | | self_harm | "kms", suicide, cutting, pro-ana/mia | near-black | | predatory_grooming | "don't tell your parents", "our secret", asking for pics | crimson | | personal_info_sharing | sharing address, SSN, credit card, passwords | blue |
Categories are ranked by severity in that order — self-harm and grooming float to the top of the list.
In Adobe Acrobat Reader (free), clicking → Jump to message in main PDF opens the forensic PDF directly at the message's bubble. Acrobat honors PDF named destinations (#msg-GUID) and cross-document links.
In Preview.app (macOS's built-in viewer), Apple's PDF library doesn't fully implement cross-document named destinations. Clicking the link opens the forensic PDF but lands on the first page rather than the right one. As a workaround, the page number is printed in the entry header (page 5). Open the forensic PDF and jump to that page manually (⌘G in Preview).
If you don't have Acrobat installed and you want clickable jumps to work, install Adobe Acrobat Reader DC (free) from adobe.com.
The CSV is one row per flagged message:
| Column | Meaning | |---|---| | timestamp_utc | ISO 8601 UTC time | | sender | "Me" or the phone/email handle | | service | iMessage / SMS | | categories | pipe-separated list (e.g. profanity\|slurs) | | matched_terms | pipe-separated terms that triggered | | message_text | full message text | | message_guid | unique ID | | rowid | SQLite row ID | | page_in_main_pdf | page in the forensic PDF |
Open it in Numbers or Excel. Sort by categories to group by type. Sort by sender to see who's saying what. Filter to one category to triage in batches.
A flag is not a verdict. The wordlist scanner can't tell the difference between:
That's your job. Use the forensic PDF for context. Read the messages around the flag. If a category is generating mostly noise, silence it in settings.
The goal of the report isn't to tell you what to do. It's to put a small list in front of you instead of a 14,000-message thread, so you have a fighting chance of catching something that matters.
Next: Tuning the Wordlist.