# File Repository Overview

Overview of how to use file repositories.

# Preamble

File repositories are external storage provider (e.g. Google Cloud Storage or AWS S3) that can be used to upload, download and share encrypted data. The file is split up in chunks, encrypted in the browser, and then uploaded to the repository. The data is uploaded directly to the repository without passing through the Psono server. The file repository provider has no way to gain access to the decrypted files. File repositories can be shared with other users, allowing them to use the configured repository to upload data themself.

# Supported Provider

Currently Psono supports:

Provider Mechanism Config
AWS S3 Signed URLs Config
Azure Blob Storage Shared Access Signature Config
DO Spaces Signed URLs Config
Google Cloud Storage Signed URLs Config
Other S3 compatible storage Signed URLs Config

# Permissions

File repository configuration can be shared with other users to allow them to upload something to the providers themself, without the hassle to configure the repository on their own too. The possibility to download a file is controlled similar to the capabilities to access secrets by the share permissions.

The permissions in detail:

Shared Read Write Grant Resulting Rights
No - - - Can only download a file (if the share permissions allow him that)
Yes No No No Can upload files to this file repository, yet no administrative capabilities like accessing the config or sharing the repository with others
Yes Yes No No Can read the configuration of the external storage provider
Yes No Yes No Can update the configuration of the external storage provider
Yes No No Yes Can change the rights of himself and other users and share the repository with other users


Usually the sole creation of a permission without read, write and grant is what you want, allowing the other user to use the file repository to upload data.