{% extends "base.html" %} {% block title %}{{ t('help.page_title') }}{% endblock %} {% block content %}

{{ t('help.h1') }}

{{ t('help.what_h2') }}

{{ t('help.what_p1') }}

{{ t('help.what_p2') }}

{{ t('help.run_h2') }}

{{ t('help.run_web_h3') }}

  1. {{ t('help.run_web_li1') }}
  2. {{ t('help.run_web_li2') }}
  3. {{ t('help.run_web_li3') }}
  4. {{ t('help.run_web_li4') }}
{{ t('help.run_web_shot_alt') }}
{{ t('help.run_web_shot_caption') }}

{{ t('help.run_web_tail') }}

{{ t('help.run_auto_h3') }}

{{ t('help.run_cli_p1') }}

{{ t('help.run_cli_oneshot') }}

uv run python main.py --config config.yaml
uv run python main.py --config config.yaml --validate-config
uv run python main.py --config config.yaml --diff <session_a> <session_b>
uv run python main.py --config config.yaml --diff <session_a> <session_b> --fail-on-new-high
uv run python main.py --config config.yaml --export-dsar <session_id>
uv run python main.py --config config.yaml --export-dsar <session_id> --dsar-output dsar.json
uv run python main.py --config config.yaml --tenant "Acme Corp" --technician "Alice Colleague-V"
# Same optional toggles as the dashboard checkboxes (this run only):
uv run python main.py --config config.yaml --scan-compressed --content-type-check --scan-stego --jurisdiction-hint

{{ t('help.run_cli_api') }}

{{ t('help.run_cli_tls') }}

uv run python main.py --config config.yaml --web --https-cert-file server.crt --https-key-file server.key
# Lab / loopback only — explicit plaintext:
uv run python main.py --config config.yaml --web --allow-insecure-http
# Default bind is loopback (127.0.0.1). Listen on all interfaces only with network controls:
uv run python main.py --config config.yaml --web --allow-insecure-http --host 0.0.0.0 --port 8088

{{ t('help.run_cli_bind') }}

{{ t('help.run_cli_danger') }}

{{ t('help.run_cli_audit') }}

{{ t('help.dl_h2') }}

{{ t('help.dl_web_h3') }}

  1. {{ t('help.dl_web_li1') }}
  2. {{ t('help.dl_web_li2') }}
{{ t('help.dl_web_shot_alt') }}
{{ t('help.dl_web_shot_caption') }}

{{ t('help.dl_auto_h3') }}

{{ t('help.dl_auto_p') }}

# Last report, heatmap and log
curl -o report.xlsx  http://<host>:<port>/report
curl -o heatmap.png  http://<host>:<port>/heatmap
curl -o audit.log    http://<host>:<port>/logs

# Specific session
curl -o report.xlsx  http://<host>:<port>/reports/<session_id>
curl -o heatmap.png  http://<host>:<port>/heatmap/<session_id>
curl -o audit.log    http://<host>:<port>/logs/<session_id>

{{ t('help.findings_h3') }}

{{ t('help.findings_p') }}

# Latest session (unified DB + filesystem metadata)
curl -o findings.json  http://<host>:<port>/findings
curl -o findings.csv   http://<host>:<port>/findings/csv

# Specific session
curl -o findings.json  http://<host>:<port>/findings/<session_id>
curl -o findings.csv   http://<host>:<port>/findings/<session_id>/csv

{{ t('help.sql_env_h2') }}

{{ t('help.sql_env_p') }}

{{ t('help.cfg_h2') }}

{{ t('help.cfg_p1') }}

targets:
  - name: "Produção_Postgres"
    type: database
    driver: postgresql+psycopg2
    host: 10.0.0.50
    port: 5432
    user: audit_user
    pass: secure_password
    database: customers_db

  - name: "Documentos_LGPD"
    type: filesystem
    path: /home/user/Documents/LGPD
    recursive: true

file_scan:
  extensions: [.txt, .csv, .pdf, .docx, .xlsx]
  recursive: true
  scan_sqlite_as_db: true
  sample_limit: 5
  # scan_compressed: true   # optional: scan inside archives (matches dashboard checkbox)
  # use_content_type: true   # optional: magic-byte detection (matches dashboard checkbox)

report:
  output_dir: .

api:
  port: 8088
  # host: 127.0.0.1  # optional; omit for defaults (see USAGE.md)

sqlite_path: audit_results.db
scan:
  max_workers: 1

{{ t('help.cfg_tail') }}

{{ t('help.rate_h2') }}

{{ t('help.rate_p1') }}

rate_limit:
  enabled: true
  max_concurrent_scans: 1
  min_interval_seconds: 0
  grace_for_running_status: 0

{{ t('help.rate_tail') }}

{{ t('help.sense_h2') }}

{{ t('help.sense_p1') }}

{{ t('help.sense_tail') }}

{{ t('help.sec_h2') }}

{{ t('help.sec_p1') }}

{{ t('help.sec_h3') }}

{{ t('help.sec_tail') }}

{{ t('help.more_h2') }}

{{ t('help.more_p1') }}

{{ t('help.more_tail') }}

{% endblock %}