Files
RecipesCam/docs/privacy-policy.html
T
admin 27a9dfb65f Ship HDF EFFECT to PRO only, and clean the build for Play
Rename LIGHT GLOW to HDF EFFECT and gate it behind PRO: LITE renders the
chip greyed out with a PRO tag and cannot open its slider; restoration of
older settings that carry hdf > 0 still blocks export in LITE.

Play/licence pass:
- drop unused permissions (ACTIVITY_RECOGNITION, READ_MEDIA_AUDIO/VIDEO,
  SYSTEM_ALERT_WINDOW) and requestLegacyExternalStorage
- rename the Leica sims to LC STREETLIFE CLASSIC/VIVID, drop the brand from
  comments; fix app name text, canvaskit copyright, LICENSE owner
- remove expo-image-picker and expo-sensors (no JS import), delete dead
  exports (computeMatrixTint, cinemaSeasonName, base64 helpers,
  formatCoordinate)
- versionCode 3 / versionName 1.2.1, drop the personal email from About
- add docs/privacy-policy.html for the Play listing

Size: R8 + shrinkResources + bundle compression + ABI trim, 161 MB -> 76 MB.
2026-09-15 11:36:52 +07:00

111 lines
5.3 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>RecipesCam — Privacy Policy</title>
<style>
:root { color-scheme: light dark; }
body { max-width: 46rem; margin: 0 auto; padding: 2rem 1.25rem 4rem;
font: 16px/1.65 -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
h1 { font-size: 1.6rem; margin-bottom: .25rem; }
h2 { font-size: 1.1rem; margin-top: 2rem; }
.meta { color: #666; font-size: .9rem; }
code { background: rgba(127,127,127,.15); padding: .1em .3em; border-radius: 4px; }
</style>
</head>
<body>
<h1>RecipesCam — Privacy Policy</h1>
<p class="meta">Applies to the Android apps <strong>RecipesCam</strong> (com.locphamtran.recipescamera, free/LITE)
and <strong>RecipesCam Pro</strong> (com.locphamtran.recipescamera.pro, paid/PRO).<br>
Effective date: 14 September 2026 · Last updated: 14 September 2026</p>
<p>RecipesCam is a camera app: it applies film-style recipes to photos you take or pick, and saves the
result to your device. It is built and published by an individual developer ("we"). This policy explains
what the app accesses and what happens to that data.</p>
<h2>Summary</h2>
<ul>
<li>The app has <strong>no user accounts</strong> and <strong>no server of ours</strong>.</li>
<li><strong>No photo, location, or usage data is transmitted to us or to any third party.</strong> There is no
analytics, advertising, crash-reporting, or tracking SDK in the app.</li>
<li>Everything the app does — capture, processing, watermarking, saving — happens on your device.</li>
</ul>
<h2>Data the app accesses, and why</h2>
<table>
<tr><th align="left">Access</th><th align="left">Permission</th><th align="left">Purpose</th></tr>
<tr>
<td>Camera</td><td><code>CAMERA</code></td>
<td>To take photos and show the live preview. Photos stay on your device.</td>
</tr>
<tr>
<td>Photos and videos in your library</td>
<td><code>READ_MEDIA_IMAGES</code>, <code>READ_MEDIA_VISUAL_USER_SELECTED</code>,
<code>READ_EXTERNAL_STORAGE</code> (Android 12 and older)</td>
<td>To let you pick an existing photo to edit, and to show your library inside the app's picker.</td>
</tr>
<tr>
<td>Save processed photos</td>
<td><code>WRITE_EXTERNAL_STORAGE</code> (Android 9 and older) and the system media-library APIs</td>
<td>To write the processed photo and its metadata back to your gallery.</td>
</tr>
<tr>
<td>Photo location metadata (EXIF GPS)</td><td><code>ACCESS_MEDIA_LOCATION</code></td>
<td>To let a photo you imported keep its location when you export it again. Read on device only.</td>
</tr>
<tr>
<td>Your location</td>
<td><code>ACCESS_COARSE_LOCATION</code>, <code>ACCESS_FINE_LOCATION</code></td>
<td>Used only when you switch on the optional location watermark, to stamp the place name onto the
photo. Location is never collected in the background, never stored beyond the photo you asked to
geotag, and never sent to us.</td>
</tr>
<tr>
<td>Vibration</td><td><code>VIBRATE</code></td><td>Haptic feedback on shutter and controls.</td>
</tr>
<tr>
<td>Network</td><td><code>INTERNET</code></td>
<td>Present for the app's runtime, which is built on React Native. The app itself makes no network
requests and contacts no server we operate.</td>
</tr>
</table>
<p>The app does not request access to your microphone, contacts, calendar, health data, SMS, call logs,
files outside your photo library, or your physical activity, and it does not use the
"display over other apps" permission.</p>
<h2>Storage on your device</h2>
<p>Your recipes, presets, favourites and app settings are stored locally in the app's private storage on
your device. Removing the app removes them. Photos you take or export live in your own gallery, under
your control; the app keeps no copy of its own.</p>
<h2>Sharing</h2>
<p>When you tap Share, the app hands the chosen photo to the app you pick through Android's standard share
sheet. What that app then does with the photo is governed by its own privacy policy. We receive nothing.</p>
<h2>Third-party software</h2>
<p>The app is built with open-source libraries (React Native, Expo, Skia, VisionCamera, and others). They
run locally inside the app and do not collect data on our behalf. Their licences and copyright notices are
listed in the app under <em>Settings → About → Open-source licences</em> and in the
<code>THIRD_PARTY_NOTICES.md</code> file shipped with the source.</p>
<h2>Children</h2>
<p>The app is not directed at children under 13 and does not knowingly collect personal information from
anyone, including children.</p>
<h2>Your rights and choices</h2>
<p>Because no personal data leaves your device, there is nothing for us to delete or export on your behalf.
You can revoke any permission at any time in Android's <em>Settings → Apps → RecipesCam → Permissions</em>;
the app will keep working minus the feature that needs it. Uninstalling the app deletes all data it stored
locally.</p>
<h2>Changes to this policy</h2>
<p>If this policy changes, the effective date above is updated and the new text is published at the same
URL before it takes effect.</p>
<h2>Contact</h2>
<p>Questions about this policy or the app: <a href="mailto:tranloclqd@gmail.com">tranloclqd@gmail.com</a>.</p>
</body>
</html>