Skip to main content

IronDome

Local-first password vault — TUI | AES-128-CBC (Fernet) | PBKDF2-HMAC-SHA256 | OS biometric gate

PyPI Python Downloads License Stars

macOS Windows Linux Textual


Your bunkers. Your machine. Your rules.

IronDome encrypts your vault locally with AES-128-CBC (Fernet) and derives keys with PBKDF2-HMAC-SHA256 at 600,000 iterations. Full terminal UI. Unlock with Touch ID, Windows Hello, or fprintd. There is no account, no sync, and no telemetry: the package makes no network calls anywhere, verified by a test that fails the build if any module under password_manager/ so much as imports a networking library. Nothing leaves your device.

Quick Start

pip install IronDome
irondome

Two commands. Full TUI launches — splash screen, biometric auth, dashboard, vault browser, password generator.

First-time setup:

irondome-cli create bunker
irondome

Security

  • AES-128-CBC encryption via Fernet
  • PBKDF2-HMAC-SHA256 with 600,000 iterations (OWASP 2023)
  • No network calls anywhere in the package — verified by a test that fails if any module imports socket/http/urllib/requests
  • Master password never stored — only a PBKDF2 digest is written to disk, and there is no server to send it to
  • Machine-scoped metadata — the stored master-user record is wrapped with a key derived from /etc/machine-id; the vault itself is protected by your master password
  • Biometric gate — an OS authentication gate (PAM / Touch ID / Windows Hello) in front of the keyring-stored vault key. It is an access gate, not key material
  • Two-factor mode — biometric gate + master password
  • 24-character recovery code (XXXX-XXXX-XXXX-XXXX-XXXX-XXXX format)
  • Adaptive lockout — progressive brute-force protection
  • 30-minute sessions with auto-lock

Terminal UI

IronDome's primary interface is a full Terminal UI built with Textual:

  • 12 screens — splash, login, dashboard, vault, detail, generator, save, settings, backup, status, help, confirm
  • Keyboard-driven — arrows, Tab, Enter, Esc, hotkeys for every action
  • Command palette — Ctrl+P fuzzy search across all commands
  • Themed TUI — dark theme, dome green, amber warnings, red threats
  • Security controls — masked input, alternate screen buffer, clipboard auto-clear (30s), signal handlers, mlockall swap avoidance (TUI only, best-effort)

CLI Mode

For scripts and automation:

irondome-cli create bunker       # First-time setup
irondome-cli open airspace       # Authenticate (30-min session)
bunker create                    # Quick-create password entry
bunker open                      # List all entries
bunker open github               # Search by name
bunker fortify                   # Encrypted backup
irondome-cli close airspace      # Lock everything

Cross-Platform

Platform Biometric Status
macOS Touch ID Full support
Windows Windows Hello Full support
Linux fprintd (fingerprint) Full support
SSH Password fallback Works

IronDome vs Cloud Managers

IronDome Cloud Managers
Data Your machine only Their servers
Network No network calls anywhere in the package, verified by test Always
No server Master password never written to disk; nothing to send it to "Trust us"
Machine-scoped metadata Master-user record wrapped with a machine-id key No
Open source GPL-3.0 Rarely
Cost Free $3-5/month

What IronDome does not do

  • AES-128. Fernet splits its 32-byte key into a 16-byte AES key and a 16-byte HMAC key, so the block cipher runs with a 128-bit key, not a 256-bit one.
  • The biometric check is not cryptographic. The key sits in the OS keyring under your login credentials, not under your fingerprint.
  • No hardware security module. Machine scoping reads /etc/machine-id (mode 0444, world-readable). No TPM, no Secure Enclave.
  • nuke cannot defeat an SSD controller. One random-overwrite pass, fsync, then unlink. On SSDs, CoW filesystems, or journaled ext4 the original blocks may survive.
  • No memory zeroing of the key. It is held as an immutable Python bytes inside a Fernet object.
  • No independent third-party audit. The project ships its own pytest suite, gated in CI before publish, but no external review. Treat this as beta software.

License

GPL-3.0 — free to use, modify, distribute. Derivatives must remain open source.


Created by King Hippopotamus
No servers. No cloud. No compromise.

Metadata

Release files for IronDome 3.2.1

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

Source distribution (sdist)

Source distribution for IronDome 3.2.1
File Size Uploaded Provenance
irondome-3.2.1.tar.gz 87.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for IronDome 3.2.1
File Interpreter ABI Platform
irondome-3.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 185.0 kB

Release files / irondome-3.2.1.tar.gz

Download URL irondome-3.2.1.tar.gz
Size 87.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5ae4674a8422e2e5e23f9099c298fd0c0f30010bded8ece6ec534730dbff7df0
BLAKE2b-256 checksum
How to use checksums
5cede0045559d882387eebd19355e170051eb05f8c88561db5597e9b4c433b6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / irondome-3.2.1-py3-none-any.whl

Download URL irondome-3.2.1-py3-none-any.whl
Size 97.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d472d40b9afc1ea411d9d18316b64b5b6593a4fb32e0123615c13933a60f7d18
BLAKE2b-256 checksum
How to use checksums
d0812abb1a5c0e8aff4c59cef192a0bd84f054e2e1ba0f6e6ba58f013e19b275
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for IronDome 3.2.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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