Secure File Storage is a secure, encrypted file storage solution developed in Python. It combines strong encryption, modular architecture, logging and basic access control.
Project description
Secure File Storage
Secure File Storage is a secure, encrypted file storage solution developed in Python. It combines strong encryption, modular architecture, logging and basic access control.
Table of Contents
Features
- AES-256 encryption for secure file storage
- User authentication with hashed passwords and session management
- Encrypted file metadata stored securely in SQLite
- Audit logging capturing file access and user actions
- Containerized deployment using Docker and Docker Compose
- Continuous Integration and Deployment pipeline with linting and tests (GitHub Actions)
Security Principles
- Confidentiality: AES-256 encryption ensures stored files remain confidential
- Integrity: File hashing verifies integrity of uploaded files
- Accountability: Access logs provide traceability of user actions
- Compliance: Architecture inspired by ISO27001 and GDPR principles to promote security-by-design and privacy awareness
DevOps
- Docker for consistent environment and easy deployment
- Unit tests with Pytest
- CI/CD pipeline configured with GitHub Actions for automated testing and code quality checks
Usage
Access web interface at http://localhost:5000.
Pip package
pip install secure-file-storage-milosz275
secure-file-storage
Docker
From Docker hub container registry:
docker pull mlsh/secure-file-storage:latest
docker run -d -p 5000:5000 mlsh/secure-file-storage:latest
From GitHub container registry:
docker pull ghcr.io/milosz275/secure-file-storage:latest
docker run -d -p 5000:5000 ghcr.io/milosz275/secure-file-storage:latest
Manually on cloned repository:
export COMPOSE_BAKE=true
docker-compose build
docker-compose up
Manual setup
git clone https://github.com/milosz275/secure-file-storage.git
cd secure-file-storage
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install --upgrade pip
python3 secure_file_storage/src/setup_env.py
gunicorn --log-level warning -w 4 -b 0.0.0.0:5000 --timeout 120 secure_file_storage.main:app
Constraints
The repository does not address a need to create separate databases for dev, prod and other purposes. It should be addressed in next project iterations.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file secure_file_storage_milosz275-0.3.0.tar.gz.
File metadata
- Download URL: secure_file_storage_milosz275-0.3.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eaed4ddee6236957cd22576cb770ea0f7d8d17588804a561ea0a08bb66f15cc
|
|
| MD5 |
7e4f2225aca476a8cba6072ac594e979
|
|
| BLAKE2b-256 |
40ad4cf76858abf95dbb0f54df96b0851d5b035de0cde3addcf5a2cb235427a0
|
Provenance
The following attestation bundles were made for secure_file_storage_milosz275-0.3.0.tar.gz:
Publisher:
python-publish.yml on milosz275/secure-file-storage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
secure_file_storage_milosz275-0.3.0.tar.gz -
Subject digest:
1eaed4ddee6236957cd22576cb770ea0f7d8d17588804a561ea0a08bb66f15cc - Sigstore transparency entry: 235341611
- Sigstore integration time:
-
Permalink:
milosz275/secure-file-storage@ec78d564653782431fbbbd4122e854ad0fbf2c93 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/milosz275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ec78d564653782431fbbbd4122e854ad0fbf2c93 -
Trigger Event:
release
-
Statement type:
File details
Details for the file secure_file_storage_milosz275-0.3.0-py3-none-any.whl.
File metadata
- Download URL: secure_file_storage_milosz275-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad668a297541e086ba24c1be600ddd57d1dc5e77d1ab9ae5b00e0082fe2684e2
|
|
| MD5 |
0f46c75010267c3e7f1e5fd0d052cfa0
|
|
| BLAKE2b-256 |
855fb6cc2054cfe3b41a4ce30198991f48759855868dab02853e014add976126
|
Provenance
The following attestation bundles were made for secure_file_storage_milosz275-0.3.0-py3-none-any.whl:
Publisher:
python-publish.yml on milosz275/secure-file-storage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
secure_file_storage_milosz275-0.3.0-py3-none-any.whl -
Subject digest:
ad668a297541e086ba24c1be600ddd57d1dc5e77d1ab9ae5b00e0082fe2684e2 - Sigstore transparency entry: 235341618
- Sigstore integration time:
-
Permalink:
milosz275/secure-file-storage@ec78d564653782431fbbbd4122e854ad0fbf2c93 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/milosz275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ec78d564653782431fbbbd4122e854ad0fbf2c93 -
Trigger Event:
release
-
Statement type: