Bibliography & Source Resources

This page provides references to external resources, standards, and technologies used by WAuth.

Encryption Standards

Fernet Specification

WAuth uses Fernet as its encryption standard. Fernet is a symmetric encryption format built on AES-128-CBC with HMAC-SHA256 authentication.

AES-128-CBC

The Advanced Encryption Standard (AES) with 128-bit keys in Cipher Block Chaining (CBC) mode.

  • NIST Standard: FIPS 197

  • RFC Reference: RFC 3602

SHA-256 Key Derivation

Encryption keys are derived by hashing a salted machine identifier with SHA-256.

  • NIST Standard: FIPS 180-4

  • Python Implementation: hashlib.sha256()

Technologies

SQLite

Lightweight, serverless, self-contained SQL database engine used for persistent secret storage.

Pydantic v2

Data validation and settings management using Python type annotations.

cryptography

Package designed to expose cryptographic primitives and recipes to Python developers.

wsqlite

SQLite ORM with Pydantic integration, used by WAuth for database operations.

Code Quality Tools

Pylint

Source-code, bug and quality checker for Python.

pytest

Full-featured Python testing framework.

Black

The uncompromising Python code formatter.

Ruff

Extremely fast Python linter, written in Rust.

Bandit

Security linter for Python code.

Documentation Tools

Sphinx

Python documentation generator.

reStructuredText

Markup syntax used for Python documentation.

Best Practices

Secret Management

  • Never commit secrets to version control

  • Use environment-specific secret stores (Docker secrets, HashiCorp Vault)

  • Rotate secrets regularly and update the encrypted vault

  • Back up the database file if you need to preserve secrets

Machine-Locked Design

The machine-locked approach is intentionally restrictive:

  1. Prevents accidental leakage across environments

  2. Encourages proper secret management in production (Docker, Vault)

  3. Simplifies local development without complex setup

For production multi-node deployments, consider:

Author

William Rodríguez — wisrovi Technology Evangelist & Open Source Advocate

🔗 LinkedIn 🐙 GitHub