Encrypted previews with server-side encryption (SSE)
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
Hello everyone,
Nextcloud by design doesn't encrypt file previews. Every time I enable server side encryption, I forget that previews are enabled by default and, won't be encrypted. Preview files can be high-resolution thumbnails of original images and documents which could potentially expose sensitive user data. The question is why doesn't Nextcloud encrypt previews? I think encrypting previews will introduce a performance penalty due to decryption processes every time a folder is loaded, but this can be mitigated with various solutions such as browser caching, PHP server caching, or allowing administrators to set a maximum resolution for previews to fine-tune performance. All of these solutions in my opinion are better than totally disabling previews which users have been familiar with for decades and not having them when SSE is enabled is a serious user experiance issue.
If such enhancement is not possible. At least when the server-side encryption (SSE) feature is enabled, users should be warned about potential data leakage from these previews.
Best
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing Nextcloud's server-side encryption and preview subsystems, focusing on how previews are generated and stored when SSE is enabled. Determine whether encrypted previews or an administrator/user warning is feasible, and define the performance and security checks needed to consider the work complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100