Privacy Policy
Last updated: 31 October 2026
Puracam is made by Pham Quoc Hoa, an individual developer. This policy explains exactly what the app does and does not collect. It is written to match what the code actually does — not a template.
The short version. Your scans stay on your device unless you choose Share link for one of them — then a web copy of that scan is uploaded so the people you send the link to can open it. Puracam has no account system. Apart from that, a message you choose to send with Report a bug or Request a feature, and a once-a-day check with the App Store for a newer version, the only data sent anywhere is anonymous usage and crash diagnostics, which you can switch off in Settings.
1. What stays on your device
Everything you actually create with Puracam is stored only on your iPhone or iPad, in the app's private storage. None of it is uploaded unless you share a scan as a link (see Shared links below), and otherwise I have no way to access it:
- Scans — the 3D mesh, the texture atlas, camera keyframes and depth data captured during a scan.
- Camera imagery — frames captured while scanning are used to build the texture and then stay in the scan on your device.
- Scan locations — if you grant location access, the coordinates where a scan was taken are stored with that scan so your library can be shown on a map. These coordinates are never transmitted: they are not included in any analytics event and are never part of a shared link.
- Floor plans — the room layout detected in Floor Plan mode (walls, doors, windows, furniture and their dimensions) is stored with the scan and processed on the device.
- Your settings — preferences such as quality presets are kept locally.
Deleting a scan in the app deletes it from the device. Deleting the app removes all of it.
2. What is collected
Puracam uses two Google Firebase services. Both are limited to anonymous diagnostics about how the app performs.
Usage analytics (Firebase Analytics)
When usage sharing is enabled, the app records that certain actions happened, together with non-identifying details about them:
| Recorded | Example details |
|---|---|
| Screens opened, onboarding completed | screen name |
| Scan started, finished or abandoned | duration in seconds, number of keyframes, triangle count, capture mode, quality preset |
| Processing started, finished or failed | duration, output triangle count, voxel size, which stage failed and a category for why |
| Viewer opened, a viewer tool used | which tool |
| Export started or finished | file format, quality |
| Paywall shown, a Pro feature reached, purchase completed | which feature, which subscription product |
| A scan deleted | how old the scan was, in days |
| Coarse profile properties | a bucket for how many scans you have made, your default capture mode and preset, whether you have ever exported, whether you have Pro |
These are numbers and fixed labels only. No file names, no scan contents, no images, no coordinates, and no free text you type are ever included.
Crash and performance diagnostics (Firebase Crashlytics)
If the app crashes, a report is sent containing the crash stack trace, the device model, the operating system version and the app version, so the fault can be found and fixed.
Device identifier
Firebase assigns a random per-installation identifier so that separate events can be recognised as coming from the same app installation. It is not linked to your name, Apple Account, email or phone number, and it is reset if you delete the app.
Shared links (only if you use them)
When you choose Share link for a scan, Puracam uploads a web copy of that scan — the 3D model, a preview image, and for floor plans the drawing, a PDF and a summary of rooms and areas — to storage operated for Puracam on Cloudflare. Nothing is uploaded unless you tap Share link. Scan locations, original camera frames and raw capture data are never included. An address is included only if you turn on "Show address" for that link.
Anyone who has the link can view the shared scan until the link expires: 7 days on the free plan, 30 days with Pro, which can be renewed. On Pro a link can also be protected with a password. When a link expires, or when you delete it in Settings → Shared links, its files are removed from the servers.
To create links, the app signs in anonymously with Firebase Authentication and receives a random identifier that is not tied to your name, email or Apple Account. It is used to enforce sharing limits and to let you manage your own links, and it is not created until the first time you use sharing. Requests also carry a Firebase App Check token that proves they come from a genuine copy of the app. If you subscribe to Pro, the app sends your signed App Store purchase record to the sharing server so it can confirm your Pro status.
Business card details you choose to enter (name, company, phone, email, website, logo) are shown on your shared pages and stored until you remove them. Shared pages count how many times they are opened; they do not identify who opened them. Across the puracam.com website, including shared pages, the server keeps daily totals of page visits, which site referred them (the domain name only), which pages, sections and videos were viewed, how long pages stayed open (in broad ranges) and which buttons were used, by country and by device type (iOS, Android or desktop). This uses no cookies or similar storage on your device, and no IP addresses, browser identifiers or link identifiers are kept. If you switch between Metric and Imperial on a shared page, that choice is saved in your browser only and is never sent to the server. Shared pages pick the default units from your country; the country is not stored for this.
Feedback you send (only if you use it)
When you use Settings → Report a bug or Request a feature and tap Send, the app sends what you wrote, the email address if you chose to enter one, and a short diagnostics block: the app version and build, device model, iOS version, language, whether you have Pro, and free storage. You can read the exact text under What gets sent before sending. No scans, photos or locations are included. The message is stored on the Puracam server on Cloudflare so I can read and reply to it, and it is used for nothing else.
3. What is not collected
- No advertising identifier. The app uses the analytics variant that does not read the IDFA, and ad personalisation signals are disabled in the build.
- No tracking. Puracam does not track you across other companies' apps or websites, and shares nothing with data brokers or ad networks.
- No account. There is no sign-up, so no name, email or password is collected for an account. Shared links use a random anonymous identifier instead; an email address is only kept if you choose to add one to feedback or to your business card.
- No sale of data. Your data is not sold or rented to anyone, for any price.
- No contacts, photos library, microphone or health data.
4. Your control
Usage analytics can be turned off at any time:
Settings → Share usage data
This is on by default. Turning it off stops usage events from being sent. If you would rather it were off, switch it off the first time you open the app — nothing else in Puracam depends on it, and every feature keeps working.
5. Device permissions
| Permission | Why | Required? |
|---|---|---|
| Camera | Capturing the scene and building the texture. Scanning is not possible without it. | Yes |
| Location (while using the app) | Tagging a scan with where it was taken so your library can be shown on a map. | No — decline it and everything else still works |
6. Purchases
Puracam Pro is sold as an auto-renewing subscription through Apple. Payment is handled entirely by Apple: card numbers, billing addresses and Apple Account details never pass through the app and are never visible to me. The app only learns whether an active subscription exists. Apple's handling of that transaction is covered by Apple's Privacy Policy.
7. Who else is involved
Analytics and crash data are processed by Google LLC as the operator of Firebase, acting on my instructions, and may be stored on Google servers outside your country, including in the United States. See Firebase privacy information. No other third party receives analytics or diagnostic data from Puracam.
Shared links are stored and served by Cloudflare, Inc., acting on my instructions, on its global network; see Cloudflare's Privacy Policy. The anonymous sign-in and app verification used for sharing are provided by Google Firebase. Feedback you send from the app is stored on the same Cloudflare service.
To tell you when a new version is available, the app asks Apple's public App Store lookup service which version is current, at most once a day. The request contains only Puracam's App Store ID and your device's region code — no identifier, usage data or scan content — and is handled under Apple's Privacy Policy.
8. How long data is kept
Scans stay on your device until you delete them or remove the app — there is no expiry and no copy elsewhere, except for scans you have shared as a link. A shared copy is kept until its link expires or you delete the link, whichever comes first, and is then removed from the servers. Analytics and crash records are retained by Firebase according to its retention settings, currently the default period, after which they are deleted automatically. Feedback messages are kept while they are useful for following up, and are deleted on request.
9. Children
Puracam is not directed at children under 13, and no data is knowingly collected from them.
10. Your rights
Because Puracam has no account, the only things kept on a server are scans you share as a link and feedback you choose to send, so most requests are things you can carry out yourself and immediately: your content is deleted by deleting scans or the app, shared copies by deleting the link, and collection is stopped by the Settings switch above. To have a feedback message deleted, write to the address below.
Depending on where you live — for example under the GDPR in the European Economic Area and the United Kingdom, or the CCPA in California — you may also have the right to ask what diagnostic data relates to your installation, to have it deleted, or to object to its processing. Write to the address below and I will respond. Because the identifier is random and not linked to you, I may need the identifier from your device to locate any records at all.
11. Changes to this policy
If the app starts collecting something new, this page will be updated and the date at the top changed before that version ships. Material changes will also be noted in the App Store release notes.
12. Contact
Questions about privacy, or a request under section 10:
support@puracam.com
Pham Quoc Hoa — individual developer, Vietnam.