Proof Camera: Timestamp Hash
A photo or video that carries its time, its place and a hash you can verify.
com.ibrahimtxy.kanitkamera · Photography
File dates can be changed and images edited. This camera records each photo's or video's SHA-256 hash the moment it lands and chains it to the last, so any later change shows.
A matching hash shows the file is unchanged since its hash was recorded. It does not prove what the camera was pointed at and it is not a legal certification; time and place come from your device. Whether a court accepts it is for the court to decide.
What it does
- A timestamp camera: time, place (if you allow it) and hash are sealed with each photo or video; the original is never altered
- Stamped copies on demand: time, coordinates, altitude, speed, compass, a map QR code, your company name and logo; pick template, corner, colour, size, opacity, date format, filter
- Every stamped copy names the sealed original's hash, so it leads back to the proof
- Timestamped video from your phone's camera app: .srt subtitles and a stamped copy with the clock running on every frame; no camera or microphone permission
- Save or share the original byte for byte, a stamped copy, a copy without metadata or one with the position in EXIF, even right after a shot
- Named work sites, before/after pictures, gallery photos stamped with their own date (unverified)
- A clock check against the time of a fresh GPS fix
- One QR setup code shares company details, stamp style and sites with your team, no accounts
- PDF with your logo, company and title; CSV, .xlsx, a KMZ map and a zip package with SHA256SUMS that standard tools check
- Mock-location detection, cases and an open-case reminder
- Your records, photos and videos are kept whether or not you watch an ad
How you set it up
Open a case — say “Flat 3B check-out” — and tap Take photo or Record video. Turn on position if the place matters. Copies and exports: on each record and the Report tab. It all works offline.
Who it is for
Tradespeople, landlords, drivers and anyone who documents damage or delivery.
What it does not do
- It does not judge what a photo or video shows; a visible watermark goes on a separate copy.
- It asks for no account. No sign-up, no password.
- The developer collects no personal data and adds no analytics or crash reporting. In the free version the Google Mobile Ads SDK collects IP address, app interactions, diagnostics and device IDs (see Data safety).
- The free tier shows Google AdMob ads: a bottom banner, rewarded ads you start yourself and an “Ad”-labelled card inside the list; no full-screen ads between pages or on launch. Paid members see no ads and no ad request is made.
Version history
0.9.0 (2026-10-26)
- New: stamped video copy — the clock running on every frame (counted back from the end of the clip), position, your company details and the sealed original's hash. Re-encoded on this phone; the sealed clip never changes.
- Save or share the stamped video copy and watch its progress; for clips up to 10 minutes.
- Fix: on some days the open-case reminder did not come at the hour you chose; the app now checks every hour.
0.8.0 (2026-10-25)
- New: stamped copies with date, time, position, altitude, speed, compass, a map QR code, your company name and logo, in your style. The sealed original never changes.
- Share the original, a stamped copy, a copy without metadata or one with the position in EXIF, even after a shot.
- Work sites, before/after pictures, a team setup QR code and a clock check against GPS time.
- PDF with your logo, company and title; CSV, .xlsx, a KMZ map, a zip package with SHA256SUMS and .srt video subtitles.
0.7.0 (2026-10-09)
- Tap a locked feature's note for an optional rewarded ad that unlocks it; skip it and the lock stays.
0.6.0 (2026-10-02)
- New: record video. Your phone's camera app records the clip and it is sealed into the same hash chain as your photos, stamped when it ends. No camera or microphone permission.
- New: Save a copy writes the original file byte for byte to a place you pick and checks the copy against its hash.
- Mock-location detection: no position is written; the record says why.
- Results appear above the ad strip; for paid members the ads SDK no longer starts at launch; ad and language fixes.
0.5.0 (2026-10-02)
- New: mock-location detection. If the phone reports that the position came from a mock-location app, no position is written; the record and the report say why. No new permission.
- Results appear above the ad strip; saving a case's name and note shows a confirmation.
- A late ad card no longer shifts the screen; changing the language keeps you on the same tab.
- Paid members: the ads SDK no longer starts at launch; no full-screen ad when memory is low. Updated the ads library.
0.4.0 (2026-09-27)
- Results of your actions (saved, added, limit reached) now always appear above the ad strip.
- Saving a case's name and note now shows a confirmation.
- A late-loading ad card no longer shifts the screen (no accidental taps).
- Updated the ads library.
- Changing the language keeps you on the same tab.
- With paid membership the ads SDK no longer starts at launch.
- No full-screen ad loads when memory is low (crash fix).
Permissions
| Permission | Why |
|---|---|
ACCESS_COARSE_LOCATION | Only to stamp an approximate place on a record you create, and only while you are creating it. It is never read in the background and never sent anywhere. |
ACCESS_FINE_LOCATION | To record where an entry was taken. Location is read ONLY while you are recording, stays on the device and is never sent anywhere; if you decline, the app keeps working without location. |
ACCESS_NETWORK_STATE | So the ad library can see the connection state. Your entries do not use the network. |
INTERNET | For ads ONLY. Your entries never leave the device and the app has no server of its own. |
POST_NOTIFICATIONS | To remind you about the dates and reminders you set yourself. |
READ_BASIC_PHONE_STATE | So the ads library can tell Wi-Fi from mobile data. It grants no access to your phone number, IMEI or call log; the app does not declare it, the ads library adds it. |
RECEIVE_BOOT_COMPLETED | So your reminders keep working after the phone restarts. |
VIBRATE | To vibrate when a notification arrives. |
WAKE_LOCK | So the phone does not fall asleep in the middle of a check. The app does not ask for this itself; the background work library (Android Jetpack WorkManager) adds it. |
BILLING | So you can buy a paid membership through Google Play. The app does not declare this permission itself; the Google Play Billing library adds it. Your payment details (card, address, invoice) never reach the app and are never seen or stored by it — Google Play takes the payment. All the app learns is whether your membership is active. |
AD_ID | Ads in the free tier are served by Google AdMob, which may read the device advertising ID (AAID). The app does not declare this permission itself; the ads library adds it. Paid members make no ad request at all. You can reset or delete the ID in Settings › Google › Ads. |
Source
This app reads NO outside data: time from the phone's clock, place and heading from its sensors, the SHA-256 hash from the file itself. Your records stay on your phone; the app sends them to no server.
Proof Camera: Timestamp Hash is an independent app. It is not affiliated with, endorsed by, or connected to any institution, authority, brand or company mentioned in it.