Skip to main content

Secure File Storage

CI Build and Push to GitHub Container Registry Build and Push to Docker Hub CodeQL Advanced Upload Python Package Build and Deploy Docs

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.

Metadata

Release files for secure-file-storage-milosz275 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for secure-file-storage-milosz275 0.3.0
File Size Uploaded
secure_file_storage_milosz275-0.3.0.tar.gz 12.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for secure-file-storage-milosz275 0.3.0
File Interpreter ABI Platform
secure_file_storage_milosz275-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.7 kB

Release files / secure_file_storage_milosz275-0.3.0.tar.gz

Download URL secure_file_storage_milosz275-0.3.0.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1eaed4ddee6236957cd22576cb770ea0f7d8d17588804a561ea0a08bb66f15cc
BLAKE2b-256 checksum
How to use checksums
40ad4cf76858abf95dbb0f54df96b0851d5b035de0cde3addcf5a2cb235427a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 11, 2025.

Transparency log

Release files / secure_file_storage_milosz275-0.3.0-py3-none-any.whl

Download URL secure_file_storage_milosz275-0.3.0-py3-none-any.whl
Size 15.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ad668a297541e086ba24c1be600ddd57d1dc5e77d1ab9ae5b00e0082fe2684e2
BLAKE2b-256 checksum
How to use checksums
855fb6cc2054cfe3b41a4ce30198991f48759855868dab02853e014add976126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 11, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page