The project is under development and is in the pre alpha stages. Below would be the target versions for security updates. However, vulnerability reports and security advice is welcome.
| Version | Supported |
|---|---|
| 1.x.x | ✅ |
| 0.x.x | ❌ |
If you discover a security vulnerability, please follow the steps below:
-
Do Not Open a Public Issue: Please do not publicly disclose the vulnerability through GitHub issues. Instead, report it directly as described below.
-
Contact: Report the vulnerability by emailing at
saksham2005mittal@gmail.comwith the subject "dFSN - Security Vulnerability Report".Include the following details in your email:
- A detailed description of the vulnerability.
- Steps to reproduce the issue.
- Any potential fixes or mitigations you are aware of.
-
Response Time: As of now I am a solo developer working on this project and would try my best to respond at the earliest.
This project is a decentralized file storage network designed with the following key security principles:
-
Encryption:
- All file chunks are encrypted before being stored on the storage nodes. The encryption key is stored locally in the user's SQLite database.
-
Ownership Tokens:
- Each chunk of data is associated with an ownership token to prevent unauthorized access.
-
Secure Communication:
- Communication between components (e.g., user client, tracking server, storage nodes) is implemented using gRPC with appropriate encryption.
-
Node Authentication:
- Storage nodes and tracking servers authenticate themselves using heartbeat signals to maintain a trusted network.
-
Isolation of Sensitive Data:
- Sensitive data, including encryption keys, is never stored on the storage nodes or tracking servers, ensuring data privacy.
To ensure the security of your setup, please follow these recommendations:
- Regularly update your tracking server and storage node software to the latest version.
- Enable automatic updates for dependencies in the
CMakeLists.txtfiles to include patched versions. - Periodically audit your SQLite database for integrity and backup encrypted data securely.
Contributions to improve the security of this project are most welcome. Please:
- Follow the development guidelines in
CONTRIBUTING.md. - Propose security enhancements by opening a pull request or contacting via email.
Thank you for this project secure!