Emergency Access system
Go to file
2025-03-27 16:09:10 +11:00
.gitea/workflows Initial commit 2025-03-27 14:05:25 +11:00
templates feat: Add custom instructions to login 2025-03-27 16:09:10 +11:00
.env.example feat: Add custom instructions to login 2025-03-27 16:09:10 +11:00
.gitignore feat: Add initial code drop 2025-03-27 14:50:35 +11:00
Dockerfile Initial commit 2025-03-27 14:05:25 +11:00
example.md feat: Add hidden passwords 2025-03-27 15:07:54 +11:00
LICENSE Initial commit 2025-03-27 14:05:25 +11:00
main.py Initial commit 2025-03-27 14:05:25 +11:00
README.md feat: Add hidden passwords 2025-03-27 15:07:54 +11:00
requirements.txt feat: Add initial code drop 2025-03-27 14:50:35 +11:00
server.py feat: Add custom instructions to login 2025-03-27 16:09:10 +11:00
update.py feat: Add initial code drop 2025-03-27 14:50:35 +11:00

Emergency Access System

A secure emergency information access system using YubiKey authentication. This application allows authorized users to access critical emergency information stored in Markdown format.

Features

  • YubiKey authentication for secure access
  • Markdown rendering with syntax highlighting
  • Webhook for remote updates of emergency information
  • Mobile-friendly interface
  • Hidden passwords that reveal when clicked

Setup

  1. Clone this repository
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Create a .env file based on .env.example:
    cp .env.example .env
    
  4. Edit the .env file with your settings

YubiKey Configuration

  1. Get your YubiKey API credentials from https://upgrade.yubico.com/getapikey/
  2. Add your client ID and secret key to the .env file
  3. Determine your YubiKey ID (first 12 characters of any OTP generated by your YubiKey)
  4. Add the YubiKey ID to the .env file

Webhook Secret Generation

The webhook requires a strong secret to secure remote updates. Use one of these methods to generate a secure secret:

Option 1: Using Python

import secrets
print(secrets.token_hex(32))  # Generates a 64-character hex string

Option 2: Using OpenSSL

openssl rand -hex 32

Option 3: Using /dev/urandom (Linux/Mac)

head -c 32 /dev/urandom | xxd -p -c 32

Add the generated secret to your .env file: