|
| 1 | +> [!IMPORTANT] |
| 2 | +> SecureFolderFS is currently in the <kbd>Beta</kbd> development stage and may have occasional stability issues. |
| 3 | +> Developers are not responsible for the loss or corruption of data. |
| 4 | +
|
| 5 | +<p align="left"> |
| 6 | + <img src="assets/SecureFolderFS_Header.png" /> |
| 7 | +</p> |
| 8 | + |
1 | 9 | <p align="center"> |
2 | | - <h1 align="center">SecureFolderFS</h1> |
| 10 | + <a style="text-decoration:none" href="https://github.com/securefolderfs-community/SecureFolderFS/releases/latest"> |
| 11 | + <img src="https://img.shields.io/github/v/release/securefolderfs-community/SecureFolderFS" /> |
| 12 | + </a> |
| 13 | + <!--<a style="text-decoration:none" href="https://github.com/securefolderfs-community/SecureFolderFS/actions/workflows/ci.yml"> |
| 14 | + <img src="https://github.com/securefolderfs-community/SecureFolderFS/actions/workflows/ci.yml/badge.svg" /> |
| 15 | + </a>--> |
| 16 | + <a style="text-decoration:none" href="https://crowdin.com/project/securefolderfs"> |
| 17 | + <img src="https://badges.crowdin.net/securefolderfs/localized.svg" /> |
| 18 | + </a> |
| 19 | + <a style="text-decoration:none" href="https://discord.gg/NrTxXpJ2Zj"> |
| 20 | + <img src="https://img.shields.io/discord/926425949078159420?label=Discord&color=7289da" /> |
| 21 | + </a> |
| 22 | +</p> |
| 23 | + |
| 24 | +SecureFolderFS helps you **keep your files private**. |
| 25 | +Safeguard your data with **cutting-edge** cryptographic algorithms that **seamlessly secure** your data thanks to **on-the-fly encryption**. |
| 26 | +**Built from the ground up** to be safe, our **advanced** file system engine ensures that only the specific sections of your data necessary for viewing are decrypted. |
| 27 | +This **groundbreaking approach** allows SecureFolderFS to achieve **exceptional performance** without sacrificing security. |
| 28 | + |
| 29 | +*When trust is broken, encryption is not.* |
| 30 | +SecureFolderFS cannot provide anyone with the decryption keys to your vaults without your credentials *(not even the authors)*. |
| 31 | +This ensures that your data will always stay secure. |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +## Try out SecureFolderFS |
| 36 | + |
| 37 | +<p align="left"> |
| 38 | + <a style="text-decoration:none" href="https://apps.microsoft.com/store/detail/securefolderfs/9NZ7CZRN7GG8" target="_blank"> |
| 39 | + <img src="https://github.com/Rise-Software/Rise-Media-Player/assets/74561130/3d7edcaf-26d8-4453-a751-29b851721abd" alt="Get it from Microsoft" /> |
| 40 | + </a> |
| 41 | + <a style="text-decoration:none" href="https://github.com/securefolderfs-community/SecureFolderFS/releases/latest"> |
| 42 | + <img src="https://github.com/Rise-Software/Rise-Media-Player/assets/74561130/60deb402-0c8e-4579-80e6-69cb7b19cd43" alt="Get it from GitHub" /> |
| 43 | + </a> |
3 | 44 | </p> |
4 | 45 |
|
| 46 | +### Building from source |
| 47 | + |
| 48 | +> Below are the instructions for building the cross-platform SecureFolderFS app (main app). |
| 49 | +> For other projects, such as the SDK, libraries and CLI programme, you can build as normal with the latest .NET SDK, without the prerequisites listed below. |
| 50 | +
|
| 51 | +#### 1. Prerequisites |
| 52 | + |
| 53 | +- .NET 10 SDK or later |
| 54 | +- [`Uno.Check`](https://platform.uno/docs/articles/uno-check.html) |
| 55 | +- Git |
| 56 | +- For Android builds: |
| 57 | + - Android SDK and platform tools (Android Studio) |
| 58 | + - JDK 17+ |
| 59 | +- For iOS builds: |
| 60 | + - Xcode (on macOS) |
| 61 | + |
| 62 | +#### 2. Set up IDE |
| 63 | + |
| 64 | +> *Using Visual Studio 2026 is recommended for SecureFolderFS development.* |
| 65 | +> *Otherwise, you might see issues with the .NET SDK.* |
| 66 | +
|
| 67 | +##### Visual Studio |
| 68 | + |
| 69 | +- Microsoft Visual Studio with .NET |
| 70 | +- Workloads: |
| 71 | + - ".NET desktop development" (desktop target, including all platform SDKs) |
| 72 | + - ".NET multi-platform app UI development" |
| 73 | + - "WinUI application development" |
| 74 | +- Uno Platform extension |
| 75 | + |
| 76 | +##### Rider |
| 77 | + |
| 78 | +> [!NOTE] |
| 79 | +> Running the Windows App SDK version of SecureFolderFS (targetting `net10.0-windows10.0....`) is not supported in Rider. |
| 80 | +
|
| 81 | +- JetBrains Rider with .NET |
| 82 | +- Android SDK/JDK (and Xcode SDK on macOS) are configured correctly in Rider settings (for mobile targets) |
| 83 | + |
| 84 | +#### 3. Run `Uno.Check` |
| 85 | + |
| 86 | +> *This step is optional, but is good practice to check you installed all the necessary dependencies to build SecureFolderFS on your computer.* |
| 87 | +
|
| 88 | +Run the following command and follow all of its instructions (you need to have `Uno.Check` installed!) |
| 89 | + |
| 90 | +``` |
| 91 | +uno-check |
| 92 | +``` |
| 93 | + |
| 94 | +See the [official `Uno.Check` guide](https://platform.uno/docs/articles/uno-check.html) for tips. |
| 95 | + |
| 96 | +#### 4. Clone the repository |
| 97 | + |
| 98 | +> [!WARNING] |
| 99 | +> Ensure that you initialise and update the submodules when cloning SecureFolderFS. |
| 100 | +> Otherwise, you will run into issues as SecureFolderFS will not have all the dependencies it needs to build. |
| 101 | +
|
| 102 | +> *Click the "Code" button on the top of this page to make cloning easier.* |
| 103 | +
|
| 104 | +```bash |
| 105 | +git clone --recurse-submodules https://github.com/securefolderfs-community/SecureFolderFS |
| 106 | +cd SecureFolderFS |
| 107 | +``` |
| 108 | + |
| 109 | +#### 5. Build the project |
| 110 | + |
| 111 | +- Open the solution `SecureFolderFS.Public.slnx` |
| 112 | +- Set `SecureFolderFS.Uno` as the startup project if you are building for desktop targets (i.e. macOS, Linux or Windows) |
| 113 | +- Set `SecureFolderFS.Maui` as the startup project if you are building for mobile targets (i.e. Android, iOS or iPadOS) |
| 114 | +- Select the appropriate target device / platform |
| 115 | +- Run with debugger |
| 116 | + |
| 117 | +### How to use SecureFolderFS |
| 118 | + |
| 119 | +SecureFolderFS is a modern vault programme that helps you keep your files safe. |
| 120 | +From the app's UI, you can create new vaults to store items securely. |
| 121 | + |
5 | 122 | <p align="center"> |
6 | | - <img src="assets/SecureFolderFS_Hero.png"> |
| 123 | + <img src="assets/SecureFolderFS_Demo_MyVaults.png" width="750" /> |
7 | 124 | </p> |
8 | 125 |
|
9 | | -[](https://discord.gg/NrTxXpJ2Zj) |
10 | | -[](https://crowdin.com/project/securefolderfs) |
11 | | - |
| 126 | +> *For example, the 'Secrets' vault is locked behind a password.* |
| 127 | +> *You must enter the correct password, which was set when the vault was created, to decrypt and unlock the vault.* |
12 | 128 |
|
13 | | -### About |
| 129 | +<p align="center"> |
| 130 | + <img src="assets/SecureFolderFS_Demo_SecretsVault.png" width="750" /> |
| 131 | +</p> |
14 | 132 |
|
15 | | -SecureFolderFS helps you keep your files private. Safeguard your data with cutting-edge cryptographic algorithms that seamlessly secure your data thanks to the on-fly encryption. Built from the ground up to be safe, our advanced file system engine ensures that only the specific sections of your data necessary for viewing are decrypted. This groundbreaking approach allows SecureFolderFS to achieve exceptional performance without sacrificing security. |
| 133 | +> *Upon entering the correct password, the vault will then open.* |
| 134 | +> *You can press 'Open vault' to open the vault's mounted file-system in your file manager of choice.* |
| 135 | +> *When you're done accessing your files, you can press the 'Lock vault' button and the vault file-system will close.* |
| 136 | +> *The vault remains offline on your disk and your data is encrypted in a way that cannot be accessed by any programme, past, present or future.* |
16 | 137 |
|
17 | | -When trust is broken, encryption is not. SecureFolderFS cannot provide anyone with the decryption keys to your vaults without your credentials (not even the authors). This ensures that your data will always stay secure. |
| 138 | +### Supported platforms |
18 | 139 |
|
19 | 140 | > [!NOTE] |
20 | | -> The software is currently in the Beta stage which might have occasional stability issues. Developers are not responsible for the loss or corruption of data. |
| 141 | +> The purpose of SecureFolderFS is to provide a professional, usable 'safe folder' experience that supports all major platforms with a consistent feature set. |
| 142 | +> SecureFolderFS can run on a huge range of devices (as supported by Uno Platform, MAUI and the .NET Runtime). |
21 | 143 |
|
22 | | -### Try out SecureFolderFS |
| 144 | +SecureFolderFS can run on the following platforms: |
| 145 | +- Android, iOS and iPadOS: SecureFolderFS provides its encryption services across all modern mobile devices using Microsoft's MAUI platform. |
| 146 | +- Windows: SecureFolderFS provides an extremely feature-rich experience on Windows, built from-the-ground-up using the Windows App SDK. |
| 147 | +- macOS: SecureFolderFS lets you safeguard your data on macOS, with built-in support for Touch ID, made possible by Uno Platform. |
| 148 | +- Linux: SecureFolderFS provides the same rich feature set that exists on other platforms to Linux devices. |
23 | 149 |
|
24 | | -<a href="https://apps.microsoft.com/store/detail/securefolderfs/9NZ7CZRN7GG8" target="_blank"> |
25 | | - <img src="assets/MSStore_Download.png" width=140> |
26 | | -</a> |
| 150 | +## Contributing |
27 | 151 |
|
28 | | -You can also download from *[Releases (Source code only)](https://github.com/securefolderfs-community/SecureFolderFS/releases)*. |
29 | | -<br> |
30 | | -*More platforms including Android, iOS, and Linux are coming in the foreseeable future.* |
| 152 | +All contributions are welcome! |
| 153 | +Whether you want to suggest a new feature or report a bug, you can open a new *[issue or feature request](https://github.com/securefolderfs-community/SecureFolderFS/issues/new/choose)*. |
| 154 | +Take a look at our *[contributing guidelines](CONTRIBUTING.md)* to learn about best practices when creating a new pull request. |
31 | 155 |
|
32 | | -### Translating and contributing to SecureFolderFS |
| 156 | +### Translating |
33 | 157 |
|
34 | | -You can update existing localization strings by heading to our *[Crowdin project page](https://crowdin.com/project/securefolderfs)*. To add a new language to the list, please request it to be added *[here](https://github.com/securefolderfs-community/SecureFolderFS/issues/50)*. New translations will be synced periodically to the main repository. |
| 158 | +You can update existing localisation strings by heading to our *[Crowdin project page](https://crowdin.com/project/securefolderfs)*. |
| 159 | +To add a new language to the list, please request it to be added *[here](https://github.com/securefolderfs-community/SecureFolderFS/issues/50)*. |
| 160 | +New translations will be synchronised periodically to the source code, and new releases will always contain the latest translations. |
35 | 161 |
|
36 | | -All contributions are welcome! Whether you want to suggest a new feature or report a bug, you can open a new *[Issue or Feature Request](https://github.com/securefolderfs-community/SecureFolderFS/issues/new/choose)*. Take a look at our *[Contributing Guidelines](CONTRIBUTING.md)* to learn about best practices when creating a new Pull Request. |
| 162 | +--- |
37 | 163 |
|
38 | | -Check out *[BUILDING](BUILDING.md)* to prepare your environment for developing SecureFolderFS. |
| 164 | +<p align="center"> |
| 165 | + <img src="assets/SecureFolderFS_Hero.png" /> |
| 166 | +</p> |
0 commit comments