Slashdot Reader Builds a Photo-Verification App for iPhones (nerds.xyz) 53
Long-time Slashdot reader BrianFagioli is announcing that he's released a new iPhone app that creates a cryptographic witness for photos without uploading the original image.
The app hashes the file, signs the hash using a dedicated identity stored in Apple Keychain, and publishes the witness to Nostr relays while keeping the photo inside the app unless the user chooses to export it.
Rather than trying to determine whether a scene was genuine, the app — named Veridenz — answers a narrower question, by verifying whether a photo file matches the one that was originally witnessed. Users do not need a Nostr account because the app creates its own signing identity, keeping private documentation separate from a public Nostr profile.
"The developer does not collect any data from this app," says its page in Apple's iPhone store. The app's tagline is "Capture. Prove. Verify."
Rather than trying to determine whether a scene was genuine, the app — named Veridenz — answers a narrower question, by verifying whether a photo file matches the one that was originally witnessed. Users do not need a Nostr account because the app creates its own signing identity, keeping private documentation separate from a public Nostr profile.
"The developer does not collect any data from this app," says its page in Apple's iPhone store. The app's tagline is "Capture. Prove. Verify."
"Free" isn't free (Score:2)
even when the unlock is $1.99.
Re: (Score:2)
To be fair, I don't see Brian saying it is free.
The freeness claim appears to have been added by Slashdot editors.
Re: (Score:3)
And the name is terrible. (Score:2)
Weirdenz? WTF?11!! Should have called it "Fair Witness" or "Anne"!11!! .
No other way to sell it profitably to x.com.
But really, good job, it is an application domain with a future.
Re: (Score:2)
Maybe one has you.
What kind of hash? (Score:3)
I did not build Veridenz only for investigators or attorneys. I was thinking about ordinary situations where stronger documentation could become useful later. Contractors could document completed work, while landlords and tenants could record the condition of an apartment. Homeowners might capture insurance damage, delivery workers could document drop-offs, and online sellers could photograph valuable items before shipping them. Photographic& Digital Arts
This sounds like perceptual hashing would be more useful, specially since the use cases mentioned are unlikely to have proper chain of custody processes for evidence handling without accidentally altering image files during upload / exchange
Re: (Score:3)
Is it a hash of the actual file, or a perceptual hashing of the image scene?
It is a hash of the actual file.
Re: (Score:2)
Interesting software, and an important issue to tackle. Also, I think its harder than it might seem at first.
Re: What kind of hash? (Score:1)
Even one pixel changed in the photo would not longer be a match with a hash of the actual file.
Re: (Score:2)
Do you use on storage media that changes your files? The first medium induced bitflip is a reason to replace the medium for me.
Re: (Score:1)
This is the type of argument made by someone who has a vested interest in tampering with evidence. Of course it's fragile. That's the point.
Re: (Score:2)
Your mental gymnastics are truly impressive though!
Re: (Score:1)
If the cloud hosting tampers with the metadata, or re-compresses the image, changes formats, "optimizes" it, then it's been tampered with, period.
Re: (Score:2)
Also why do you think perceptual hashing won't detect doctored images? Besides stenography, what use is there in verifying an image file wasn't re-encoded if the actual image is unchanged?
Re: (Score:2)
Besides stenography
oops, typo: steganography
Re: What kind of hash? (Score:2)
Re: (Score:2)
If the hash changes, the file is no longer authetic. Who knows what the platform does with the image? Is it only recompressing or maybe messing with exif data? Is it just adding a logo or changing parts of the image? Hard to tell without a comparison with the original.
Re: (Score:2)
My thinking was this would be useful verify that an image hasn't been altered, for example, using AI to misrepresent a real life event. As someone else mentioned in another comment though, perceptual hashing isn't reliable at the moment.
Re: (Score:2)
Perceptual hashing is rarely about being hard to forge. Most uses are:
1) Own organization, e.g. deduplication in your photo library
2) Automatic content scanning for images that already were removed from the site
Breaking the hash is not too complicated for most systems, but in these applications the usual assumption is that there is no attempt.
You rather want watermarking techniques (see for example tree ring watermarking) to e.g. mark an image as AI and prevent people from removing that mark.
Re: (Score:2)
"Not hard to forge" may not be accurate. I meant not hard to remove, but I guess one could also try to forge a hash. I think people did a proof of concept, when Apple showed their client side scanning implementation.
Re: (Score:2)
Anyway, I did say 'in theory'. If it were more robust
Re: (Score:2)
There are always ways to remove watermarks. It only depends on how much you motivate people and how visible they are. If you block people from posting that image in their social feed they will be faster to remove the watermark than when you just use it to add an AI label. And if C2PA gets too much into the way of people, someone will leak their key or find flaws in their encryption. It has been done for DVD and BluRay, I wouldn't trust C2PA to be safe either, as soon as they create enough incentive for nerd
Re:What kind of hash? (Score:5, Insightful)
Of course it's fragile. That's the point.
No, you're not comprehending.
A fragile hash is almost useless. For example, you hash an image, then upload it somewhere. Somebody else saves the file, and without intentionally modifying it, uploads it to social media. Somebody checks the hash, and it's different, because all the social media sites re-encode the images to save bits.
Whereas, a more sophisticated perceptual hash would identify the plagiarism.
This is the type of argument made by someone who has a vested interest in tampering with evidence.
If you're gonna be an asshole, it helps not to also be a moron at the same time.
Re: (Score:2)
I don't think that's the goal of this project. This is more about being able to prove that the original file is genuine, say for legal reasons or so that a journalist can verify it with the person who took it. It's not for verifying social media copies.
Besides, nobody has managed to make a robust perceptual hash. It would be huge if someone figured it out.
Re: (Score:2)
being able to prove that the original file is genuine, say for legal reasons or so that a journalist can verify it with the person who took it
For the former, it's not useful for that. The file metadata already serves that role. The testimony of the person claiming it already will be the only evidence. Opposing council can say, "nu uh," and the Court is going to weigh "testimony by the creator" against "nothing." Testimony wins against nothing. Futhermore, "some guy made an app that has a database that I claim proves I took the picture" isn't actually different than "I claim I took the picture." You uploaded the picture first, that doesn't prove y
Re: (Score:2)
There is legal precedent for this. Canon makes cameras that make a cryptographic hash of the photos they take, which also includes the time, date, location via GPS, and camera/lens serial numbers. Forensics staff use it so that the defence can't claim they doctored the evidence, but some years ago it was discovered how to alter the images and re-compute the hash to match.
Re: (Score:2)
The point of verifying an original is not to have the verification stable after all modifications (and let it only be screenshotting) but to have a verification that can show an original file provided by the original author is authentic. You need the stable hashing if you want to trace where a file ends up (or detect if it contains unwanted content), but to proof what file is the original you want the fragile hash.
Re: (Score:2)
It's not hard to hash just the important bits - the image data and tables needed would be hashed, as well as certain portions of the metadata (e.g., GPS coordinates, creator, camera serial number and date/time). The hash is signed and stored with the file.
When you verify it,, you just have to parse the right parts out and hash them.
It's a common technique for files that can be legitimately manipulated in certain ways without changing the contents. You can even choose to re-sign a file without altering the o
Re: (Score:1)
First of all, I definitely am comprehending, both your fallacious argument and your attempt to gaslight me. You clearly read what I said, so you clearly understood it, then fired back with this stupid argument about a "perceptual hash" which is a fictional concept, and wouldn't be possible to actually make securely anyway.
"+5 Insightful" for that? That's bullshit, and you're a bad person.
7 digit ID counts as longtime? (Score:2)
Re: (Score:2)
The people who need this, don't need a iPhone app (Score:2)
They need it embedded in their SLRs. This needs to somehow be able to integrate into the cameras people use for business purposes. Also into security cams, etc; But this is a start, I am not knocking it at all. It just needs to spread like wildfire because what's coming as AI/cgi gets better is going to make everyone question all reality.
Re:The people who need this, don't need a iPhone a (Score:4, Informative)
The C2PA (Coalition for Content Provenance and Authenticity) standard is integrated into all high-end cameras already, starting by Sony since 2021; and in smartphones there is the Pixel 10.
Re: (Score:3)
Maybe I'm missing something, but it seems like this is just cloud storage for the md5sums of the images you've captured in the app. The signatures would be broken the moment you upload the images to pretty much everywhere that hosts images, these days.
It's pretty much useless unless you're absolutely sure you're sending the original image file via a method that avoids recompression. I guess there's a few niche use cases where this makes sense, but in most situations where you need to send photographic pro
Re: (Score:2)
this is the equivalent of mailing your own work to yourself in a sealed envelope: you can eventually prove that at a given date a specific version of that work existed and was in your control. it's a cheap version of copyright registration, only useful to disprove a possible later claim of authorship, provided you're ready to go to court and have got the means to do so by then.
Re: The people who need this, don't need a iPhone (Score:1)
Itâs limited by the fact that it requires the original picture, as any reposting or sharing of the picture will most likely change a few bits even though it still *looks* the same. So the origin can not be verified independently but only by the creator themselves.
Re: (Score:2)
... So the origin can not be verified independently but only by the creator themselves.
... which they can do that in front of a judge.
Re: (Score:1)
Better than the incessant torrent of "AI" spam that we're getting "officially" from the "editors".
what is the point of this? (Score:2)
Its not going to work on screenshotted reshares, so it can't verify the authenticity of a photo that is shared with me. All it can do is help me remember if I edited my own photos, which you can do without a hash and a signing key.
Okay, but what exactly is being verified? (Score:2)
Okay, but, and I'm trying to read this charitably... aren't you just verifying the presence of a file in your photo directory?
What about the existence of any given file gives you the provenance you need to prove "reality?"
Nostr (Score:2)
Huh. That's the first time I've ever heard of anyone using Nostr for anything. I'm glad to see someone is finding some use for it.
New? (Score:2)
*Yawn* (Score:2)
It's not like such things weren done a hundred times before. Every blockchain apologete tells that's one of the reasons why blockchains could be useful.
I don't have link right now, but one app was quickly ridiculed by someone signing all classic fine art with their key. The app can proof a file existed, but there is no way to proof ownership or if the file is unedited in an automated way.
Re: (Score:2)
Well, yes.
The benefit of blockchain is that the verification holds no (probitive) meaning until it is inserted into the public chain. As you stated, someone can go and sign all works hitherto unsigned and claim them as their own. Local timestamps can be altered by fiddling with the system clock.
And if the signing process is "fragile", all some signer will have to do is to edit an existing picture and change the hat on a member of the bored ape yacht club. Not that anyone would have thought of this ploy pr
Re: (Score:2)
The overall idea of such systems is:
1) You sign it (and can proof you had the file)
2) A third party signs it together with a timestamp.
Option 2) can be implement efficiently by a trusted thirdparty or inefficiently by blockchain together with a large proof-of-... system (usually proof-of-work) that does not require a trusted thirdparty.
The point is that 1) may be helpful to prove prior art, but not much more. To verify authorship and similar properties you again need a trusted thirdparty that can verify suc
Re: (Score:2)
To verify authorship and similar properties you again need a trusted thirdparty that can verify such properties.
Yes. Although blockchain can be very resource inefficient, it is decentralized. If that is any value to the process.
For example: I can file a patent. But if the USPTO has people beholden to my deep pocketed competitors, my application could always fall down behind a filing cabinet.
Re: (Score:2)
The only advantage of blockchain with proof-of-x is that you need to trust nobody. On the other hand, it is only secure as long as all people are working hard on competing with each other. If nobody is interested in mining bitcoin anymore, anyone who still has a miner could forge transactions. It's a game theoretic equilibrium that holds it alive that breaks down when too many people lose interest.
On the other hand some trusted authority that has something to lose can work. Certificate anchors in your brows
Wait A Second. What's The Point? (Score:2)
If my AI takes this app and refactors it in TypeScript so that every image the AI generates/alters gets hashed as an original, then all of this is more pointless than pissing in the wind.
As far as this apps stated purpose, this app is a complete waste of time. Almost certainly vibe coded too.
I could see this thing possibly being pivoted fro use as a copyrighting scheme or something. But, for AI proofing, it is an utter failure of an idea.