Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Persist spaced repetition #183

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open

Conversation

BenWestgate
Copy link
Owner

A general solution for spaced repetition training on luks2 encrypted image files placed in $HOME/Persistent (for lack of a better idea now) has been written.

It took me way too long for such a simple feature but it seems like it will pay dividends with #81 where in order to use it a second substantially different passphrase must also be memorized. Without spaced repetition, I didn't feel confident users could quickly memorize two 5 word passphrases to open the Real vs Decoy wallet vaults.

All .img files keep separate intervals based on their success rate, all can be skipped with Esc or 'Cancel' except for Persistent Storage.img since we know they know it and advise them to delete it. Skipping counts as success for the interval adjustment. Starting with the Persistent Storage unlocked is counted as a success for the Persistent Storage interval adjustment.

Intervals are based on due dates, so users will probably be bombarded with training after unlocking their screen or starting Tails after not using it a while until their intervals have grow to be longer than time spent away. Since they on average double each success, this should not be too long.

For example if the interval reaches 30 minutes after Bails is setup, and they follow instructions to test their memory everyday, it will be
60m - Day 2
2h - Day 3
4h - Day 4
8h - Day 5
16h - Day 6
32h -Day 7
Day 8 - no prompt
64h - Day 9
Day 10-12 - no prompt
Day 13 - 128 hours
Day 14-20 - no prompt

Which actually matches our advice: "Everyday at first, then eventually once per week."

and after another success or two we could suggest that they destroy their written copy.

Closes #181

@BenWestgate BenWestgate added enhancement New feature or request priority: medium Issues raised by 1 tester labels Jul 5, 2024
@BenWestgate BenWestgate added this to the L1 (BETA) milestone Jul 5, 2024
@BenWestgate BenWestgate self-assigned this Jul 5, 2024
@BenWestgate BenWestgate linked an issue Jul 5, 2024 that may be closed by this pull request
Copy link
Owner Author

@BenWestgate BenWestgate left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review LGTM, untested.

Suggest only testing that the Persistent Storage.img training works correctly, as there won't be any others until #81.

@BenWestgate BenWestgate linked an issue Jul 5, 2024 that may be closed by this pull request
@BenWestgate
Copy link
Owner Author

Current issues with this branch:

  • Can't skip non-Persistent Storage images.
  • Does not shuffle the spaced repetition calls yet.
  • Bitcoin Core does not launch if started from an already set up Persistent Storage.
  • Have not fully tested from blank installation or the persistence after a reboot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority: medium Issues raised by 1 tester
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Option to Restart Spaced Repetition Display passphrase entry prompt sooner
1 participant