One archive holding this box’s control-plane state — the sixteen audit logs, every domain’s configuration, WireGuard drift, service liveness and the revision index — collected in a single pass so a support engineer can diagnose from it offline.
This archive is privileged. Treat it exactly as you would a configuration backup: encrypt it in transit and delete it once the incident closes. It contains:
/var/log/authlog unredacted — the Viewer tab masks this file; the archive does not, and nothing clamps its content at write time because it is base-OS sshd/su/doas output.unbound.conf / dhcpd.conf / bgpd.conf bodies, filtered only by length.system/dmesg_boot.json): the full hardware inventory — device serial numbers, CPU and board identifiers, and NIC MAC addresses with their device models, including interfaces the ARP table never shows.system/host_facts.json).Not included: OgmaProtect’s own private keys of any kind (WireGuard, IPsec, TLS), the user database or any of its siblings, the last-good configuration tree, /etc/ssl/private, capability keys, core-dump contents, rotated .gz log history, and packet captures. Note the raw third-party config bodies above are only partly filtered for secrets — a brownfield dhcpd.conf or unbound.conf can carry TSIG keys that nothing in this product redacts. The bgpd.conf and ospfd.conf bodies do have their key-bearing directives redacted, but that is a triage courtesy rather than a security control: a key held in a file the configuration includes is not covered.
What this bundle cannot tell you. Reading these first will save an incident:
system/dmesg_boot.json is this boot’s snapshot, clamped from the head — if its truncated flag is set, the later attach lines are absent. A boot-drift audit line is only in its log section while it is within the tail clamp; on a long-lived boot read the structured record in system/host_facts.json instead.system/host_facts.json, but no boot-time console output is captured.Six collections per hour, per account — shared by everyone signed in as the same user, and a separate budget from the Audit export tab. A collection refused before it starts — unconfirmed, or an apply already running — does not use one up; one refused because the box could not accept the job does.
Collecting takes the configuration-apply lock for as long as it runs. While it does, a restore, firewall apply or routing change is refused with “another apply is in progress” — and if one of those is already running, your collection is refused the same way. Neither queues; press Collect again.
Downloading removes your copy from the web tree immediately. The original stays on the box, readable only by root, and is deleted about an hour after it was collected. Downloads have their own budget of twenty per hour, per account.
This tab always produces a partial archive — 39 sections against the console’s 41. Config-integrity and schema-state can only be read from the machine’s own console, so they are reported as omitted here. This is permanent and does not depend on your account: no role can reach those two sections, because they are root-console operations with no signed-in equivalent. For the complete 41-section artifact, run ogmaprotectctl support-bundle --out <path> on the box.
A vendor support identity gets a narrower archive still — 37 sections. An account holding the ogma-support role collects a deliberately reduced artifact, and this is a property of the role rather than of anything you choose here. It gains the fifteen per-daemon audit logs, which that role cannot read anywhere else in the interface. It loses the authentication log logs/authlog.json and the restore-status section, and every archive it collects has the alert channels’ webhook URLs and the raw unbound.conf, dhcpd.conf, bgpd.conf and ospfd.conf previews removed. Each affected section lists what was removed, by name, in MANIFEST.
The webhook URL is removed from every archive, including this one and the console’s. Whether a channel carries a bearer token is still reported; whether it had a URL is not, so an empty-looking channel and a webhook-bearing one read alike. Everything else on the list above still rides the archive as before.
If you granted ogma-support to a vendor, delete that account when the engagement ends. The role has no expiry: it stays live, and able to collect this archive, until it is revoked or the account is removed. See /etc/examples/ogmaprotect/README.recovery.
Nothing is collected until you press Collect. Collection usually finishes well inside a minute; it can take longer if a daemon is slow to answer.
Collecting a support bundle requires JavaScript.