Skip to content

Latest commit

 

History

History
123 lines (90 loc) · 2.71 KB

File metadata and controls

123 lines (90 loc) · 2.71 KB

DEVELOPMENT.md – Development Guidelines for SecureVault

Product: SecureVault – Encrypted Data Vault
Owner: BYLICKILABS – Intelligence Systems & Communications
Revision: 2025-01-01


1. Objective

This document defines the architectural principles, coding standards, workflows, and build pipelines to ensure secure, maintainable, and high-quality development of SecureVault.

Focus: Security, Quality, Maintainability


2. System Architecture

2.1 Overview

SecureVault architecture follows:

“All Security Local – Zero Cloud – Zero Telemetry”

Main components:

  • UI Layer (PySide6 Desktop GUI)
  • Core Services (Cryptography, Vault control, secure file operations)
  • Persistence Layer (Encrypted *.svc container)
 UI (PySide6)
      ↓
 Core Services (Encryption, Vault Logic)
      ↓
 .svc Secure Container

2.2 Container Design

  • Single encrypted vault file on disk
  • AEAD encryption (AES-GCM or XChaCha20-Poly1305)
  • Structured header + compressed JSON payload

See: CRYPTOGRAPHY


3. Cryptography Integration

  • Argon2id password-based key derivation
  • AEAD ensures confidentiality + integrity
  • No plaintext persistence
  • Memory cleared immediately on lock or exit

Security-by-Design is mandatory.


4. Code Style & Standards

4.1 Python Guidelines

  • Follows PEP-8
  • Typing required
  • UI separated from core logic
  • Encourage pure functions
Category Standard
Naming snake_case for variables and functions
Classes PascalCase
Line length Max. 120 characters
Comments English only
Encoding UTF-8

4.2 Security Rules

  • No sensitive data in logs
  • Do not serialize key material
  • Handle exceptions with secure logging only

5. Testing Strategy

  • Unit tests for core encryption logic
  • UI smoke tests recommended
  • Static analysis integrated

Planned:

  • Fuzz testing for container parser

6. Build Pipeline

6.1 Local Setup

python -m venv venv
source venv/bin/activate

# Windows: venv\Scripts\activate
pip install -r requirements.txt

6.2 Production Build

  • PyInstaller or Nuitka for packaging
  • Code signing for distribution (planned)

CI/CD roadmap: 1️⃣ Static analysis
2️⃣ Unit tests
3️⃣ Packaging
4️⃣ Signing
5️⃣ Release publishing


7. Responsibilities

Role Responsibility
Lead Developer Security, Architecture, Code Quality
Contributor Features & Bug Fixes
Security Reviewer Crypto audits & threat evaluation

Collaboration via GitHub pull requests and formal reviews.


SecureVault development follows a single mandate:
Build trusted security — no shortcuts.