OpenArchive / Save-app-ios

Secure Mobile Media Preservation
https://open-archive.org/
GNU General Public License v3.0
10 stars 3 forks source link

Use more ProofMode data points #277

Open tladesignz opened 4 months ago

tladesignz commented 4 months ago

When an photo or video is captured in-app, use

tladesignz commented 4 months ago

@foundscapes, I updated ProofMode to the latest version and added support for location and network data for pictures/video taken in-app.

Technically, though, we cannot identify, if the media was created in-app, since everything happens in the picker library.

That just stores a new pic in the phone gallery and preselects it.

The workaround now is, that all assets, which come from the picker (we can distinguish that) and have a creation timestamp which is less than 5 minutes ago will get the location and network data proof.

Since proof is (typically) generated right after import, that's a limitation which seems usable to me.

The upside is, users can also take pictures with the proper camera app, not justed the speced down in-app camera-widget and have proof generated, if they're quick enough.

The downside is, users could import media from anywhere into their gallery. If they manage to have the creation date set to now then location and network proof is also added. (Needs to be tested, what iOS does with the creation timestamp when random images from the Internet are imported. Does it use any date it gets from the image content or HTTP headers, or does it use the current time?) Seems like a sensible trade-off to me, though.

If you really want to make sure, that it's only about content, which users create within the app, we need another approach: Direct camera integration into the app via another import option (gallery/documents/camera) without the detour via the picker library.

I'll release a TestFlight. Version 3.3.0, build 110. Should be available by tomorrow.

foundscapes commented 4 months ago

@tladesignz What I don't understand is how would proofmode gather verification metadata (such as cell tower gps, weather metadata, etc.) if it doesn't capture it at the exact time of capture? The entire point of verification would be moot.

tladesignz commented 4 months ago

weather metadata, etc

I don't know where you got the idea of weather metadata. That doesn't exist. Forget it.

@tladesignz What I don't understand is how would proofmode gather verification metadata (such as cell tower gps, weather metadata, etc.) if it doesn't capture it at the exact time of capture? The entire point of verification would be moot.

At "the exact time of capture" nothing can be captured. At that point in time, the photo/video is taken, nothing else. Everything else comes afterwards.

And esp. location metadata takes a few seconds to gather. GPS is expensive (in terms of energy consumption), so GPS chips are usually off.

If you tell the system, you want a location fix,

This will take several seconds, at least until we have a fix.

So in the end, the gap between image taken and proof generated is at least about 15 seconds.

We will only be able to achieve that by directly integrating the camera into the app, not by relying on what the picker library offers. The workflow there is completely different. (as said: it will store the taken image/video in the gallery, then preselects it for you to finally hand it over to the Save app.)

Ah, one other thing I forgot to mention:

I didn't integrate any notarization services, yet. Even the ProofMode app itself doesn't offer that by default, only as an option hidden deep down in a settings menu.

I think, that needs more explanation and definitely needs its own toggle, so users actually understand what they're getting themselves into.