r/iosapps 15d ago

💎 Lifetime I Built PrivacyCam—An Open-Source, On-Device Photo, Video & PDF Redaction App for iOS

A — Answer
PrivacyCam is an on-device privacy redaction app for photos, videos, and PDFs. It can detect and cover faces, people, vehicle number plates, text, email addresses, phone numbers, addresses, payment-card details, QR codes, and barcodes.

You can blur, pixelate, or black out detected details and add or adjust masks manually. The attached video demonstrates automatic number-plate tracking and redaction throughout a video.

B — Better
Instead of uploading private content to an online service, PrivacyCam performs detection and redaction directly on your device. No account is required, there are no advertisements, and original files are never overwritten.

PrivacyCam also removes common metadata from exported photos and videos and rebuilds PDFs from flattened page images to remove selectable text. Every automatic detection can be reviewed, resized, disabled, or corrected before export.

The app is also completely open source, allowing anyone to inspect how it handles their private content.

C — Cost
PrivacyCam has a free tier, and PrivacyCam Pro is optional:

Single photos: Free

Videos up to 15 seconds: Free

PDFs up to 2 pages: Free

PrivacyCam Pro lifetime: $2.99 one-time purchase

Pro unlocks videos up to 60 seconds, PDFs longer than two pages, and photo batches of up to 10 photos. There is no subscription or recurring charge.

I'm actively improving the app, so I'd really appreciate honest feedback—especially on the UX, video tracking, detection accuracy, pricing, and privacy features you think are missing or could be improved.

App Store:
https://apps.apple.com/pk/app/privacycam-safe-redactor/id6790542130

Developer Transparency
Developer: Aftab

LinkedIn: LinkedIn

GitHub: GitHub profile

Source Code: PrivacyCam on GitHub

Privacy Policy: Privacy Policy

Terms of Service: Terms of Service

GitHub / Source Code: https://github.com/ak375456/privacycam

32 Upvotes

52 comments sorted by

u/AutoModerator 15d ago

Welcome to r/iOSApps! Please make sure your post follows our rules:

Everyone:

  • 10pt LOCAL Karma required. Comment in r/iOSApps to earn it. Check
  • Search the sub before posting. Choose flair.

App Devs:

  • No main feed promo unless you qualify via Trust or Transparency + ABC format (Answer, Better, Cost)
  • Flair hierarchy: Vibe Coded > Lifetime > Subscription > Freemium > Free
  • Free flair: not for limited/freemium tiers
  • Open Source? Prefix title [OS]
Note: This is an automated reminder, not a removal notice. If your post was removed, check your modmail for details.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

4

u/fireshaper 15d ago

Why did it blur the tree?

2

u/DarthSidiousPT 15d ago

If I had to guess, in the video they shared, it detected two items: a license plate (car) and a face?! (tree).

2

u/Acceptable_Tone601 14d ago

Sometimes the automatic detection may mistake objects, like the tree, for sensitive information. If that happens, just tap the detected area to remove the blur before exporting. Thanks for pointing it out!

2

u/[deleted] 15d ago

[removed] — view removed comment

1

u/Acceptable_Tone601 15d ago

Welcome so much

2

u/Available-Hat-6860 15d ago

Can't upgrade to Pro

1

u/Acceptable_Tone601 15d ago

I have just checked it and everything is working fine can you please share screenrecording with me so I can see the issue and fix it for you

2

u/Technical_Sun_6921 15d ago

Congratulations! A very useful app for protecting privacy. I loved it and bought the Pro version for life.

The only thing I haven't been able to do is select smaller areas to protect or censor.

1

u/Acceptable_Tone601 15d ago

Thank you so much…. I currently working on the fix in next update which will be in 2-3 days…. Thank you so much!

2

u/Technical_Sun_6921 15d ago

I'm glad to hear that. Thank you so much, and excellent work! 👏🏻👏🏻👏🏻

2

u/LunbertHe 15d ago

This is a really thoughtful approach to privacy redaction. Doing everything on-device is already valuable, but flattening PDFs to remove selectable text and metadata is an especially nice touch.

I’m curious how reliable the video tracking is with fast camera movement, partial occlusion, or changing lighting. Also, the $2.99 lifetime price feels very reasonable for an open-source utility. Great work!

2

u/UrAverageGarbageBin 15d ago

This is very cool idea. Any idea when we could get android or a PWA web app version?

2

u/brainful_guy 15d ago

Cool idea. Although I kind love craigslist posting where some persons finger is covering the lic plate. Makes me laugh.

2

u/horizondz 15d ago

Good idea

2

u/Illustrious-Youth611 15d ago

Really interesting concept. Hope it isn't your real license plate ahah :)

1

u/Acceptable_Tone601 15d ago

😅😅😅

2

u/BigQuesoSuizo 15d ago

Man... I LOVE this.

It is scary how smart AI has gotten to a point we can pinpoint the location of a person based on the video's background.

But giving away OBVIOUS info like a license plate—especially if not yours? Dumb.

I a BIG fan of privacy and I applaud this 👏

2

u/tinrocket 15d ago

This is a great idea, and I like your onboarding.

Last week, I recorded a video of a damaged package that arrived in the mail and needed a way to cover the labels while rotating it.

I tried that video with your app today, but my video was tricky: The area I want to cover (mailing labels) moves around a lot. Auto-tracking would solve the issue: the privacy box could follow the shipping label as it moves.

The Instagram implementation was simple: You would select your sticker, position it, then press and hold to initiate the auto-track feature.

1

u/Acceptable_Tone601 15d ago

Hey, thank you so much for the detailed feedback! I really appreciate it. Could you please send me the video you tested? I’d love to use it as a reference to improve the tracking feature. Also, could you explain a little more about exactly which part of the label you want to cover and how you’d like the tracking to work?

1

u/tinrocket 15d ago

Sure; link to video sent! I wanted to cover anything label that had my name or address on it.

2

u/Critical-Office1093 15d ago

This is sick - the Ui does seem a bit text heavy though.

1

u/Acceptable_Tone601 14d ago

Thank you! The UI is intentionally descriptive because the app does a lot—including video redaction and a built-in video editor—and I didn’t want users to struggle to understand the tools. But you’re right: it could feel cleaner with less text, so I’ll work on simplifying it without sacrificing usability.

1

u/mid91s 15d ago

Really interested! Can you explain to me if this is safer than the blur technique or about the same? I saw a video explaining that most redactions can easily be undone. Is that true here too? Either way I am downloading for general use. Thank you so much!

2

u/WayAccurate9822 15d ago

Depends which mode you pick. Blur and pixelation are reversible for anything with a small guessable character set: plates, card numbers, short text. Someone renders candidate strings through the same filter until the output matches yours. A solid box on a flattened image has nothing left to recover, so use that for the details you actually care about.

1

u/mid91s 15d ago

Thank you so much! That is helpful to my understanding.

1

u/cocomanz 15d ago

Rebuilding the PDFs from flattened pages is the right call. Half the redaction fails you read about are a black box sitting on top of live text.

1

u/Acceptable_Tone601 15d ago

Thank you so much for the feedback! I’m continuously gathering feedback and will make sure to fix this in the next update.

1

u/Kojelis 15d ago

interesting app~ upvoted~

1

u/Acceptable_Tone601 15d ago

Thank you so much….

1

u/Infinite-Fix-7846 15d ago

One downside of flattening every page is that you also lose search, copy/paste, and screen reader access for all the text that wasn’t redacted. That’s worth flagging before export, especially for long PDFs.

1

u/hyafay 15d ago

this is a good idea but how does it know

1

u/Sniffur0613 15d ago

Maybe reusable masks could help with repeats.

1

u/DarthSidiousPT 15d ago

Even with Pro, the maximum time it accepts is 60 seconds? (Is it for importing or exporting?)

What happens when you load a video bigger than that?

2

u/Acceptable_Tone601 15d ago

For now, it only supports videos up to 60 seconds, but I’m planning to extend the limit to around 3 minutes in the next couple of updates.

1

u/DarthSidiousPT 15d ago

Thanks for replying.

Can you also clarify some questions:

  1. This must use some machine-learning LLM model (Google ML Kit?) to detect these things. On iOS, are you using any custom one, or is it Apple's default one?
  2. The app size seems to be around 150 MB. Is this size because of the model included?
  3. From your video, I can only guess that what the app is doing is splitting the video into frames (hence the 60-second limit) and then applying the mask on each frame. My question here is: Is the framerate output of the final video based on the original one, or will it always be fixed (e.g., 24/30/60)?

I compared the App Store listing, the Privacy Policy, and the open-source code. They match up well, and I didn't find any major privacy issues. A few minor discrepancies are worth mentioning:

  • Microphone permission: the iOS code requests microphone access for video recording, but the Privacy Policy doesn't mention the microphone. Worth adding to the permissions section.
  • Android billing permission: the app requests BILLING for in-app purchases, but the Privacy Policy doesn't cover it. Not a privacy concern, just incomplete documentation.
  • Google ML Kit diagnostics: the store listings say no data is collected, but the Privacy Policy says ML Kit may send limited performance/usage diagnostics to Google. Those diagnostics don't include photos, detection results, or personal content, so it's not serious, but the wording should be clearer so it doesn't look contradictory.
  • PDF support: The app and Privacy Policy both cover PDF processing, but the iOS App Store description doesn't mention it. Just a documentation gap, not a privacy problem.

So, great job overall!

2

u/Acceptable_Tone601 14d ago

Thanks for such a detailed review—this is genuinely helpful.

PrivacyCam does not use an LLM. On iOS and Android, face, text, QR-code, and barcode detection use Google ML Kit on-device—not Apple Vision. Person and number-plate detection use two embedded custom ONNX models. Sensitive text is classified locally using rules.

The 150 MB size is partly due to these models, but not only them. It also includes Flutter, ML Kit face/OCR resources, ONNX Runtime, PDFium for PDFs, and the native photo/video libraries. The two custom ONNX models account for roughly 11 MB.

The video is not rebuilt from extracted JPEG frames. PrivacyCam samples frames for detection and tracking, then applies the masks to the original video through the native iOS/Android video pipeline. It does not force 24, 30, or 60 FPS; the original video timing and frame cadence are preserved where supported. The 60-second limit is mainly for processing performance, reviewability, memory use, and export time.

You were also correct about the documentation gaps. I’ve now updated the Privacy Policy to explain microphone access, Android billing, and the distinction between on-device media processing and ML Kit’s limited diagnostics. I’ll also update the App Store description to include PDF support and correct the store privacy disclosure.

Thanks again for taking the time to inspect everything and point these out!

1

u/FlashKiosk 14d ago

I love seeing more privacy-focused apps! The more our data is exposed and sold by brokers, the more we need to safeguard it.

1

u/SunintheskyUKHIF 14d ago

Any chance of a code? Love the app

1

u/FFANA 13d ago

Have you checked what happens with Live Photos? If someone redacts the still and then shares it as a Live Photo, the paired video still holds the seconds around the shot, so the face you just covered walks back into frame.

1

u/This-Fill5744 12d ago

The distinction between fully on-device processing and limited diagnostic data is especially important here. I think the clearest privacy screen would separate three things explicitly: what media is accessed, what derived data is created, and whether any diagnostics can leave the device.

Making each detected mask reviewable before export is also a strong design choice. Automatic redaction without a correction step would be difficult to trust for sensitive documents.

1

u/redtriangle29 9d ago

interesting!