Fix name-typo in NEWS
[coquelicot.git] / TODO
1 Future plans
2 ============
3
4 Here are a list of welcome changes to [Coquelicot]:
5
6  * Implement optional client-side encryption
7
8    Using the new HTML 5FileAPI, encryption and decryption of the files
9    could be performed client side instead of server side. See
10    the [up-crypt] proof of concept from hellais on how this could be done.
11
12  * More flexible expiration
13
14    It might be interesting to also offer a calendar for specifying
15    an exact date after which the file will be unavailable.
16
17  * Hide file size (padding)
18
19    There is currently a real close mapping from original file size to
20    stored file size. Original file size will also be recorded in server
21    logs. Padding could be used to improve this situation.
22
23  * Investigate more secure encryption algorithm
24
25    Coquelicot currently uses AES-256-CBC. [AES is getting weaker] and
26    [CBC mode is subject to Padding Oracle attacks].
27
28  * Make a usable Gem
29
30    Most Ruby stuff is installed using Gem, so Coquelicot should also be
31    installable that way. What is mostly missing is an easy way to create
32    a default configuration and directories to hold uploaded files and
33    temp. data.
34
35  * Better support consecutive uploads
36
37    Previous settings are lost when uploading several files in a row. This
38    is clearly suboptimal user experience.
39
40 [up-crypt]: https://github.com/hellais/up-crypt
41 [Coquelicot]: https://coquelicot.potager.org/
42 [AES is getting weaker]: https://www.schneier.com/blog/archives/2009/07/another_new_aes.html
43 [CBC mode is subject to Padding Oracle attacks]: http://www.limited-entropy.com/padding-oracle-attacks