darkwire.io
darkwire.io copied to clipboard
Feature/Proposal: Encrypted Ephemeral File Storage (EEFS)
Proposal for Encrypted Ephemeral File Storage (EEFS)
Purpose: Provide a sharable link that allows temporary file download and/or image viewing.
Specs
- On file upload, assign a unique UUID to the file.
- On command,
/pin <UUID> <file-key> <{options}>the file will be pinned to the top of the chatroom. This command will also temporarily store the file for up to 24 hours (default), via memory - After pinning, the file will be available through a public URL:
darkwire.io/<room-id>/<uuid>?key=file-key(if a key is not provided, the user will be redirected to theroom-id) - After 24 hours (default), the file will be removed from memory.
- If options is provided, it will change the behavior of the file pinning
Options
-
d(duration, optional): anywhere between 1m - 24hr. Will use shorthand annotation and support minutes and hours only (m|h, ex:1m / 2m / 24h)
Other notes
- File upload handling will change when the file is pinned.
- If the file has been pinned, it will be re-uploaded with the
file-keyas its encryption key. - Users who are currently in the chatroom will automatically receive the
file-keywhile new users will be required to enter thefile-keyin order to access the file.
-
A pinned file cannot be unpinned- only after the set duration of file expiration has passed.
-
File keys cannot be changed and must have a minimum character count of 12
Target release: v2.1