DocuRedact: an online service that redacts sensitive data from documents.
Upload a document or import it from a cloud drive, choose what to hide and download the redacted copy, with subscriptions paid by card and an admin that runs them.
Visit docuredact.com
The problem
Contracts, statements, records and spreadsheets often have to go to someone who shouldn't see everything in them: phone and card numbers, email addresses, dates, ID numbers. Blacking these out by hand is slow, and easy to get wrong. DocuRedact offers redaction online, with an engine that uses AI to find the data. Around that engine it needed a website that explains the service, an account where people send their documents and get them back redacted, a way to pay, and an admin for its team.
What we built
Everything around the redaction engine, from the first visit to the redacted file: the website, the users' area, payments and the admin.
- A website in two languages. The home page shows how the service works, the file types and data it handles and the sectors it serves, with pages for plans, questions, contact, a blog and the legal terms. In Arabic it is laid out right to left.
- Accounts. Sign-up confirmed by email, sign-in with an email or a Google account, password reset, a profile with a photo, and an account its owner can delete. Accounts that are never confirmed are removed on their own.
- Upload from anywhere. Drag files onto the page, pick them from the computer, or import them from Google Drive, Dropbox or OneDrive. PDF, Word, Excel, CSV, text and image files are accepted, and each file's type and size are checked before it is sent.
- Choose what to hide. For each file, the user picks the kinds of data to redact from the list the engine offers, adds words or phrases of their own, and lists words that must stay. The file goes to the engine and comes back redacted.
- A list of files. Every file with its size, date and status, with search and a filter by size. Download one redacted file or several together, and delete what is no longer needed. Files are deleted from the server after a day.
- Subscriptions paid by card. Plans that allow a set number of documents, a free trial, and card payments through Stripe with saved cards. An upgrade carries unused documents into the new plan, the subscription renews on its own, and every invoice arrives by email.
- An admin for the team. New sign-ups over recent months, users and their roles, plans and plan types, every subscription and its history, and a way to adjust what a user has left.
How
The website, the users' area and the admin are one Next.js app, built with React, Material UI and Redux Toolkit, in English and Arabic. The API is Express on PostgreSQL: it checks every upload against the user's subscription, keeps track of each file, sends it to the redaction engine with the user's choices and stores the copy that comes back. Payments run through Stripe, whose events renew a subscription, or end it when a payment fails and keep the unused documents for when it is renewed. Emails go through a queue on Redis that tries again when sending fails, and scheduled jobs delete files after a day and clear accounts that were never confirmed.
The result
DocuRedact's website runs in English and Arabic. A user uploads or imports a document, chooses what to hide and downloads the redacted copy, and the team runs accounts and subscriptions from one admin.



Our role
Before the studio, our team led it: the website, the users' area, the admin and the API, around a separate AI redaction engine.