Skip to content

docs: add "what EACS actually does" page (button-press → re-enroll)#46

Merged
rcurranmoz merged 1 commit into
mainfrom
docs-eacs-page
Jul 16, 2026
Merged

docs: add "what EACS actually does" page (button-press → re-enroll)#46
rcurranmoz merged 1 commit into
mainfrom
docs-eacs-page

Conversation

@rcurranmoz

Copy link
Copy Markdown
Collaborator

What

Adds docs/eacs.html"What actually happens when you press Erase All Content and Settings" — the missing prequel to the deep dive. Every relops-bootstrap reprovision begins with EACS wipe → DEP re-enroll, and the deep dive explicitly assumes the host is already enrolled. This page fills that gap and stops the instant enrollment completes (the deep dive picks up from there).

Built in the same GitHub-dark theme as the existing docs (same CSS vars, numbered sections, typed callouts, tables, TOC, footer) so it reads as one set.

Contents (11 sections)

  • Three-sentence mental model + a "myth we keep busting" callout (why the wipe is <5 min — it's a key destroy, not a reinstall)
  • EraseDevice / ObliterationBehavior command table, and a danger callout for the escrowed-Bootstrap-Token gate (macOS 12.0.1+) — the load-bearing prerequisite for our reprovision loop, with the two classic failure modes
  • The Secure Enclave cryptographic erase; a survives (SSV/Preboot/Recovery) vs dies (Data volume + keys) panel
  • Setup Assistant → activation → ADE lookup → MDM enrollment, with the generic-MDM-cert vs our-SCEP-cert distinction
  • Ordered Apple network-traffic table + the MDC1 firewall allowlist (incl. "content servers = not needed" and why we use 17.0.0.0/8 over hand-picked subnets)
  • Apple Silicon vs T2 vs pre-T2; a macOS 12→26 change timeline; an honest "what we couldn't nail down"; cited sources

Cross-links wired

  • index.html — meta bar + CTA buttons
  • deep-dive.html — footer companion-docs line + inbound link at the "assume already enrolled" sentence
  • README.md — repo-layout tree entry + reprovision-flow table row

Notes

  • Sourced from Apple primary docs (Platform Security guide, apple/device-management, developer.apple.com, deployment guides, KB 101555) with adversarial cross-check; the internal EACS daemon name is deliberately not asserted (Apple doesn't document it) and is flagged in the honesty section.
  • Pure additive docs change. Unrelated untracked orchestrator/uv.lock intentionally excluded.
  • Preview locally: open docs/eacs.html (published at mozilla-platform-ops.github.io/relops-bootstrap/eacs.html).

🤖 Generated with Claude Code

Adds docs/eacs.html, the missing prequel to the deep dive: what macOS does
between the MDM EraseDevice command and the moment a host is re-enrolled,
where every relops-bootstrap reprovision begins.

Covers the EraseDevice/ObliterationBehavior command and the escrowed
Bootstrap Token that gates it, the Secure Enclave cryptographic erase (no
reinstall, no image download — hence the sub-5-minute wipe), what survives
(SSV/Preboot/Recovery) vs what dies (Data volume + keys), the Setup
Assistant → activation → ADE → MDM enrollment sequence, the ordered Apple
network traffic + ports, and the MDC1 firewall allowlist. Also the Apple
Silicon vs T2 vs pre-T2 split, a macOS 12→26 change timeline, an honest
"what we couldn't confirm" section, and cited sources.

Scope deliberately stops at enrollment complete; the deep dive picks up there.
Wires cross-links from index.html, deep-dive.html, and the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rcurranmoz
rcurranmoz requested a review from a team July 16, 2026 13:21
@rcurranmoz
rcurranmoz merged commit 4116041 into main Jul 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants