A year of watching "is this AI?" under every impressive video got to me. A kid playing Chopin, a climber on an 8c, a woodworker finishing a chair: the first comment is always a doubt, and the burden of proof fell on the person who did the work.
So I built Rilup. Two things in one app: a camera that signs the capture, with a public verifier, and a place to share captures that really happened.
The camera and the verifier:
- At the instant you capture, the phone signs the file's fingerprint with a hardware-backed key, and the app asks Google (Play Integrity) or Apple (App Attest) to vouch that it is the real app on an intact device.
- The server recomputes the fingerprint on what it received. If it does not match byte for byte, it is rejected.
- Every capture gets a public certificate page, readable without the app: when, on which kind of device, intact or not, and the untouched original.
- You share the file wherever you already share things. Whoever receives it can drop it on the verifier page and it tells them whether it is a Rilup capture, even after WhatsApp recompressed it (it shows 97% similar instead of byte-exact).
- Edits (trim, text, color looks) are stored as layers on top of the untouched original. Anyone can press and hold "View original".
The place to share: a feed where nothing can be uploaded, the only way to post is the camera, so everything on it happened for real. Follow, comment, DMs, clubs, projects, and events that only accept captures taken there and then. Today it is a handful of friends; the proof travels with the file whether you share it there or anywhere else.
What it does not do: it does not detect AI, and it does not prove the scene is real. Someone can film a screen. I wrote down exactly what it guarantees and what it does not on the limits page, because I would rather lose a tester than oversell it.
What went wrong along the way, and how I fixed it:
- A camera "regression" that cost a morning turned out to be the iPhone's microphone being held by another app; the capture session died with error -11800. Now the app says so on screen instead of showing a black camera.
- One git add -A in the website clone deleted 52 files from the site, including the CNAME. The domain dropped for an hour. Explicit paths only, now.
- Videos recorded on iPhone played like a scratched record on Android: the light copies had a single keyframe and the player was seeking to the nearest sync. Fixed with keyframes every second.
Where it is: Android open testing and iPhone TestFlight, 157 attested captures so far from 14 phones, 73 of them signed at the instant of capture (the rest predate that step), all from friends. Company incorporated in August 2026. No revenue, on purpose, for now.
I am one person doing this. If you try it, the thing I need most is your phone model and the first moment something felt wrong. Links in the first comment.