{"id":13549174,"url":"https://github.com/cloudflare/utahfs","last_synced_at":"2025-05-16T15:05:14.023Z","repository":{"id":37419598,"uuid":"270724802","full_name":"cloudflare/utahfs","owner":"cloudflare","description":"UtahFS is an encrypted storage system that provides a user-friendly FUSE drive backed by cloud storage.","archived":false,"fork":false,"pushed_at":"2024-09-26T15:08:04.000Z","size":19627,"stargazers_count":819,"open_issues_count":14,"forks_count":48,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-30T23:12:09.012Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudflare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-08T15:41:57.000Z","updated_at":"2025-03-16T14:03:30.000Z","dependencies_parsed_at":"2022-07-15T21:17:24.377Z","dependency_job_id":"e6fd14e2-0059-43f2-87b3-f324d2bec400","html_url":"https://github.com/cloudflare/utahfs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Futahfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Futahfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Futahfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Futahfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudflare","download_url":"https://codeload.github.com/cloudflare/utahfs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569126,"owners_count":20959760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:01:19.077Z","updated_at":"2025-04-07T00:16:42.154Z","avatar_url":"https://github.com/cloudflare.png","language":"Go","funding_links":[],"categories":["Go","Security \u0026 Privacy"],"sub_categories":["Privacy"],"readme":"UtahFS\n======\n\nUtahFS is a state-of-the art encrypted storage solution, meant to be similar to\nDropbox. It has a FUSE binding that creates a synthetic drive on the user's\ncomputer that they can interact with like an external hard-drive. Files stored\nin the drive are uploaded to a cloud storage provider, which means the drive\nwill never run out of space and minimizes the likelihood of any files being\nlost. However the files are encrypted such that the cloud storage provider knows\nalmost nothing about what's being stored.\n\n\nFeatures\n--------\n\n1. **Interchangeable Storage Providers.** For storing data in the cloud, UtahFS\n   uses *Object Storage*, which is cheap and commodified. Example providers\n   include: AWS S3, Google Cloud Storage, Backblaze B2, and Wasabi.\n2. **Very Very Strong Encryption.** The method of encryption hides the number of\n   files, file names, file contents, individual file size, and prevents any\n   modifications (including rollbacks!). The only information which is clearly\n   leaked is the maximum archive size: archives grow to fit new data, but won't\n   shrink if that data is deleted. Instead, that space is left allocated and\n   will be re-used if needed in the future.\n3. **Local Hardware allows Multiple Users and Improved Performance.** If the\n   user has server-like hardware on their LAN (Raspberry Pi / Intel NUC), this\n   can be used to coordinate multiple users operating in the same archive. It\n   can also dramatically improve the performance of uploads, because a user can\n   upload large amounts of already-encrypted data to the server over the fast\n   local network, and let the server take over the much slower upload to the\n   cloud provider.\n4. **Archive Mode.** The client can be configured to guard against deleting or\n   overwriting existing files, while still allowing new files to be created and\n   old files to be moved around. This helps protect against accidental data\n   loss.\n5. **Oblivious RAM (ORAM).**  ORAM can be used to hide the access pattern of\n   data from the cloud storage provider, so the provider only sees the *amount*\n   data is accessed. *(Access pattern: Which pieces of data are being accessed,\n   and whether the access was a read or write.)*\n\n\nHow to Use\n----------\n\nSetup documentation can be found in the `docs/` folder.\n\n\nFuture Work\n-----------\n\n1. **Reliability strategies for the WAL.** Changes are buffered in a local\n   Write-Ahead Log (WAL) before being sent to the cloud storage provider. If the\n   disk that the WAL is stored on fails, it could become very difficult to\n   return the archive to a usable, partially-regressed state.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudflare%2Futahfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudflare%2Futahfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudflare%2Futahfs/lists"}