elastic / elastic/docs-content

[Enhancement]: Document the `mobile_config_gen.py` script in the Deploy Elastic Endpoint instructions

Open
#6,991 2 comments 0 reactions 0 assignees View on GitHub
enhancement Planned-S25 Team:Experience
Dominant language
No language data
Stars
47
Forks
261
Avg merge
3d 12h
Merged PRs (30d)
116

Description

### Description

This issue is a spin-off from https://github.com/elastic/security-docs/pull/5749.

In PR https://github.com/elastic/security-docs/pull/5749, we received the following feedback from @brunerd:

> The [mobile_config_gen.py](https://github.com/elastic/endpoint/blob/main/deployment/macos/mobiledevicemanagement/mobile_config_gen.py) script isn't mentioned on this page but could be helpful for folks that don't have Jamf (or even a GUI for MDM like Jumpcloud). The script creates both old and new entries for 4 total FDA rules. You might want to get this cleaned up and mentioned in our docs. Right now, Elastic has new Defend client the Dept. of Transportation trying to get up and running and they are relying on [3rd party pages](https://ooiventures.com/elastic-explained-how-to-deploy-elastic-agent-on-macos-with-microsoft-intune/) to figure out how to deploy to Macs using InTune and a platform agnostic solution like this script would be worth mentioning.

There's also more information about the script in [this SDH](https://github.com/elastic/sdh-beats/issues/4144).

We should document this script in the Deploy Elastic Endpoint instructions.

### Related links / assets

Please include each of the following, if applicable:
Doc URL:
Subject matter expert:
Figma link(s):
Github epic link(s):
Github issue link(s):

### Which documentation set needs improvement?

ESS and serverless

### Software version

TBD

### Collaborators

PM:
Designer:
Developer: @aleksmaus
Others (if applicable):

### Timeline / deliverables

N/A

---

## Elastic Docs AI Scoping 🤖

Docs issue scope

### Summary
The issue asks to document the `mobile_config_gen.py` script (in `elastic/endpoint`, at `deployment/macos/mobiledevicemanagement/mobile_config_gen.py`) as a platform-agnostic way to generate the `.mobileconfig` profile needed to deploy \{\{elastic-defend}} on macOS, for teams without Jamf (e.g. Intune, JumpCloud). The linked security-docs PR #5749 is unrelated to the script — it's the (already-merged) PR that originally added the Jamf-only "Deploy on macOS with MDM" page. The linked sdh-beats issue #4144 is private and could not be inspected.

### Request accuracy
Accurate — the script exists at `elastic/endpoint` `deployment/macos/mobiledevicemanagement/mobile_config_gen.py`, confirmed by fetching it directly. It takes `-n/--name` (organization name) and `-o/--output` (output `.mobileconfig` path) and generates the same Privacy Preferences Policy Control, Web Content Filter, System Extension, and Notifications payloads that the current Jamf instructions configure manually through the UI.

### Next action for author
Add a section (or new page) documenting how to run `mobile_config_gen.py` to generate a `.mobileconfig` profile for non-Jamf MDM solutions, then reference it from the existing "Deploy on macOS with MDM" page.

### Impact: Medium

### Scope boundary
No changes needed to the Jamf-specific steps already documented (`configure-elastic-defend/deploy-on-macos-with-mdm.md`) — the script is an alternative path for non-Jamf MDM tools, not a replacement.

### Recommended documentation targets

| Page | URL | Action | Impact | Confidence | Why this page? |
|------|-----|--------|--------|------------|----------------|
| Deploy \{\{elastic-defend}} on macOS with mobile device management | solutions/security/configure-elastic-defend/deploy-on-macos-with-mdm.md | Add section to existing page | Medium | High | Existing how-to page for MDM deployment; currently Jamf-only, is the natural home for a platform-agnostic alternative |
| Enable access for \{\{elastic-endpoint}} on macOS without MDM | solutions/security/configure-elastic-defend/enable-access-for-macos.md | Review only | Low | Medium | Sibling page for manual/no-MDM approval; may warrant a cross-reference if users without any MDM still want a scripted profile |

### Recommendations

1. Add a new section to [deploy-on-macos-with-mdm.md](https://github.com/elastic/docs-content/blob/main/solutions/security/configure-elastic-defend/deploy-on-macos-with-mdm.md), e.g. "Generate a profile for other MDM solutions," explaining that `mobile_config_gen.py` can produce the same `.mobileconfig` payload for MDM tools other than Jamf (Intune, JumpCloud, etc.). Include usage (`-n -o `), where to get the script (`elastic/endpoint` repo), and a note that the generated profile still needs to be deployed through the admin's chosen MDM tool.
2. Cross-link this new section from [enable-access-for-macos.md](https://github.com/elastic/docs-content/blob/main/solutions/security/configure-elastic-defend/enable-access-for-macos.md) if that page is the entry point for users without Jamf, so they can discover the scripted option.
3. No new standalone page is needed — this fits as a section on the existing MDM how-to page, which already covers profile configuration end-to-end.

### Notes

- The `elastic/endpoint` repo is not user-facing product code but a public source-available repo; linking directly to the script file (with a versioned/pinned reference if possible) is reasonable since Elastic maintains it.
- Confirm with the developer (`@aleksmaus`) whether the script is officially supported/recommended for customer use, since it currently has no accompanying README or support statement in the source repo.

> Generated by [Issue Scope Analyzer](https://github.com/elastic/docs-content/actions/runs/31404619299) for #6991 · sonnet50 · 35.1 AIC · ⌖ 4.11 AIC · ⊞ 13.8K · [◷](https://github.com/search?q=repo%3Aelastic%2Fdocs-content+is%3Aissue+%22gh-aw-workflow-call-id%3A+elastic%2Fdocs-content%2Fgh-aw-docs-issue-scope%22&type=issues)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.