opencode-skills-collection 4.0.68 → 4.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +266 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  19. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  20. package/bundled-skills/arm-templates/SKILL.md +438 -0
  21. package/bundled-skills/arm-templates/references/details.md +64 -0
  22. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  23. package/bundled-skills/asset-inventory/references/details.md +127 -0
  24. package/bundled-skills/audit-logging/SKILL.md +476 -0
  25. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  26. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  27. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  28. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  29. package/bundled-skills/aws-iam/SKILL.md +463 -0
  30. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  31. package/bundled-skills/aws-rds/SKILL.md +380 -0
  32. package/bundled-skills/aws-s3/SKILL.md +434 -0
  33. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  34. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  35. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  36. package/bundled-skills/azure-aks/SKILL.md +423 -0
  37. package/bundled-skills/azure-devops/SKILL.md +457 -0
  38. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  39. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  40. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  41. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  42. package/bundled-skills/azure-networking/SKILL.md +448 -0
  43. package/bundled-skills/azure-networking/references/details.md +135 -0
  44. package/bundled-skills/azure-sql/SKILL.md +413 -0
  45. package/bundled-skills/azure-sql/references/details.md +113 -0
  46. package/bundled-skills/azure-vms/SKILL.md +402 -0
  47. package/bundled-skills/azure-vms/references/details.md +134 -0
  48. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  49. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  50. package/bundled-skills/bb-methodology/references/details.md +120 -0
  51. package/bundled-skills/block-storage/SKILL.md +371 -0
  52. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  53. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  54. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  55. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  56. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  57. package/bundled-skills/business-continuity/SKILL.md +463 -0
  58. package/bundled-skills/career-ops/SKILL.md +186 -0
  59. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  60. package/bundled-skills/change-management/SKILL.md +438 -0
  61. package/bundled-skills/change-management/references/details.md +105 -0
  62. package/bundled-skills/circleci/SKILL.md +475 -0
  63. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  64. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  65. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  66. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  67. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  68. package/bundled-skills/cloudformation/SKILL.md +461 -0
  69. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  70. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  71. package/bundled-skills/container-hardening/SKILL.md +126 -0
  72. package/bundled-skills/container-registries/SKILL.md +435 -0
  73. package/bundled-skills/container-scanning/SKILL.md +416 -0
  74. package/bundled-skills/convex-backend/SKILL.md +338 -0
  75. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  76. package/bundled-skills/database-backups/SKILL.md +425 -0
  77. package/bundled-skills/datadog/SKILL.md +487 -0
  78. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  79. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  80. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  81. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  82. package/bundled-skills/dns-management/SKILL.md +375 -0
  83. package/bundled-skills/docker-compose/SKILL.md +482 -0
  84. package/bundled-skills/docker-management/SKILL.md +426 -0
  85. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  86. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  87. package/bundled-skills/elk-stack/SKILL.md +487 -0
  88. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  89. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  90. package/bundled-skills/feature-flags/SKILL.md +426 -0
  91. package/bundled-skills/feature-flags/references/details.md +86 -0
  92. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  93. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  94. package/bundled-skills/firewall-config/SKILL.md +479 -0
  95. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  96. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  97. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  98. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  99. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  100. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  101. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  102. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  103. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  104. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  105. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  106. package/bundled-skills/geo-audit/SKILL.md +368 -0
  107. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  108. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  109. package/bundled-skills/geo-citability/SKILL.md +350 -0
  110. package/bundled-skills/geo-compare/SKILL.md +340 -0
  111. package/bundled-skills/geo-content/SKILL.md +383 -0
  112. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  113. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  114. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  115. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  116. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  117. package/bundled-skills/geo-report/SKILL.md +436 -0
  118. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  119. package/bundled-skills/geo-schema/SKILL.md +408 -0
  120. package/bundled-skills/geo-technical/SKILL.md +78 -0
  121. package/bundled-skills/geo-technical/references/details.md +543 -0
  122. package/bundled-skills/git-workflow/SKILL.md +460 -0
  123. package/bundled-skills/github-actions/SKILL.md +368 -0
  124. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  125. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  126. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  127. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  128. package/bundled-skills/helm-charts/SKILL.md +469 -0
  129. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  130. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  131. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  132. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  133. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  134. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  135. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  136. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  137. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  138. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  139. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  140. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  141. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  142. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  143. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  144. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  145. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  146. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  147. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  148. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  149. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  150. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  151. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  152. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  153. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  154. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  155. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  156. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  157. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  158. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  159. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  160. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  161. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  162. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  163. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  164. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  165. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  166. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  167. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  168. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  169. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  170. package/bundled-skills/hunt-rce/references/details.md +110 -0
  171. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  172. package/bundled-skills/hunt-session/SKILL.md +342 -0
  173. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  174. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  175. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  176. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  177. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  178. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  179. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  180. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  181. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  182. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  183. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  184. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  185. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  186. package/bundled-skills/identity-access-management/references/details.md +524 -0
  187. package/bundled-skills/incident-management/SKILL.md +484 -0
  188. package/bundled-skills/incident-response/SKILL.md +448 -0
  189. package/bundled-skills/incident-response/references/details.md +113 -0
  190. package/bundled-skills/interview-me/SKILL.md +248 -0
  191. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  192. package/bundled-skills/jenkins/SKILL.md +462 -0
  193. package/bundled-skills/jev-use/SKILL.md +158 -0
  194. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  195. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  196. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  197. package/bundled-skills/kustomize/SKILL.md +478 -0
  198. package/bundled-skills/linux-administration/SKILL.md +367 -0
  199. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  200. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  201. package/bundled-skills/llm-app-security/references/details.md +674 -0
  202. package/bundled-skills/llm-caching/SKILL.md +334 -0
  203. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  204. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  205. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  206. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  207. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  208. package/bundled-skills/load-balancing/SKILL.md +403 -0
  209. package/bundled-skills/loki-logging/SKILL.md +479 -0
  210. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  211. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  212. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  213. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  214. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  215. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  216. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  217. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  218. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  219. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  220. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  221. package/bundled-skills/mongodb/SKILL.md +436 -0
  222. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  223. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  224. package/bundled-skills/mysql/SKILL.md +390 -0
  225. package/bundled-skills/new-relic/SKILL.md +472 -0
  226. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  227. package/bundled-skills/object-storage/SKILL.md +378 -0
  228. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  229. package/bundled-skills/okta-attack/SKILL.md +436 -0
  230. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  231. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  232. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  233. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  234. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  235. package/bundled-skills/openshift/SKILL.md +485 -0
  236. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  237. package/bundled-skills/opentelemetry/references/details.md +78 -0
  238. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  239. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  240. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  241. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  242. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  243. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  244. package/bundled-skills/planetscale/SKILL.md +297 -0
  245. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  246. package/bundled-skills/platform-engineering/references/details.md +944 -0
  247. package/bundled-skills/podman/SKILL.md +405 -0
  248. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  249. package/bundled-skills/policy-as-code/references/details.md +204 -0
  250. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  251. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  252. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  253. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  254. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  255. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  256. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  257. package/bundled-skills/redis/SKILL.md +421 -0
  258. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  259. package/bundled-skills/report-writing/SKILL.md +426 -0
  260. package/bundled-skills/report-writing/references/details.md +187 -0
  261. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  262. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  263. package/bundled-skills/runbook-creation/references/details.md +71 -0
  264. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  265. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  266. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  267. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  268. package/bundled-skills/security-arsenal/references/details.md +540 -0
  269. package/bundled-skills/security-automation/SKILL.md +146 -0
  270. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  271. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  272. package/bundled-skills/service-mesh/SKILL.md +422 -0
  273. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  274. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  275. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  276. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  277. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  278. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  279. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  280. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  281. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  282. package/bundled-skills/systemd-services/SKILL.md +379 -0
  283. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  284. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  285. package/bundled-skills/terraform-azure/references/details.md +231 -0
  286. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  287. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  288. package/bundled-skills/user-management/SKILL.md +383 -0
  289. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  290. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  291. package/bundled-skills/vendor-management/SKILL.md +439 -0
  292. package/bundled-skills/vendor-management/references/details.md +109 -0
  293. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  294. package/bundled-skills/vllm-server/SKILL.md +236 -0
  295. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  296. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  297. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  298. package/bundled-skills/waf-setup/SKILL.md +354 -0
  299. package/bundled-skills/waf-setup/references/details.md +211 -0
  300. package/bundled-skills/web2-recon/SKILL.md +440 -0
  301. package/bundled-skills/web2-recon/references/details.md +319 -0
  302. package/bundled-skills/web3-audit/SKILL.md +445 -0
  303. package/bundled-skills/web3-audit/references/details.md +224 -0
  304. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  305. package/bundled-skills/windows-hardening/references/details.md +204 -0
  306. package/bundled-skills/windows-server/SKILL.md +318 -0
  307. package/bundled-skills/zero-trust/SKILL.md +461 -0
  308. package/package.json +1 -1
  309. package/skills_index.json +6943 -323
@@ -0,0 +1,404 @@
1
+ ---
2
+ name: mdm-device-management
3
+ description: Manage and secure company devices with MDM solutions
4
+ category: devops
5
+ risk: critical
6
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
7
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
8
+ source_type: community
9
+ date_added: '2026-09-20'
10
+ license: MIT
11
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
12
+ compatibility: Requires the relevant OS/platform tooling and privileged access where
13
+ noted. Docs-only; helper scripts and templates not bundled.
14
+ metadata:
15
+ author: devops-skills
16
+ version: '1.0'
17
+ ---
18
+
19
+ ## When to Use
20
+
21
+ - Provisioning, hardening, or operating the infrastructure described in this skill within an authorized environment.
22
+
23
+
24
+ # Mobile Device Management (MDM) for Startups & Small Teams
25
+
26
+ A practical guide to enrolling, securing, and managing company devices across
27
+ macOS, Windows, iOS, and Android — from zero-touch onboarding to remote wipe.
28
+
29
+ ---
30
+
31
+ ## 1. When to Use MDM
32
+
33
+ MDM becomes essential when any of the following apply:
34
+
35
+ - **Team size crosses ~10 people** — manual laptop setup no longer scales.
36
+ - **Compliance requirements** — SOC 2, HIPAA, ISO 27001, or customer security
37
+ questionnaires demand proof that endpoints are encrypted and patched.
38
+ - **Remote / hybrid workforce** — you cannot walk over to someone's desk to
39
+ fix a configuration or verify disk encryption.
40
+ - **Contractor or BYOD devices** — you need a way to separate corporate data
41
+ from personal data and revoke access on offboarding.
42
+ - **Insurance or investor due diligence** — cyber-insurance carriers and VCs
43
+ increasingly ask for evidence of endpoint management.
44
+
45
+ If you are still under 10 people and everyone is in-office, a simple checklist
46
+ plus a configuration management tool (Ansible) may suffice — but plan for MDM
47
+ early so enrollment is painless when you scale.
48
+
49
+ ---
50
+
51
+ ## 2. MDM Platform Comparison
52
+
53
+ | Platform | Best For | Pricing Model | Open Source | Key Strength |
54
+ |----------|----------|---------------|-------------|--------------|
55
+ | **Jamf Pro** | macOS / iOS fleets | Per-device/yr | No | Deepest Apple integration, DEP/ADE native |
56
+ | **Microsoft Intune** | Windows + M365 shops | Bundled w/ M365 E3/E5 | No | Seamless Azure AD + Autopilot |
57
+ | **Kandji** | macOS-first startups | Per-device/yr | No | Pre-built compliance templates, fast setup |
58
+ | **Mosyle** | Education & SMB Apple | Per-device/yr | No | Apple School/Business Manager integration |
59
+ | **Fleet** | Cross-platform, eng-led | Free (OSS) / paid cloud | Yes | osquery-powered, GitOps-friendly, API-first |
60
+ | **SimpleMDM** | Small Apple-only teams | Per-device/mo | No | Simple UI, quick onboarding |
61
+
62
+ ### Decision heuristic
63
+
64
+ ```text
65
+ if (team < 50 AND engineering-led AND multi-OS):
66
+ consider Fleet (open-source, osquery-native)
67
+ elif (team is macOS-dominant AND compliance-heavy):
68
+ consider Kandji or Jamf
69
+ elif (team is Windows-dominant AND already on M365):
70
+ consider Intune (likely already licensed)
71
+ else:
72
+ evaluate Fleet or Kandji based on OS mix
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 3. Fleet (Open Source MDM) — Self-Hosted Deployment
78
+
79
+ Fleet is the leading open-source MDM. It uses osquery under the hood and
80
+ supports macOS, Windows, Linux, iOS, and Android.
81
+
82
+ ### 3.1 Docker Compose deployment
83
+
84
+ ```yaml
85
+ # docker-compose.yml
86
+ version: "3.8"
87
+
88
+ services:
89
+ mysql:
90
+ image: mysql:8.0
91
+ environment:
92
+ MYSQL_ROOT_PASSWORD: "${FLEET_MYSQL_ROOT_PASSWORD}"
93
+ MYSQL_DATABASE: fleet
94
+ MYSQL_USER: fleet
95
+ MYSQL_PASSWORD: "${FLEET_MYSQL_PASSWORD}"
96
+ volumes:
97
+ - mysql-data:/var/lib/mysql
98
+ ports:
99
+ - "3306:3306"
100
+ healthcheck:
101
+ test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
102
+ interval: 10s
103
+ retries: 5
104
+
105
+ redis:
106
+ image: redis:7-alpine
107
+ ports:
108
+ - "6379:6379"
109
+
110
+ fleet:
111
+ image: fleetdm/fleet:v4.47.0
112
+ depends_on:
113
+ mysql:
114
+ condition: service_healthy
115
+ redis:
116
+ condition: service_started
117
+ environment:
118
+ FLEET_MYSQL_ADDRESS: mysql:3306
119
+ FLEET_MYSQL_DATABASE: fleet
120
+ FLEET_MYSQL_USERNAME: fleet
121
+ FLEET_MYSQL_PASSWORD: "${FLEET_MYSQL_PASSWORD}"
122
+ FLEET_REDIS_ADDRESS: redis:6379
123
+ FLEET_SERVER_TLS: "true"
124
+ FLEET_SERVER_TLS_COMPATIBILITY: modern
125
+ FLEET_SERVER_CERT: /tls/fleet.crt
126
+ FLEET_SERVER_KEY: /tls/fleet.key
127
+ FLEET_LOGGING_JSON: "true"
128
+ volumes:
129
+ - ./tls:/tls:ro
130
+ ports:
131
+ - "8080:8080"
132
+
133
+ volumes:
134
+ mysql-data:
135
+ ```
136
+
137
+ ### 3.2 Initial setup
138
+
139
+ ```bash
140
+ # Generate TLS certs (use real certs in production)
141
+ mkdir -p tls
142
+ openssl req -x509 -newkey rsa:4096 -sha256 -days 365 \
143
+ -nodes -keyout tls/fleet.key -out tls/fleet.crt \
144
+ -subj "/CN=fleet.yourcompany.com"
145
+
146
+ # Start services
147
+ docker compose up -d
148
+
149
+ # Create admin account
150
+ docker compose exec fleet fleet prepare db
151
+ docker compose exec fleet fleet setup \
152
+ --email admin@yourcompany.com \
153
+ --name "IT Admin" \
154
+ --password "${FLEET_ADMIN_PASSWORD}" \
155
+ --org-name "YourCompany"
156
+ ```
157
+
158
+ ### 3.3 Enroll a macOS host with fleetctl
159
+
160
+ ```bash
161
+ # Install fleetctl
162
+ brew install fleetdm/tap/fleetctl
163
+
164
+ # Authenticate
165
+ fleetctl config set --address https://fleet.yourcompany.com:8080
166
+ fleetctl login --email admin@yourcompany.com
167
+
168
+ # Generate an installer package for macOS
169
+ fleetctl package --type pkg \
170
+ --fleet-url https://fleet.yourcompany.com:8080 \
171
+ --enroll-secret "$(fleetctl get enroll-secret)" \
172
+ --fleet-certificate tls/fleet.crt
173
+
174
+ # The .pkg file can be distributed via Apple Business Manager or manually
175
+ ```
176
+
177
+ ### 3.4 Enroll a Windows host
178
+
179
+ ```powershell
180
+ # Download the Fleet osquery MSI installer
181
+ fleetctl package --type msi `
182
+ --fleet-url https://fleet.yourcompany.com:8080 `
183
+ --enroll-secret "$(fleetctl get enroll-secret)" `
184
+ --fleet-certificate tls/fleet.crt
185
+
186
+ # Install silently
187
+ msiexec /i fleet-osquery.msi /quiet /norestart
188
+ ```
189
+
190
+ ### 3.5 osquery policy examples in Fleet
191
+
192
+ ```yaml
193
+ # fleet-policies.yml — apply with: fleetctl apply -f fleet-policies.yml
194
+ apiVersion: v1
195
+ kind: policy
196
+ spec:
197
+ name: FileVault enabled (macOS)
198
+ query: >
199
+ SELECT 1 FROM disk_encryption
200
+ WHERE user_uuid IS NOT '' AND encrypted = 1;
201
+ description: Ensures FileVault disk encryption is enabled.
202
+ resolution: "Enable FileVault: System Settings > Privacy & Security > FileVault."
203
+ platform: darwin
204
+
205
+ ---
206
+ apiVersion: v1
207
+ kind: policy
208
+ spec:
209
+ name: BitLocker enabled (Windows)
210
+ query: >
211
+ SELECT 1 FROM bitlocker_info
212
+ WHERE protection_status = 1;
213
+ description: Ensures BitLocker drive encryption is active.
214
+ resolution: "Enable BitLocker via Settings > Privacy & Security > Device Encryption."
215
+ platform: windows
216
+
217
+ ---
218
+ apiVersion: v1
219
+ kind: policy
220
+ spec:
221
+ name: Firewall enabled (macOS)
222
+ query: >
223
+ SELECT 1 FROM alf WHERE global_state >= 1;
224
+ description: macOS Application Layer Firewall must be on.
225
+ resolution: "Enable firewall: System Settings > Network > Firewall."
226
+ platform: darwin
227
+
228
+ ---
229
+ apiVersion: v1
230
+ kind: policy
231
+ spec:
232
+ name: OS up to date (macOS)
233
+ query: >
234
+ SELECT 1 FROM os_version
235
+ WHERE platform = 'darwin' AND major >= 14;
236
+ description: Requires macOS 14 (Sonoma) or later.
237
+ resolution: "Update macOS via System Settings > General > Software Update."
238
+ platform: darwin
239
+ ```
240
+
241
+ ---
242
+
243
+ ## 4. macOS Enrollment
244
+
245
+ ### 4.1 Apple Business Manager (ABM) / Automated Device Enrollment
246
+
247
+ ```bash
248
+ # In ABM (business.apple.com):
249
+ # 1. Settings > MDM Servers > Add MDM Server
250
+ # 2. Upload the public key from your MDM (Fleet, Jamf, Kandji)
251
+ # 3. Download the ABM token and upload it to your MDM
252
+ # 4. Assign devices to the MDM server by serial number
253
+
254
+ # Verify DEP assignment with fleetctl (Fleet)
255
+ fleetctl get mdm-apple
256
+ ```
257
+
258
+ ### 4.2 Manual MDM profile enrollment (non-DEP devices)
259
+
260
+ ```bash
261
+ # Generate enrollment profile URL (Fleet example)
262
+ fleetctl get enrollment-profile > enrollment.mobileconfig
263
+
264
+ # Distribute to user — they open the .mobileconfig file
265
+ # Then approve in System Settings > Profiles
266
+ ```
267
+
268
+ ### 4.3 Enforce FileVault via MDM configuration profile
269
+
270
+ ```xml
271
+ <?xml version="1.0" encoding="UTF-8"?>
272
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
273
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
274
+ <plist version="1.0">
275
+ <dict>
276
+ <key>PayloadContent</key>
277
+ <array>
278
+ <dict>
279
+ <key>PayloadType</key>
280
+ <string>com.apple.MCX.FileVault2</string>
281
+ <key>PayloadIdentifier</key>
282
+ <string>com.yourcompany.filevault</string>
283
+ <key>PayloadUUID</key>
284
+ <string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
285
+ <key>PayloadVersion</key>
286
+ <integer>1</integer>
287
+ <key>Enable</key>
288
+ <string>On</string>
289
+ <key>Defer</key>
290
+ <true/>
291
+ <key>DeferForceAtUserLoginMaxBypassAttempts</key>
292
+ <integer>0</integer>
293
+ <key>ShowRecoveryKey</key>
294
+ <false/>
295
+ <key>UseRecoveryKey</key>
296
+ <true/>
297
+ </dict>
298
+ </array>
299
+ <key>PayloadDisplayName</key>
300
+ <string>FileVault Enforcement</string>
301
+ <key>PayloadIdentifier</key>
302
+ <string>com.yourcompany.filevault.profile</string>
303
+ <key>PayloadType</key>
304
+ <string>Configuration</string>
305
+ <key>PayloadUUID</key>
306
+ <string>F1E2D3C4-B5A6-7890-FEDC-BA0987654321</string>
307
+ <key>PayloadVersion</key>
308
+ <integer>1</integer>
309
+ </dict>
310
+ </plist>
311
+ ```
312
+
313
+ ### 4.4 macOS firewall enforcement
314
+
315
+ ```bash
316
+ # Enable firewall via MDM command or script
317
+ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
318
+ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on
319
+ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setallowsigned enable
320
+ ```
321
+
322
+ ---
323
+
324
+ ## 5. Windows Enrollment
325
+
326
+ ### 5.1 Azure AD Join + Intune auto-enrollment
327
+
328
+ ```powershell
329
+ # Check current join status
330
+ dsregcmd /status
331
+
332
+ # Join Azure AD (user will be prompted for credentials)
333
+ Start-Process "ms-settings:workplace"
334
+
335
+ # Verify Intune enrollment
336
+ Get-WmiObject -Namespace "root\cimv2\mdm\dmmap" `
337
+ -Class "MDM_DevDetail_Ext01" | Select DeviceID
338
+ ```
339
+
340
+ ### 5.2 Windows Autopilot hardware hash collection
341
+
342
+ ```powershell
343
+ # Collect hardware hash for Autopilot registration
344
+ Install-Script -Name Get-WindowsAutoPilotInfo -Force
345
+ Get-WindowsAutoPilotInfo -OutputFile C:\temp\autopilot.csv
346
+
347
+ # Upload autopilot.csv to Intune > Devices > Windows Enrollment > Devices
348
+ ```
349
+
350
+ ### 5.3 BitLocker enforcement via Group Policy or Intune
351
+
352
+ ```powershell
353
+ # Enable BitLocker on the OS drive with TPM
354
+ Enable-BitLocker -MountPoint "C:" `
355
+ -EncryptionMethod XtsAes256 `
356
+ -TpmProtector
357
+
358
+ # Add a recovery password and back it up to Azure AD
359
+ Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector
360
+ BackupToAAD-BitLockerKeyProtector -MountPoint "C:" `
361
+ -KeyProtectorId (Get-BitLockerVolume -MountPoint "C:").KeyProtector[1].KeyProtectorId
362
+
363
+ # Verify encryption status
364
+ Get-BitLockerVolume | Select-Object MountPoint, VolumeStatus, EncryptionPercentage
365
+ ```
366
+
367
+ ### 5.4 Windows Firewall baseline
368
+
369
+ ```powershell
370
+ # Ensure all profiles are enabled
371
+ Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
372
+
373
+ # Block all inbound by default, allow outbound
374
+ Set-NetFirewallProfile -Profile Domain,Public,Private `
375
+ -DefaultInboundAction Block `
376
+ -DefaultOutboundAction Allow
377
+
378
+ # Allow specific inbound rules (example: RDP only from VPN subnet)
379
+ New-NetFirewallRule -DisplayName "Allow RDP from VPN" `
380
+ -Direction Inbound -Protocol TCP -LocalPort 3389 `
381
+ -RemoteAddress 10.0.0.0/8 -Action Allow
382
+ ```
383
+
384
+ ---
385
+
386
+
387
+ ## Contents
388
+
389
+ - [6. Security Policies — Cross-Platform](references/details.md)
390
+ - [7. Software Deployment](references/details.md)
391
+ - [8. Compliance Checks with osquery](references/details.md)
392
+ - [9. Remote Wipe & Lock](references/details.md)
393
+ - [10. Onboarding Automation — Zero-Touch Enrollment](references/details.md)
394
+ - [Quick Reference](references/details.md)
395
+
396
+ ## When to Use
397
+
398
+ - You are provisioning, configuring, or troubleshooting the infrastructure component covered by this skill (servers, storage, databases, networking, cloud, local AI).
399
+
400
+ ## Limitations
401
+
402
+ - Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
403
+ - Docs-only import: upstream scripts and templates not bundled.
404
+