
tech.security-audit·version 1.0.0·draft
The company holds a dated audit report listing every access, mailbox, device and external record checked, with every finding either fixed or filed as a task with an owner.
The quarterly scheduled audit. Not for rotating a single password after a scare — use tech.password-rotation. Not for a suspected phishing e-mail — use tech.phishing-report, which may escalate into an out-of-cycle audit. Not for a lost laptop — use tech.lost-device, which is an incident, not a review.
people.offboard-employee records first; an audit against a stale list finds nothing.Any step can wait until a date and reopens by itself; every closed step leaves evidence (a note, a link, a number).
List from the modules: every mailbox, every domain with its DNS records, every device registered to a person, every paid service or login the company holds.
Done when the inventory is written down with a count per category.
For every login, mailbox and device, name the person who holds it. Anything held by a leaver, a shared "info@" with no owner, or an unknown person goes on the findings list.
Done when every access item maps to a current person, or is listed as a finding.
For each service: does it enforce MFA, and when was each password last changed? Flag services with no MFA and passwords older than the company's rotation rule. Record states only — never copy password values into the report.
Done when each service shows MFA yes/no and last-change date, or is flagged "unknown".
Run bc dns per domain: SPF, DKIM, DMARC present and sane (tech.dmarc-review handles deep changes; here only flag what is missing). Check HTTPS certificates against tech.ssl-expiry-check results. Run bc mail search for forwarding rules to outside addresses — a hidden forward is a classic breach sign.
Done when each domain has a pass/fail line for SPF, DKIM, DMARC, certificate and forwarding rules.
Read the latest tech.backup-restore-drill record. If none exists in this quarter, that is itself a finding — a backup nobody has restored is a hope, not a backup.
Done when the report states the date of the last successful restore test.
Approval · S6 · owner — the run stops until a named person records the decision
Present findings ranked: leaver access first, then no-MFA, then external records, then everything else. The owner marks each finding: fix now, file as task, or accept as risk with a reason.
Done when every finding has one of the three marks and the owner's name next to the decision.
Approval · S7 · owner — the run stops until a named person records the decision
Apply the "fix now" items: remove leaver access, disable dead mailboxes (tech.remove-mailbox covers deletions), turn on MFA where the owner approved it. For "task" items, run bc tasks add with the finding, the owner and a date.
Done when each "fix now" item is verifiably done and each "task" item exists as a task.
⛔ Removing access or a mailbox is treated as irreversible — only what the owner marked in S6, nothing else.
One page: date, inventory counts, findings with their marks, fixes applied, accepted risks with reasons. Link the report from the audit calendar entry; set the next quarterly date.
Done when the report is filed and the next date is in the calendar.
| Symptom | Response |
|---|---|
| Leaver still has access | Remove it immediately (this is always "fix now" regardless of S6 rank), then check what that access touched while it was live. |
| Forwarding rule to an unknown address | Do not delete it yet — screenshot it, tell the owner the same day, treat as a possible incident and consider tech.phishing-report / agents.incident-response. |
| MFA cannot be enabled for a service | Record why, name the compensating control (stronger password rule, IP restriction), file as an accepted risk with a review date. |
| Owner unavailable for S6 | Do not apply fixes unreviewed; file findings as tasks and close the audit as "findings pending owner review". |
| Fix locks an employee out | Restore access first, record the incident in the report, and note the fix procedure as a lesson for the next version. |
The dated report · inventory counts · the owner's decisions in S6 (who, when) · before/after state for each fix · task ids for open findings · the accepted risks with reasons.
After every 4 runs (one year) ask: what share of findings were closed within the quarter, and did any finding repeat three times? Did any accepted risk later cause an incident? Is S1 inventory-building drifting from reality — if a check in S2 found something the inventory missed, the inventory method needs a new check, and the change note says which step changed.
Obligātās sīkdatnes tur sarunu kopā. Analītika ir izslēgta, līdz tu atļauj — tā neliek nevienu sīkdatni un neglabā ierīces identifikatoru.Necessary storage keeps your conversation together. Analytics is off until you allow it — it sets no cookie and stores no device identifier. Ko mēs glabājamWhat we store