A Bubble developer reached out with a simple-sounding request:
“Users upload medical PDFs. We need to remove names, ages, and IDs before storing them.”
At first glance, it sounds easy.
In practice, every common approach failed:
○Uploading the PDF first → data already leaked
○Backend workflows → slow, expensive, risky
○External OCR / redaction APIs → HIPAA nightmare
○Regex plugins → break on real PDFs
○Storing raw files temporarily → compliance issue
The core issue wasn’t redaction.
It was where the redaction happened.
The solution we built
We built Document Redactor Pro around one strict rule:
The original PDF must never leave the user’s browser.
So the flow became:
1. User selects a PDF
2. PDF is processed entirely client-side
3. Sensitive text is detected using developer-defined rules:
●hide specific values (names, IDs, ages)
●hide word after keyword (Age: 21yo)
●hide entire line after keyword (Patient Name: John Doe)
4. Black boxes are drawn directly onto the PDF pages
5. A brand-new, flattened PDF is rebuilt
6. Only the redacted PDF is uploaded to Bubble’s CDN
No backend workflows.
No temporary storage.
No external APIs.
Just the browser doing the work it’s already good at.

