# Virtual environment
.venv/
venv/

# Logs and runtime
app.log
app.pid

# Dev-mode marker (set by ./run.sh dev, cleared by start/stop)
.dev-mode
.fritzdump

# Python artifacts
__pycache__/
*.py[cod]
*.pyo
*.pyd

# Environment files
.env

# Editor files
.vscode/

database/geo_data.db
database/geo_data.db-shm
database/geo_data.db-wal

# Generated config files (created on first start)
database/backend_conf.json
database/trusted_organisations.json
# Operator IP labels (LAN IP -> friendly name), created when first saved
database/ip_labels.json

# Secrets (created on first start) - never commit
database/access_token.txt
database/secret_key
# Per-device sensor Fernet keys (0600, issued on device registration)
database/devices/
# FritzDump worker stdout/stderr (runtime diagnostics)
database/fritzdump_worker.log

# Capture modules under modules/ are tracked as git submodules (each its own
# repo with its own .gitignore, e.g. modules/FritzDump -> fritzdump.git). The
# parent stores only the submodule pointer, never a module's secrets or dumps.
