feat(machine): production safety — disable mock fallback and ndebit
When VITE_ALLOW_MOCK_FALLBACK is unset (production default), the ATM now shows a maintenance screen instead of silently falling back to mock services when hardware or Lightning initialization fails. Also disables ndebit/CLINK in production since the static ndebit pointer is replayable — cash-in uses LNURL-withdraw only (single-use by design). - Add allowMockFallback config field (Electron IPC + types) - Add strict config validation (no localhost, require private key) - Gate all catch-block fallbacks behind allowMockFallback - Disable debit approval service and ndebit generation in production - Add maintenance screen in App.vue when initError is set Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
34179a4e34
commit
e460765355
7 changed files with 238 additions and 120 deletions
|
|
@ -41,6 +41,15 @@ VITE_LIGHTNING_PUB_API_URL=http://localhost:1776
|
|||
# If not set, generates ephemeral identity on each restart
|
||||
VITE_ATM_PRIVATE_KEY=
|
||||
|
||||
# =============================================================================
|
||||
# Mock Fallback (Production Safety)
|
||||
# =============================================================================
|
||||
|
||||
# Allow fallback to mock services when hardware/Lightning fails (default: false)
|
||||
# Set to 'true' for development/demo environments only
|
||||
# When false (production default), initialization failures show a maintenance screen
|
||||
# VITE_ALLOW_MOCK_FALLBACK=true
|
||||
|
||||
# =============================================================================
|
||||
# Development Only
|
||||
# =============================================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue