Coder Social home page Coder Social logo

guardianproject / proofmode-android Goto Github PK

View Code? Open in Web Editor NEW
193.0 17.0 40.0 22.17 MB

THIS REPOSITORY IS MIRROR OF: https://gitlab.com/guardianproject/proofmode/proofmode-android

Home Page: https://proofmode.org

License: GNU General Public License v3.0

Java 50.41% Shell 0.34% HTML 0.51% Kotlin 48.74%

proofmode-android's Issues

Make second step of sharing proof intuitive for users

The second step of sharing, after you tap ShareProof - how can we make the user experience of that step more intuitive - Eg, ShareProof should not appear as an option at that second step. Also can we limit the number of apps that appear at the second step? Can we make that window look a bit different so users don't get confused with previous step?

Add remote / cloud storage auto sync

  • Should support real-time backup of proof files and media to external storage (via USB or SD Card) and through remote cloud sync of some kind with minimal user interaction

Integrate with Keybase

It'd be nice if I could add my proofmode pubkey to my keybase account. Even nicer if I could set it to auto-upload proofs of everything I take to my keybase FS private directory. I don't know how possible it is for you to make this happen... should I instead be barking up the keybase tree?

let people know proofmode replaces camerav?

hey! we were just testing camerav through guardian project's f-droid repos only to discovered after some poking around that camerav's being replaced by proofmode.

but there was no sign of this anywhere the camerav's announcement nor the repo itself, and proofmode isn't included in that repo :)

Launch proofmode website

-- start with work on one pager
-- write content, feature app, library and partners
-- Case studies, demos of sample data
-- Nathan to start posting on how-to things on the github

Support ACTION_IMAGE_CAPTURE For Better Chain of Custody

One problem using FileObserver is that you have a bit of a race condition between your app and anything else (e.g., malware) that is also observing the filesystem. If the malware gets in first, it can tinker with the image before you sign it.

An alternative flow is to use ACTION_IMAGE_CAPTURE and a FileProvider, directing the camera app to save the photo to ProofMode's internal storage. Many camera apps will support this, though some won't. Then, the photo initially is purely under your control (barring root-powered malware), and you can do whatever you want with the image and proof process safely. Then, when ready, you can copy the photo out to DCIM/ProofMode/ or something. As an added bonus, this will work even if the camera app is configured to save its images by default somewhere other than DCIM/, missing your FileObserver.

Attached is a sloppy proof of concept, based on one of my book examples. It uses ACTION_IMAGE_CAPTURE to take a photo, directing the results to the app's internal storage. It then updates an EXIF header, copies the modified image out to DCIM/ChainOfCustody/, indexes it, and brings it up in an image viewer activity. This code sucks (e.g., won't handle configuration changes well with the background thread), but it demonstrates the concept. Where I have the background thread, you would tie into your existing ProofMode flow.

ChainOfCustody.zip

This is just a thought -- obviously, this is your app, and you may have your reasons for not wanting to have this option.

Add an FAQ (perhaps as a wiki page?)

I'm sure I'm not the only one who is wondering "Why not put the proof in the image metadata?" and "Okay, I grant that you can't have the signature be part of the thing signed, but you could just have the final signature mean 'the signature of this file when this signature is removed', or am I missing some nuance somewhere?"

It might save some work to have a place for those answers to live.

Integrate Google's SafetyNet API

  • provides verification that official ProofMode app was used
  • provides information about if device is rooted or otherwise modified
  • provides signed auto notarization of hashes by Googles server with timestamp and certificate

We won't use it to block use of ProofMode, and the user can disable it, but if this extra blob of data is not in the proofmode.csv it is a warning sign that the content should be closely scrutinized by the receiver by a human.

https://developer.android.com/training/safetynet/index.html
https://www.howtogeek.com/241012/safetynet-explained-why-android-pay-and-other-apps-dont-work-on-rooted-devices/

current time is wrong

"The current date/time is showing a placeholder (January 1 1970) instead of an actual time"

Improve "share proof" UX

how can we make the user experience of that step more intuitive - i think that it is the weak link in the current workflow from user perspective. Eg, can we not have ShareProof appear as an option at that second step? Also can we limit the number of apps that appear at the second step? Can we make that window look a bit different so users don't get confused with previous step?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.