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

Feature/Proposal: Encrypted Ephemeral File Storage (EEFS) #89

Open
seripap opened this issue Jul 1, 2019 · 0 comments
Open

Feature/Proposal: Encrypted Ephemeral File Storage (EEFS) #89

seripap opened this issue Jul 1, 2019 · 0 comments

Comments

@seripap
Copy link
Collaborator

seripap commented Jul 1, 2019

Proposal for Encrypted Ephemeral File Storage (EEFS)

Purpose: Provide a sharable link that allows temporary file download and/or image viewing.

Specs

  1. On file upload, assign a unique UUID to the file.
  2. 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
  3. 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 the room-id)
  4. After 24 hours (default), the file will be removed from memory.
  5. 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

  1. File upload handling will change when the file is pinned.
  • If the file has been pinned, it will be re-uploaded with the file-key as its encryption key.
  • Users who are currently in the chatroom will automatically receive the file-key while new users will be required to enter the file-key in order to access the file.
  1. A pinned file cannot be unpinned- only after the set duration of file expiration has passed.

  2. File keys cannot be changed and must have a minimum character count of 12

Target release: v2.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant