freedomofpress / securedrop-client

a Qt-based GUI for SecureDrop journalists 📰🗞️
GNU Affero General Public License v3.0
42 stars 39 forks source link

[securedrop-export] Add option to keep a device unlocked on sd-devices #1729

Open sssoleileraaa opened 2 years ago

sssoleileraaa commented 2 years ago

Follow-up for https://github.com/freedomofpress/securedrop-export/pull/39

We will need to create a followup issue with a new status code to inform the client that the device is already unlocked and no user passphrase is necessary.

The issue for this was created here: https://github.com/freedomofpress/securedrop-client/issues/1734

Important: If the device is unlocked by an external program we will still lock it after a file transfer. This is to err on the side of caution.

No issue was created for this at the time because it was something I thought we wouldn't want to support. But once freedomofpress/securedrop-client#1734 is done, we can revisit this topic and potentially add a new option to keep the device unlocked while continuing to default to locking the device after a transfer completes. If we did this, I think it would make sense to say something more like "Keep device unlocked" rather than "Remember password."

User story

As a journalist who wants to export multiple documents, I'd like to keep the luks-encrypted thumb drive unlocked until I finish all my exports.

sssoleileraaa commented 2 years ago

As a journalist who wants to export multiple documents, I'd like to keep the luks-encrypted thumb drive unlocked until I finish all my exports.

This user story will at least partially be addressed by adding support for exporting multiple files from a source.

gonzalo-bulnes commented 2 years ago

Some of the new status codes (e.g. Status.DEVICE_WRITABLE) introduced in freedomofpress/securedrop-export#105 will enable detecting unlocked devices early in the export process if that's something we want to do. That could allow to offer different paths depending on the initial state of the device: like not re-locking a device that wasn't unlocked as part of the export.

No action yet, just flagging that current work will make this easier is we ever want to proceed.

rocodes commented 9 months ago

Now that #1777 has been merged, this change will be straightforward to implement, but still needing some UX consideration:

The UX question to consider is where this option should be presented. The only page that users are guaranteed to see is the Preflight page. Everything else is conditional on what state their device is in. The easiest option is probably to add a "Review before Exporting" page that offers this checkbox, along with a summary of what is about to be exported, and then updating the "nextID" method so that everywhere we currently jump straight to the Export Done page, we would go to the Review page instead The only reason I didn't implement it already is it means an extra click.