104 lines
2.8 KiB
YAML
104 lines
2.8 KiB
YAML
app:
|
|
name: "DMARC Sentinel"
|
|
base_url: "https://yourdomain.com"
|
|
timezone: "Europe/Zurich"
|
|
poll_interval_minutes: 30
|
|
database_url: "sqlite:////app/data/dmarc-sentinel.sqlite3"
|
|
log_level: "INFO"
|
|
max_attachment_decompressed_mb: 20
|
|
max_attachment_compressed_mb: 10
|
|
max_attachments_per_message: 20
|
|
max_reports_per_message: 20
|
|
max_reports_per_archive: 20
|
|
max_archive_compression_ratio: 100
|
|
max_xml_records_per_report: 10000
|
|
max_record_count: 10000000
|
|
max_report_future_days: 3
|
|
max_report_past_days: 3650
|
|
max_reports_per_poll: 200
|
|
|
|
security:
|
|
dashboard_auth_enabled: true
|
|
dashboard_username_env: "DASHBOARD_USERNAME"
|
|
dashboard_password_env: "DASHBOARD_PASSWORD"
|
|
api_token_required: true
|
|
homepage_token_env: "HOMEPAGE_API_TOKEN"
|
|
|
|
llm:
|
|
provider: "openai"
|
|
api_key_env: "OPENAI_API_KEY"
|
|
model: "gpt-4.1-mini"
|
|
temperature: 0.2
|
|
timeout_seconds: 45
|
|
max_retries: 2
|
|
generate_alert_explanations: true
|
|
generate_daily_summary: true
|
|
generate_weekly_summary: true
|
|
store_llm_outputs: true
|
|
send_raw_xml_to_llm: false
|
|
send_raw_email_to_llm: false
|
|
system_prompt_path: "config/prompts/system.md"
|
|
alert_prompt_path: "config/prompts/alert_explanation.md"
|
|
digest_prompt_path: "config/prompts/posture_digest.md"
|
|
weekly_prompt_path: "config/prompts/weekly_summary.md"
|
|
|
|
inboxes:
|
|
- id: "domain"
|
|
label: "Domain"
|
|
domain: "domain.com"
|
|
imap_host: "mail.domain.com"
|
|
imap_port: 993
|
|
imap_ssl: true
|
|
username_env: "DOMAIN_IMAP_USER"
|
|
password_env: "DOMAIN_IMAP_PASSWORD"
|
|
folder: "DMARC"
|
|
recipient: "dmarcreports@domain.com"
|
|
processed_folder: "DMARC/Processed"
|
|
failed_folder: "DMARC/Failed"
|
|
move_after_success: false
|
|
move_after_failure: false
|
|
mark_seen_after_success: true
|
|
enabled: true
|
|
|
|
known_senders:
|
|
domain.com:
|
|
- id: "mailcow"
|
|
name: "mailcow outbound"
|
|
ip_allowlist:
|
|
- "REPLACE_WITH_MAILCOW_OUTBOUND_IP/32"
|
|
dkim_domains:
|
|
- "domain.com"
|
|
spf_domains:
|
|
- "domain.com"
|
|
- id: "google_workspace"
|
|
name: "Google Workspace"
|
|
ip_allowlist: []
|
|
dkim_domains:
|
|
- "domain.com"
|
|
spf_domains:
|
|
- "_spf.google.com"
|
|
- id: "mailchimp"
|
|
name: "Mailchimp"
|
|
ip_allowlist: []
|
|
dkim_domains: []
|
|
spf_domains: []
|
|
|
|
alerts:
|
|
email:
|
|
enabled: true
|
|
smtp_host_env: "ALERT_SMTP_HOST"
|
|
smtp_port_env: "ALERT_SMTP_PORT"
|
|
smtp_user_env: "ALERT_SMTP_USER"
|
|
smtp_password_env: "ALERT_SMTP_PASSWORD"
|
|
from_env: "ALERT_EMAIL_FROM"
|
|
to_env: "ALERT_EMAIL_TO"
|
|
thresholds:
|
|
unknown_source_fail_count: 10
|
|
unknown_source_fail_rate_percent: 5
|
|
known_source_fail_rate_percent: 2
|
|
total_volume_spike_multiplier: 3
|
|
total_volume_drop_percent: 80
|
|
min_messages_for_rate_alert: 20
|
|
repeated_failure_days: 2
|
|
missing_reporter_days: 3
|