Open Source · Free · Privacy-First

Prove your photos are real.

An open-source Android camera that embeds cryptographic proof of authenticity at the moment of capture. ECDSA P-256 signed. SHA-256 hashed. 14 physical sensors fingerprinted.

C2PA-inspired content provenance for the 3 billion Android devices that flagship-only solutions ignore.

verification.log
$ trueshot verify IMG_2026.jpg
Manifest found — TrueShot v0.0.4
SHA-256 hash a4f2e8...3b91c7 matches
ECDSA P-256 signature valid
14 sensors captured — plausible
Screen recapture score: 4/100
Sun position consistent with GPS+time
VERIFIED — 9/9 checks passed

How It Works

Six steps. One shutter press. Zero servers.

01

Capture

Take a photo with TrueShot, or enable Auto Mode to seal photos from any camera app automatically.

02

14 Sensors

Accelerometer, gyroscope, magnetometer, barometer, light, proximity, gravity, rotation vectors, step counter — all sampled at the exact instant of the shutter.

03

SHA-256 Hash

Cryptographic hash computed on JPEG bytes up to the end-of-image marker. Change one pixel, the hash breaks.

04

Build Manifest

Sensor data, EXIF metadata, device identity, screen risk score, and correlation hash — all packed into a JSON manifest.

05

ECDSA Sign

Private key in Android Keystore (StrongBox/TEE) signs the manifest. Key is hardware-bound and non-extractable.

06

Embed & Save

Signed manifest appended after JPEG EOI marker. Standard image viewers display the photo normally. Anyone can verify.

Features

14-Sensor Fingerprint

Every photo captures a physical snapshot of the device's environment at the exact moment of the shutter. 14 simultaneous sensor readings create a fingerprint that's extremely difficult to forge coherently.

Accelerometer
Gyroscope
Magnetometer
Barometer
Light
Proximity
Gravity
Linear Acceleration
Rotation Vector
Game Rotation
Geomagnetic Rotation
Gyroscope (Raw)
Magnetometer (Raw)
Step Counter

9-Point Verification

Every photo is checked against 9 independent criteria.

Manifest Present
Manifest Valid
SHA-256 Hash
ECDSA Signature
Key Attestation
Timestamps
Sensor Plausibility
Screen Detection
Sun Position

Screen Recapture Detection

Photographing a screen showing a deepfake is an attack that no existing provenance system addresses. TrueShot introduces a sensor-based approach: cross-correlating physical sensor readings at capture time to detect anomalies consistent with screen photography.

Six signals — proximity, light/ISO mismatch, magnetometer anomaly, gyroscope stability, dark room without flash, step counter — scored from 0 to 100. Uses physics, not pixels.

Cross-Device Corroboration

Multiple photos from different devices can be verified as mutually consistent — without any communication between devices.

Drop two or more photos on the web verifier. JavaScript compares barometric pressure (within 2 hPa), timestamps (within 5 min), GPS (within ~100m), and a correlation hash.

Auto Mode

Enable once, forget about it. TrueShot runs a background service that detects new photos from any camera app and creates a sealed copy with the full manifest. No workflow changes needed.

Verify a Photo

Drag and drop one or more TrueShot photos. ECDSA signature verification and SHA-256 hash recalculation run entirely in your browser via WebCrypto API. Your photos never leave your device.

Open Verifier

Security

Image Integrity

SHA-256 — Any modification to the image bytes, even a single pixel, produces a completely different hash.

Manifest Authenticity

ECDSA P-256 — Without the device's private key, forging a valid signature is computationally infeasible.

Key Protection

Android Keystore — Private key stored in TEE or StrongBox hardware. Non-exportable by design.

Anti-Replay

signedPayload — Each manifest binds to its specific image hash. Copying a manifest to another photo fails verification.

TrueShot provides tamper-evident cryptographic proof of capture. It does not guarantee content truthfulness, detect deepfakes, or constitute legal evidence.

Privacy by Default

GPS Off by default. Opt-in.
Analytics None. Zero tracking.
Cloud None. Everything local.
Third-party SDKs None. Fully auditable.
14 Gradle modules
~5.7k Lines of Kotlin
0 C++ / ML models
MIT License

100% Open Source

Every line of code is auditable. Every cryptographic operation is standard. Every privacy claim is verifiable.

View Source on GitHub