Skip to content

πŸ”€ Automated macOS migration script from Netskope to any DLP solution via Jamf Pro. Complete cleanup with health verification.

License

Notifications You must be signed in to change notification settings

CaputoDavide93/Jamf-DLP-Migration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Jamf DLP Migration

Automated migration tool for transitioning from Jamf Behavioral Framework to Jamf DLP

Shell Jamf macOS License: MIT

Features β€’ Quick Start β€’ Configuration β€’ Contributing


✨ Features

Feature Description
πŸ”„ Automated Migration One-click transition from Behavioral Framework to DLP
πŸ” Pre-Flight Checks Validates system requirements before migration
πŸ“Š Progress Tracking Visual feedback during migration process
πŸ›‘οΈ Rollback Support Safe rollback if migration fails
πŸ“ Detailed Logging Comprehensive logs for troubleshooting
πŸ” Policy Preservation Maintains existing security policies

πŸ“‹ Prerequisites

Requirement Version
macOS 11.0+
Jamf Pro 10.35+
Behavioral Framework Installed
Admin Rights Required

πŸš€ Quick Start

⚠️ Important: Before running, you MUST customize the script for your DLP solution. See Configuration Required below.

1. Clone the Repository

git clone https://github.com/CaputoDavide93/Jamf-DLP-Migration.git
cd Jamf-DLP-Migration

2. Customize for Your DLP Solution

Edit migrate_to_dlp.sh and update these placeholder values:

# DLP paths - CUSTOMIZE THESE FOR YOUR DLP SOLUTION
DLP_PATHS=(
    "/Applications/YourDLP.app"        # ← Change to your DLP app path
    "/Library/Application Support/YourDLP"  # ← Change to your DLP support path
)

# Package identifiers for receipt checking
DLP_PKGS=("yourdlp" "com.yourdlp")     # ← Change to your DLP package IDs

3. Make Script Executable

chmod +x migrate_to_dlp.sh

4. Run Migration

sudo ./migrate_to_dlp.sh

βš™οΈ Configuration

Environment Variables

Variable Description Default
JAMF_URL Jamf Pro server URL -
DLP_PROFILE_ID DLP configuration profile ID -
LOG_LEVEL Logging verbosity INFO
DRY_RUN Test mode without changes false

Example Configuration

export JAMF_URL="https://your-jamf.jamfcloud.com"
export DLP_PROFILE_ID="123"
export LOG_LEVEL="DEBUG"

πŸ“– Usage

Basic Migration

sudo ./migrate_to_dlp.sh

Dry Run (Test Mode)

DRY_RUN=true sudo ./migrate_to_dlp.sh

With Verbose Logging

LOG_LEVEL=DEBUG sudo ./migrate_to_dlp.sh

πŸ”§ How It Works

graph TD
    A[Start Migration] --> B[Pre-Flight Checks]
    B --> C{System Valid?}
    C -->|Yes| D[Backup Current Config]
    C -->|No| E[Exit with Error]
    D --> F[Remove Behavioral Framework]
    F --> G[Install DLP Components]
    G --> H[Apply Policies]
    H --> I[Verify Installation]
    I --> J[Migration Complete]
Loading

Migration Steps

  1. Pre-Flight Checks - Validates macOS version, Jamf enrollment, and admin rights
  2. Configuration Backup - Creates backup of current Behavioral Framework settings
  3. Framework Removal - Safely removes Behavioral Framework components
  4. DLP Installation - Installs and configures Jamf DLP
  5. Policy Migration - Transfers existing policies to DLP format
  6. Verification - Confirms successful installation

πŸ› Troubleshooting

Common Issues

❌ Permission Denied
# Solution: Run with sudo
sudo ./migrate_to_dlp.sh
❌ Jamf Not Enrolled
# Verify Jamf enrollment
sudo jamf policy
❌ Migration Failed
# Check logs
cat /var/log/jamf_dlp_migration.log

# Rollback if needed
sudo ./migrate_to_dlp.sh --rollback

Log Locations

Log Path
Migration Log /var/log/jamf_dlp_migration.log
Jamf Log /var/log/jamf.log

🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘€ Author

Davide Caputo

GitHub Email


⭐ If this tool helped you, please give it a star! ⭐

About

πŸ”€ Automated macOS migration script from Netskope to any DLP solution via Jamf Pro. Complete cleanup with health verification.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages