[encryption] store keys by fileId instead of path
@mejo- is already working on this.
Since Apr 16, 2026.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
[!TIP]
Help move this idea forward
- Use the 👍 reaction to show support for this feature.
- Avoid commenting unless you have relevant information to add; unnecessary comments create noise for subscribers.
- Subscribe to receive notifications about status changes and new comments.
Is your feature request related to a problem? Please describe.
In Collectives, we can have different paths to a file by user (when a user changes their user_folder user setting). This leads to inaccessible files with server-side encryption as the encryption keys are stored by file path. The broken user experience is tracked in https://github.com/nextcloud/collectives/issues/2326 and https://github.com/nextcloud/collectives/issues/2284.
Describe the solution you'd like
In order to fix this, we should switch to fileId based key storage instead of file path based key storage.
Describe alternatives you've considered
- We could use the storage path instead for
ISystemMountPointpaths, but this would come with its own problems. E.g.appdatais excluded from encryption and Collectives files live inappdatadirectory. - We could introduce a way to map different user mountpoint paths to the same encryption key path.
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.
Assessment
This issue has not been assessed yet.