ScreenSafe
Check a screen recording for private details, and decide what to hide.
Interactive Demo A browser demo on sample data. The tool itself is not released yet.
The problem
Screen recordings leak: an email in a header, a key on a settings page, often for just a few frames. Blurring by hand, it's easy to miss one.
What I built
A review tool that suggests what to hide and follows it across frames. A person makes every call.
- Emails, card numbers and keys
- Follows each item across frames
- Hide or keep, always your call
Features and limits
Built and tested
- Detects likely email addresses, card numbers (with a checksum), secrets and tokens (by length and randomness), phone numbers, IP addresses and labeled fields such as “Password:”.
- Tracks each item across frames as one suggestion; where the reader missed a frame (a tooltip covering the text), the box is filled in from its neighbors and marked to check.
- Every suggestion is Redact or Keep; false positives (a date that looks like a phone number) are part of the job.
- Draw manual boxes for anything it missed.
- Export stays locked until every suggestion is decided and someone confirms watching every frame.
- Exports a reversible redaction list (frame, time, box); the recording itself is never changed.
Limits
- A browser demo on fictional, already-read frame text. Reading text from real video frames (OCR) is not built.
- Detection is pattern-based and can miss things: unreadable or partial text, fast scrolling, text in images, unusual formats. It is never a guarantee, which is why the review and frame check are required.
- Boxes follow scrolling text by position; it does not track moving or rotated text.
Planned
Motion tracking, reversible edit decision list and explicit false-negative warning.
How to use
- Scrub the frames. Dashed outlines are suggestions; black boxes are approved redactions; striped boxes were filled in.
- Choose Redact or Keep for each suggestion. Use Show to jump to its first frame.
- Drag on the frame to add a manual box for anything missed.
- Tick that you watched every frame, then export the redaction list.
How it works
- Card numbers must pass the Luhn checksum; tokens must be 24+ characters mixing letters and digits with high character entropy.
- Tracking links the same text in a nearby box across frames, filling gaps of up to two frames.
- Readiness is computed, not assumed: open suggestions or an unconfirmed frame check block export.
- The fictional contact details use the reserved .test domain and a standard test card number.
Download
No download yet. A download appears here only after the package is built from reviewed code, installed and tested.
Tested versions & limits
- Pass Unit: detection of email, card (Luhn), token, phone, IP, labeled fields; false positive kept for review Node 22, Linux
- Pass Unit: tracking across frames, missed frame filled and marked Node 22, Linux
- Pass Unit: export blocked until review and frame check; reversible list Node 22, Linux
- Pass Browser: review flow, lock and unlock, export Chromium (Playwright), 1280px
- Not tested yet Reading text from real video frames (OCR) Not built
Last verified 2026-10-31.
Detector, tracker and review flow run on fictional frame text. Not a guarantee; OCR on real video is not built.
Details
- Input
- Fictional screen recording
- Output
- A list of redaction decisions for the sample recording
- Runs in
- Planned: a desktop or editor workflow that reads text from video frames. Today: the detector, tracker and review flow, running in your browser on a fictional recording.
- Source
- Original, rebuilt from scratch