Form to Wipe
Form to Wipe (FTW) is een veilige, goedkeuringsgated werkstroom voor apparaatverwijdering die Slack of GitHub verbindt met de Jamf Platform API. Een aanvrager dient een verwijderingsverzoek in; een aparte fiatteur beoordeelt en keurt het goed; de werkstroom stuurt een MDM-wiscommando naar het doelapparaat. Elke stap wordt vastgelegd.
FTW is beschikbaar via twee implementatiepaden. De architectuur en het beveiligingsmodel zijn identiek voor beide — alleen de interface en infrastructuurvereisten verschillen.
Hoe het werkt
Aanvrager dient in → Fiatteur beoordeelt → Aanvrager bevestigt → Wiscommando verzonden → Resultaten vastgelegd
- Een aanvrager dient een verwijderingsverzoek in via een Slack slash command of GitHub Issue, met vermelding van de doeltenant, apparaattype, apparaat-ID('s) en een reden.
- De werkstroom stuurt het verzoek naar een fiatteur. De fiatteur kan niet dezelfde persoon zijn als de aanvrager — dit wordt op platformniveau afgedwongen in beide paden.
- De fiatteur beoordeelt het verzoek en keurt het goed of weigert het.
- Indien goedgekeurd, ontvangt de aanvrager een definitieve bevestigingsprompt voordat het wiscommando wordt verzonden.
- De werkstroom roept de Jamf Platform API aan om een MDM-wiscommando naar elk doelapparaat te verzenden.
- De resultaten worden teruggepost naar de aanvrager en geschreven naar een auditlogboek.
Ondersteunde doelgerichtheid
FTW ondersteunt drie manieren om op te geven welke apparaten gewist moeten worden:
- Enkel apparaat — één Jamf Pro-record-ID
- Meerdere apparaten — door komma's gescheiden lijst met Jamf Pro-record-ID's
- Apparaatgroep — slimme of statische groepsnaam, opgelost naar leden-apparaat-ID's via de Platform API bij uitvoering
Ondersteunde apparaattypen
| Type | Platform | Opties verwijderen |
|---|---|---|
| Computer | macOS | Optionele Find My PIN |
| Mobiel apparaat | iOS / iPadOS | Gegevensplan behouden, Activation Lock wissen, teruggeven naar service, nabijheidsinstellingen niet toestaan |
Multi-Tenant-ondersteuning
Beide implementatiepaden ondersteunen meerdere Jamf-tenants. Tenants worden geconfigureerd als gekoppelde lijsten met weergavenamen en UUIDs. De aanvrager selecteert een tenant uit een vervolgkeuzelijst bij indiening — de geselecteerde tenant wordt automatisch door alle downstream-stappen heen meegevoerd.
JAMF_TENANT_NAMES = Production, Staging, Lab
JAMF_TENANT_IDS = aaaaaaaa-..., bbbbbbbb-..., cccccccc-...
Beveiligingsmodel
FTW is gebaseerd op drie beveiligingsprincipes:
Scheiding van taken. De aanvrager kan zijn eigen verzoek niet goedkeuren. Dit wordt op platformniveau afgedwongen — GitHub branch protection-regels en Slack modal-routeringslogica voorkomen beide zelfgoedkeuring voordat het verzoek een fiatteur bereikt.
Audittrail. Elke actie — indiening, goedkeuring, weigering, bevestiging, wisresultaat, timeout — wordt vastgelegd met actoridentiteit, tijdstempel en tenant. Het GitHub Workflow-pad gebruikt samengevoegde Pull Requests als onveranderbare auditrecords; het n8n-pad schrijft naar een Slack-auditkanaal.
Credentialisisolatie. Jamf Platform API-inloggegevens worden opgeslagen als omgevingssecrets, nooit in workflowcode of verzoekbodies. Het n8n-pad gebruikt een gedeeld secret token om te controleren of inkomende Slack-verzoeken authentiek zijn voordat deze worden verwerkt.
Jamf Platform API-vereisten
Beide paden vereisen een Jamf Platform API OAuth2-client met de volgende bevoegdheden:
| Bevoegdheid | Waarom nodig |
|---|---|
Read Computers |
Computernaam en beheer-ID opzoeken per record-ID |
Read Mobile Devices |
Naam mobiel apparaat en beheer-ID opzoeken per record-ID |
Read Computer Groups |
Slimme en statische groepslidmaatschappen voor groepsdoelgerichtheid oplossen |
Read Mobile Device Groups |
Groepslidmaatschap mobiel apparaat voor groepsdoelgerichtheid oplossen |
Send Computer Remote Erase Command |
Wiscommando uitgeven aan macOS-apparaten |
Send Mobile Device Remote Erase Command |
Wiscommando uitgeven aan iOS/iPadOS-apparaten |
Maak de API-client aan in Jamf Pro onder Settings → API roles and clients → API Clients → New.
Een implementatiepad kiezen
| n8n | GitHub Workflow | |
|---|---|---|
| Interface | Slack modal | GitHub Issue + PR |
| Goedkeurings-UX | Slack DM | PR review |
| Fiatteur bron | Entra, Okta of Slack usergroup | Branch protection + CODEOWNERS |
| Auditlogboek | Slack kanaal | Git history (permanent) |
| Infrastructuur | n8n-instantie vereist | Geen (GitHub-hosted runners) |
| Real-time timeout | ✅ Configureerbaar | ❌ Handmatig sluiten |
| Kosten | n8n-licentie | Gratis (public) / Actions minuten |
Kies n8n als uw team al n8n uitvoert, u een Slack-native modal-ervaring wilt, of u Okta- of Slack usergroup-goedkeuringen nodig hebt.
Kies GitHub Workflow als u geen infrastructuur wilt, audittrail een prioriteit is (elke wis is een samengevoegde PR — permanente git-history), en uw IT-team comfortabel is in GitHub.
Klaar om in te stellen? Ga naar de gids voor uw gekozen pad: