Open-source compliance tools for EHS professionals. Local-first, single-binary Go applications that work standalone or as an integrated ecosystem.
Heimdall organizes config into namespaces — one per tool, plus a shared
ai namespace.
Desktop app configuration.
| Key | Type | Default | Description |
|---|---|---|---|
database_path |
path | (empty) | Path to Odin SQLite DB |
backup_path |
path | (empty) | Path for database backups |
theme |
string | "system" |
UI theme |
auto_backup |
boolean | "true" |
Enable automatic backups |
Knowledge base configuration.
| Key | Type | Default | Description |
|---|---|---|---|
vault_path |
path | (empty) | Path to note vault |
AI/analysis component configuration.
| Key | Type | Default | Description |
|---|---|---|---|
default_theme |
string | "default" |
Default rendering theme |
output_dir |
path | (empty) | Output directory for renders |
Cross-cutting AI configuration. Disabled by default — opt-in per user.
| Key | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | "false" |
Master AI enable/disable switch |
provider |
enum | (empty) | AI provider: anthropic, openai |
api_key |
secret | (empty) | API key (masked in CLI output) |
odin_access |
array | "[]" |
Modules AI can access in Odin |
muninn_access |
array | "[]" |
Features AI can access in Muninn |
huginn_access |
array | "[]" |
Features AI can access in Huginn |
| Type | Validation | Display |
|---|---|---|
string |
Any text | Plaintext |
path |
Any text (semantic hint for file paths) | Plaintext |
secret |
Any text | Masked |
number |
Must parse as float64 | Plaintext |
boolean |
"true" or "false" only |
Plaintext |
array |
Must be valid JSON array | Plaintext |
enum |
Must be in the schema’s allowed choices | Plaintext |
Every Set and Reset operation records a history entry in the
config_history table with the old value, new value, who changed it, and when.
This is useful for auditing and debugging configuration drift.