Emergency Access system
.gitea/workflows | ||
templates | ||
.env.example | ||
.gitignore | ||
Dockerfile | ||
example.md | ||
LICENSE | ||
main.py | ||
README.md | ||
requirements.txt | ||
server.py | ||
update.py |
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
- Clone this repository
- Install dependencies:
pip install -r requirements.txt
- Create a
.env
file based on.env.example
:cp .env.example .env
- Edit the
.env
file with your settings
YubiKey Configuration
- Get your YubiKey API credentials from https://upgrade.yubico.com/getapikey/
- Add your client ID and secret key to the
.env
file - Determine your YubiKey ID (first 12 characters of any OTP generated by your YubiKey)
- 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: