Hello Leonistas,

So, in my groggy hours this morning, an idea struck me. Many (myself included) use Leo as a PIM. I, for one, use workbook.leo, synced with a cloud sync platform, to keep my info updated across all my workstations.

In light of recent government-sponsored programs in the US (not that I wish to start a political debate here), perhaps it's not a terrible idea to write a plugin that hooks into the loading and saving code, encrypting/decrypting your data?

This could be controlled on a per .leo file basis, perhaps with some @settings. The algorithm and passkey could be stored in the outline itself, as a part of the @settings, and would automagically encrypt the .leo on save. This wouldn't touch any @files/@autos/etc., just the .leo. I can imagine there being a new field in the .leo structure, something like <encrypted value="1" algorithm="rsa-256"> at the head of the file, followed by the rest of the file, structure intact, encrypted as a single string, stored in a tag <contents value="onecrazylongstring">. On load, if it sees that tag, it would prompt for the passkey, and unencrypt. If incorrect, it would simply bail saying that it couldn't load the file.

Opening on command line would simply require an additional command-line parameter: leo --passkey "blahblahblah" myLeoFile.leo

Worth an excursion after 4.11 is out the door? I'd love to work on this, and have been looking for an excuse to play around with Leo's hooks a bit more, as well as with encryption in python.

Comments, concerns, questions? I see this as a plugin, but it may require minor changes to core, for example, the command-line argument bit.

-->Jake

--
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to