Privacy policy
Last updated: 2026-10-15
On-device photo processing
Watermark Remover detects, learns, and removes watermarks from your photos entirely on
your Android device. Source photos, learned watermark templates, and result photos are
never uploaded to any server for processing. You select a photo through Android's system
picker or share action; the app receives access to that selected file rather than broad
read access to your media library.
Optional reports
The app uses Firebase Anonymous Authentication and Firebase Firestore (collection
reports) for feedback, crash reports, out-of-memory reports, and Hardware
Test reports. Each of these can be disabled in Settings, and sending is always your
choice except where noted.
- Feedback: your typed message, app version, device model, Android
version, a build fingerprint, the processing engine in use, a redacted log snippet, and
the app's current display language. If you tick "Image details" before sending, it may
also include the current screen, current settings, and facts about the photos involved
in the current session (count, dimensions, MIME types, byte sizes) and about the
watermark template (detection score, quality, cleaned fraction, whether it was judged
periodic, source-image count, and how many images were dropped for budget). No photo
pixel data is ever included.
- Optional screenshot: feedback may include a screenshot you choose
to attach, stored in Firebase Storage under
reports/screenshots/<reportId>.png.
The local screenshot cache expires after 30 days.
- Crash, out-of-memory and interrupted-job reports: a stack trace or
thread name, and for an out-of-memory kill or an interrupted job, facts the operating
system records about the kill (importance, memory usage, description, timestamp). They
also include the phone's memory state when the report is prepared at the next launch
(total and available memory, whether the system is low on memory, and the app's own
memory use), and, for an interrupted job, which stage of the job was running. When the
same crash repeats within a few hours, only the first is sent and the next report
carries how many repeats were not sent. No image data. Automatic sharing can be disabled
in Settings.
- Removal failure reports: when a watermark removal or learning step
fails inside the app, it sends which stage failed (for example learning, locating the
mark, or filling), the processing engine, the number of pictures and their dimensions in
pixels, the memory state at the time, how long the step ran, and the type of error with
the app's own code locations. Never the picture, its name or location, and never the
error's text. Repeats of the same failure within a few hours are counted rather than
sent again. Sent under the same Settings switch as crash reports, and can be disabled
there.
- Hardware Test reports: device facts (model, manufacturer, chipset,
Android version, RAM, app version, and whether this build includes the on-device AI
model) and timing/prediction measurements from the on-device hardware check. No image
data of any kind. On by default; can be turned off in Settings.
- Self-test reports: once per install, and again after some app or
system updates, when the app is opened it can run a fixed test suite on itself and send the result: device model,
manufacturer, Android version, app version and build (including whether it has the
on-device AI model), per-step timings, memory figures (total and available memory,
whether the system is low on memory, and the app's own memory use), the device's thermal
state, the hardware-check device facts (such as chipset and RAM), how the app's previous
sessions ended (the exit reason, memory use and timestamp, and the system's short
description of the exit), pass/fail for each step (and, if the app's model-checking
helper stops unexpectedly, which built-in model and which phase it was in), and quality
scores measured on
test images built into the app. It also records that it started, with a small
report sent before the tests run, so a run that is interrupted is still visible. It runs
only while the app is open; if you leave the app, it stops and continues the next time you
open it. It
also includes a random identifier created once for this installation, so results from
the same device on different days can be compared. None of your photos, and
nothing derived from them, is measured or sent. Controlled by its own Settings toggle;
it is on by default only in builds distributed for a closed testing programme, and off
by default otherwise.
Every report also includes the app's currently-displayed language as a BCP-47 tag, and,
when it differs, your device's requested and default languages. Every report also
includes a report-format version number, the time it was created on your device, and,
for reports sent from the app's offline queue, how many times sending was attempted and
how long the report waited before it was sent.
Identifiers
No user account is required. Firebase creates an anonymous app-account identifier
(uid). Reports also include Android ID so related submissions can be grouped.
Reports include a random identifier generated once when the app is installed, which is
cleared when the app's data is cleared or the app is uninstalled. None of these is used as an advertising identifier or intentionally tied to
your name or email.
Advertising and analytics
The app does not include advertising SDKs, usage-analytics SDKs, or crash-analytics SDKs
(no Firebase Analytics, no Crashlytics — verified against the app's build configuration).
Google Play may separately process store-level data under Google's own privacy policies.
Storage and retention
Submitted reports are stored in Firebase Firestore; optional screenshots are stored in
Firebase Storage. A fixed server-side retention period is not currently published.
Your controls
- Disable crash, out-of-memory and removal-failure reporting in Settings.
- Disable Hardware Test reporting in Settings.
- Disable self-test reporting in Settings.
- Review feedback fields, including the "Image details" checkbox, and remove an
optional screenshot before sending.
Contact and deletion requests
Email scintech.dev@gmail.com for privacy questions and
requests concerning submitted data.
To have the data Watermark Remover collected about you deleted:
- Email scintech.dev@gmail.com
with the subject "Watermark Remover data deletion".
- Include the approximate date(s) you sent feedback and your device model, so the
reports can be matched — the app shows no account or identifier to quote.
What is deleted: every feedback, crash and hardware-test report stored under that
identifier (device model, OS and app version, diagnostics, free-text feedback, image
metadata) and any screenshot attached to those reports. Requests are completed within
30 days. What is kept: nothing tied to you — your photos never left the device, and the
app stores no account. Independently of any request, attached screenshots expire after
30 days and unsent reports queued on the device are dropped after 14 days.