implementing-data-loss-prevention-with-microsoft-purview

mukul975/Anthropic-Cybersecurity-Skills · updated May 25, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills install mukul975/Anthropic-Cybersecurity-Skills/implementing-data-loss-prevention-with-microsoft-purview
0 commentsdiscussion
summary

Implements data loss prevention policies using Microsoft Purview to protect sensitive information across Exchange Online, SharePoint, OneDrive, Teams, endpoint devices, and Power BI. The analyst configures sensitivity labels with encryption and content marking, creates DLP policies using built-in and custom sensitive information types with regex patterns, deploys endpoint DLP rules to control file operations on Windows and macOS devices, and monitors policy effectiveness through Activity Explorer and DLP alert management. Uses PowerShell cmdlets and the Microsoft Graph API for programmatic policy management. Activates for requests involving DLP policy creation, sensitivity label configuration, data classification, endpoint data protection, or Microsoft Purview compliance administration.

skill.md
name
implementing-data-loss-prevention-with-microsoft-purview
description
'Implements data loss prevention policies using Microsoft Purview to protect sensitive information across Exchange Online, SharePoint, OneDrive, Teams, endpoint devices, and Power BI. The analyst configures sensitivity labels with encryption and content marking, creates DLP policies using built-in and custom sensitive information types with regex patterns, deploys endpoint DLP rules to control file operations on Windows and macOS devices, and monitors policy effectiveness through Activity Explorer and DLP alert management. Uses PowerShell cmdlets and the Microsoft Graph API for programmatic policy management. Activates for requests involving DLP policy creation, sensitivity label configuration, data classification, endpoint data protection, or Microsoft Purview compliance administration. '
domain
cybersecurity
subdomain
data-protection
tags
- DLP - Microsoft-Purview - sensitivity-labels - endpoint-DLP - data-classification - compliance
version
1.0.0
author
mukul975
license
Apache-2.0
nist_csf
- PR.DS-01 - PR.DS-02 - PR.DS-10 - GV.PO-01

Implementing Data Loss Prevention with Microsoft Purview

When to Use

  • Deploying DLP policies to prevent sensitive data (PII, PHI, PCI, intellectual property) from leaving the organization through email, cloud storage, chat, or endpoint file operations
  • Configuring sensitivity labels with encryption, content marking, and auto-labeling to classify documents and emails by confidentiality level
  • Creating custom sensitive information types with regex patterns to detect organization-specific data formats (employee IDs, project codes, internal account numbers)
  • Deploying endpoint DLP to control copy-to-USB, print, upload-to-cloud, and copy-to-clipboard actions for labeled or sensitive content on managed devices
  • Investigating DLP incidents through Activity Explorer to analyze policy match events, user activity patterns, and false positive rates for policy tuning

Do not use without appropriate Microsoft 365 E5, E5 Compliance, or E5 Information Protection licensing. Do not deploy DLP policies directly to production enforcement mode without a simulation period. Do not configure endpoint DLP without coordinating with the endpoint management team responsible for device onboarding.

Prerequisites

  • Microsoft 365 E5 or E5 Compliance / E5 Information Protection add-on license assigned to target users
  • Global Administrator, Compliance Administrator, or Compliance Data Administrator role in the Microsoft Purview portal
  • Exchange Online PowerShell module (ExchangeOnlineManagement v3.x) and Security & Compliance PowerShell for policy automation
  • Devices onboarded to Microsoft Purview endpoint DLP through Microsoft Intune or Configuration Manager (Windows 10/11 21H2+, macOS 12+)
  • Data classification scan completed or content explorer populated to understand existing sensitive data distribution
  • Stakeholder agreement on sensitivity label taxonomy (classification levels, encryption requirements, scope)

Workflow

Step 1: Design the Sensitivity Label Taxonomy

Define the classification hierarchy that maps to organizational data handling requirements:

  • Establish label tiers: Create a label hierarchy reflecting data sensitivity levels. A standard enterprise taxonomy includes:
    Public           -> No protection, external sharing allowed
    General          -> No encryption, internal watermark "GENERAL"
    Confidential     -> Encryption (all employees), header/footer marking
      ├─ Confidential - All Employees
      ├─ Confidential - Finance
      └─ Confidential - HR
    Highly Confidential -> Encryption (specific users/groups), watermark, no forwarding
      ├─ Highly Confidential - Project X
      └─ Highly Confidential - Board Only
    
  • Define protection settings per label: For each label, configure encryption scope (all employees, specific groups, or custom permissions), content marking (headers, footers, watermarks), and auto-labeling conditions:
    # Connect to Security & Compliance PowerShell
    Connect-IPPSSession -UserPrincipalName [email protected]
    
    # Create parent label
    New-Label -DisplayName "Confidential" `
      -Name "Confidential" `
      -Tooltip "Business data that could cause damage if disclosed to unauthorized parties" `
      -Comment "Apply to internal business documents, financial reports, and customer data"
    
    # Create sub-label with encryption
    New-Label -DisplayName "Confidential - Finance" `
      -Name "Confidential-Finance" `
      -ParentId (Get-Label -Identity "Confidential").Guid `
      -Tooltip "Financial data restricted to Finance department" `
      -EncryptionEnabled $true `
      -EncryptionProtectionType "Template" `
      -EncryptionRightsDefinitions "[email protected]:VIEW,VIEWRIGHTSDATA,DOCEDIT,EDIT,PRINT,EXTRACT,OBJMODEL" `
      -ContentType "File, Email"
    
  • Configure content marking: Apply visual indicators that persist with the document:
    Set-Label -Identity "Confidential-Finance" `
      -HeaderEnabled $true `
      -HeaderText "CONFIDENTIAL - FINANCE" `
      -HeaderFontSize 10 `
      -HeaderFontColor "#FF0000" `
      -HeaderAlignment "Center" `
      -FooterEnabled $true `
      -FooterText "This document contains confidential financial information" `
      -WatermarkEnabled $true `
      -WatermarkText "CONFIDENTIAL" `
      -WatermarkFontSize 36
    
  • Publish labels via label policy: Labels must be published to users through a label policy that defines which users see the labels and whether a default label or mandatory labeling is enforced:
    New-LabelPolicy -Name "Corporate Label Policy" `
      -Labels "Public","General","Confidential","Confidential-Finance",
              "Confidential-HR","HighlyConfidential","HighlyConfidential-ProjectX" `
      -ExchangeLocation "All" `
      -ModernGroupLocation "All" `
      -Comment "Standard corporate sensitivity labels"
    
    # Require justification for label downgrade
    Set-LabelPolicy -Identity "Corporate Label Policy" `
      -AdvancedSettings @{RequireDowngradeJustification="True";
                          DefaultLabelId="General"}
    

Step 2: Create DLP Policies with Sensitive Information Types

Configure DLP policies that detect and protect sensitive content across Microsoft 365 workloads:

  • Create a DLP policy using built-in sensitive information types: Microsoft Purview includes 300+ built-in SITs for credit card numbers, Social Security numbers, passport numbers, and health records. Create a policy targeting financial data:
    # Create DLP policy scoped to Exchange, SharePoint, OneDrive
    New-DlpCompliancePolicy -Name "Financial Data Protection" `
      -ExchangeLocation "All" `
      -SharePointLocation "All" `
      -OneDriveLocation "All" `
      -TeamsLocation "All" `
      -Mode "TestWithNotifications" `
      -Comment "Protects credit card numbers, bank account numbers, and financial identifiers"
    
    # Create rule for high-volume credit card detection
    New-DlpComplianceRule -Name "Block Bulk Credit Card Sharing" `
      -Policy "Financial Data Protection" `
      -ContentContainsSensitiveInformation @{
        Name = "Credit Card Number";
        MinCount = 5;
        MinConfidence = 85
      } `
      -BlockAccess $true `
      -BlockAccessScope "All" `
      -NotifyUser "SiteAdmin","LastModifier" `
      -NotifyUserType "NotSet" `
      -GenerateIncidentReport "SiteAdmin" `
      -IncidentReportContent "All" `
      -ReportSeverityLevel "High"
    
    # Create rule for low-volume with user override
    New-DlpComplianceRule -Name "Warn on Credit Card Sharing" `
      -Policy "Financial Data Protection" `
      -ContentContainsSensitiveInformation @{
        Name = "Credit Card Number";
        MinCount = 1;
        MaxCount = 4;
        MinConfidence = 75
      } `
      -NotifyUser "LastModifier" `
      -NotifyUserType "NotSet" `
      -GenerateAlert "Low" `
      -NotifyOverride "WithJustification"
    
  • Create custom sensitive information types with regex: Define organization-specific patterns for data that built-in SITs do not cover:
    # Create custom SIT for employee ID format (EMP-XXXXXX)
    $rulePackXml = @"
    <RulePackage xmlns="http://schemas.microsoft.com/office/2011/mce">
      <RulePack id="$(New-Guid)">
        <Version major="1" minor="0" build="0" revision="0"/>
        <Publisher id="$(New-Guid)"/>
      </RulePack>
      <Rules>
        <Entity id="$(New-Guid)" patternsProximity="300"
                recommendedConfidence="85">
          <Pattern confidenceLevel="85">
            <IdMatch idRef="EmployeeId_Regex"/>
          </Pattern>
          <Pattern confidenceLevel="95">
            <IdMatch idRef="EmployeeId_Regex"/>
            <Match idRef="EmployeeId_Keyword"/>
          </Pattern>
        </Entity>
        <Regex id="EmployeeId_Regex">EMP-[0-9]{6}</Regex>
        <Keyword id="EmployeeId_Keyword">
          <Group matchStyle="word">
            <Term>employee</Term>
            <Term>employee id</Term>
            <Term>emp id</Term>
            <Term>staff number</Term>
          </Group>
        </Keyword>
        <LocalizedStrings>
          <Resource idRef="EmployeeId_Regex">
            <Name default="true" langcode="en-us">Contoso Employee ID</Name>
            <Description default="true" langcode="en-us">
              Detects Contoso employee IDs in format EMP-XXXXXX
            </Description>
          </Resource>
        </LocalizedStrings>
      </Rules>
    </RulePackage>
    "@
    
    # Save and import the rule package
    $rulePackXml | Out-File -FilePath "EmployeeID_SIT.xml" -Encoding utf8
    New-DlpSensitiveInformationTypeRulePackage -FileData (
      [System.IO.File]::ReadAllBytes("EmployeeID_SIT.xml")
    )
    
  • Use sensitivity labels as DLP conditions: Create policies that apply different restrictions based on the label applied to the content:
    New-DlpCompliancePolicy -Name "Highly Confidential Sharing Control" `
      -ExchangeLocation "All" `
      -SharePointLocation "All" `
      -OneDriveLocation "All" `
      -Mode "Enable"
    
    New-DlpComplianceRule -Name "Block External Sharing of HC Content" `
      -Policy "Highly Confidential Sharing Control" `
      -ContentContainsSensitiveInformation $null `
      -ContentPropertyContainsWords "MSIP_Label_$(
        (Get-Label -Identity 'HighlyConfidential').Guid
      )_Enabled=True" `
      -BlockAccess $true `
      -BlockAccessScope "NotInOrganization" `
      -NotifyUser "LastModifier" `
      -GenerateIncidentReport "SiteAdmin" `
      -ReportSeverityLevel "High"
    

Step 3: Deploy Endpoint DLP Rules

Extend DLP protection to managed Windows and macOS endpoints to control file operations:

  • Verify device onboarding: Confirm devices are onboarded to Microsoft Purview endpoint DLP through Microsoft Intune or the local onboarding script:
    # Check onboarding status via Intune Graph API
    # GET https://graph.microsoft.com/beta/deviceManagement/managedDevices
    # Filter for complianceState and dlpOnboardingStatus
    
    # Local verification on Windows endpoint
    # Check registry key:
    # HKLM\SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status
    # OnboardingState should be 1
    
  • Configure endpoint DLP settings: Define global settings that control which applications and file types endpoint DLP monitors:
    # Configure unallowed apps (browsers, cloud sync clients)
    Set-PolicyConfig -EndpointDlpGlobalSettings `
      -UnallowedApps @(
        @{Name="Chrome"; Executable="chrome.exe"},
        @{Name="Firefox"; Executable="firefox.exe"},
        @{Name="PersonalDropbox"; Executable="Dropbox.exe"}
      )
    
    # Configure unallowed Bluetooth apps
    Set-PolicyConfig -EndpointDlpGlobalSettings `
      -UnallowedBluetoothApps @(
        @{Name="BluetoothFileTransfer"; Executable="fsquirt.exe"}
      )
    
    # Configure network share groups
    Set-PolicyConfig -EndpointDlpGlobalSettings `
      -NetworkShareGroups @(
        @{
          Name = "Authorized Shares";
          NetworkPaths = @("\\server01\approved$", "\\server02\secure$")
        }
      )
    
    # Configure sensitive service domains (allowed cloud destinations)
    Set-PolicyConfig -EndpointDlpGlobalSettings `
      -SensitiveServiceDomains @(
        @{
          Name = "Approved Cloud Storage";
          Domains = @("sharepoint.com", "onedrive.com")
          MatchType = "Allow"
        },
        @{
          Name = "Blocked Cloud Storage";
          Domains = @("dropbox.com", "box.com", "drive.google.com")
          MatchType = "Block"
        }
      )
    
  • Create endpoint-specific DLP rules: Define rules that control copy-to-USB, print, upload, and clipboard operations for sensitive content:
    # Add endpoint location to existing policy
    Set-DlpCompliancePolicy -Identity "Financial Data Protection" `
      -EndpointDlpLocation "All"
    
    # Create endpoint-specific rule
    New-DlpComplianceRule -Name "Block USB Copy of Financial Data" `
      -Policy "Financial Data Protection" `
      -ContentContainsSensitiveInformation @{
        Name = "Credit Card Number";
        MinCount = 1;
        MinConfidence = 85
      } `
      -EndpointDlpRestrictions @(
        @{Setting="CopyToRemovableMedia"; Value="Block"},
        @{Setting="CopyToNetworkShare"; Value="Audit"},
        @{Setting="CopyToClipboard"; Value="Block"},
        @{Setting="Print"; Value="Warn"},
        @{Setting="UploadToCloudService"; Value="Block"},
        @{Setting="UnallowedBluetoothApp"; Value="Block"}
      ) `
      -NotifyUser "LastModifier" `
      -GenerateIncidentReport "SiteAdmin"
    
  • Configure printer groups and USB device exceptions: Allow specific printers and approved USB devices while blocking unauthorized removable media:
    # Define authorized USB devices by vendor/product ID
    Set-PolicyConfig -EndpointDlpGlobalSettings `
      -RemovableMediaGroups @(
        @{
          Name = "Approved Encrypted USBs";
          Devices = @(
            @{VendorId="0781"; ProductId="5583"; SerialNumber="*"}  # SanDisk Extreme
          )
        }
      )
    
    # Define authorized printers
    Set-PolicyConfig -EndpointDlpGlobalSettings `
      -PrinterGroups @(
        @{
          Name = "Corporate Printers";
          Printers = @(
            @{PrinterName="*Corporate*"; PrinterType="Corporate"},
            @{PrinterName="PDF Printer"; PrinterType="Print to PDF"}
          )
        }
      )
    

Step 4: Configure Auto-Labeling Policies

Deploy service-side auto-labeling to automatically classify content at rest and in transit:

  • Create auto-labeling policy for email: Automatically label inbound and outbound emails containing sensitive information:
    New-AutoSensitivityLabelPolicy -Name "Auto-Label Financial Emails" `
      -ExchangeLocation "All" `
      -Mode "TestWithNotifications" `
      -Comment "Automatically labels emails containing financial data as Confidential-Finance"
    
    New-AutoSensitivityLabelRule -Name "Financial SIT Match" `
      -Policy "Auto-Label Financial Emails" `
      -SensitiveInformationType @{
        Name = "Credit Card Number";
        MinCount = 1;
        MinConfidence = 85
      },@{
        Name = "U.S. Bank Account Number";
        MinCount = 1;
        MinConfidence = 85
      } `
      -WorkloadDomain "Exchange" `
      -ApplySensitivityLabel "Confidential-Finance"
    
  • Create auto-labeling policy for SharePoint and OneDrive: Label existing files at rest that match sensitive information patterns:
    New-AutoSensitivityLabelPolicy -Name "Auto-Label SP Financial Docs" `
      -SharePointLocation "https://contoso.sharepoint.com/sites/finance" `
      -OneDriveLocation "All" `
      -Mode "TestWithNotifications"
    
    New-AutoSensitivityLabelRule -Name "Financial Docs SIT Match" `
      -Policy "Auto-Label SP Financial Docs" `
      -SensitiveInformationType @{
        Name = "Credit Card Number"; MinCount = 1; MinConfidence = 85
      } `
      -WorkloadDomain "SharePoint" `
      -ApplySensitivityLabel "Confidential-Finance"
    
  • Simulate before enforcing: Always run auto-labeling in simulation mode first. Review the simulation results in the Microsoft Purview portal under Information Protection > Auto-labeling. The simulation shows estimated matches per location and sample content matches for validation. Only switch to enforcement mode after confirming accuracy:
    # Check simulation results
    Get-AutoSensitivityLabelPolicy -Identity "Auto-Label Financial Emails" |
      Select-Object Name, Mode, WhenCreated, DistributionStatus
    
    # Switch to enforcement after validation
    Set-AutoSensitivityLabelPolicy -Identity "Auto-Label Financial Emails" `
      -Mode "Enable"
    

Step 5: Monitor with Activity Explorer and Manage DLP Alerts

Use Activity Explorer and the DLP alerts dashboard to monitor policy effectiveness and investigate incidents:

  • Access Activity Explorer: Navigate to Microsoft Purview portal > Data Classification > Activity Explorer. Filter by activity type "DLPRuleMatch" to see all DLP policy matches. Key columns include:
    • Activity timestamp and user principal name
    • Sensitive information type matched and confidence level
    • Policy and rule name that triggered
    • Action taken (Audit, Block, Warn with Override)
    • Location (Exchange, SharePoint, OneDrive, Endpoint)
    • File name and site URL
  • Analyze false positive rates: Export Activity Explorer data filtered by "Override" actions with justification text to identify rules that users frequently override. A high override rate (>20%) indicates the rule may be too aggressive or matching non-sensitive content:
    Activity Explorer filter:
      Activity type = DLPRuleMatch
      Action = Override
      Date range = Last 30 days
      Policy name = Financial Data Protection
    
    Export to CSV for analysis of override justifications and
    affected file types to refine SIT confidence thresholds.
    
  • Configure DLP alerts: Set up alert policies in Microsoft Purview > Data Loss Prevention > Alerts to receive notifications for high-severity matches:
    # DLP alerts are configured within the DLP rule itself
    # Adjust alert volume thresholds on high-traffic rules
    Set-DlpComplianceRule -Identity "Block Bulk Credit Card Sharing" `
      -GenerateAlert "High" `
      -AlertProperties @{
        AggregationType = "SimpleAggregation";
        Threshold = 1;
        TimeWindow = "00:05:00"
      }
    
  • Query DLP events via Microsoft Graph API: Programmatically retrieve DLP alerts and policy match details for integration with SIEM or custom dashboards:
    import requests
    
    # Authenticate with Microsoft Graph (client credentials flow)
    token_url = "https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
    token_response = requests.post(token_url, data={
        "client_id": client_id,
        "client_secret": client_secret,
        "scope": "https://graph.microsoft.com/.default",
        "grant_type": "client_credentials"
    })
    access_token = token_response.json()["access_token"]
    
    headers = {"Authorization": f"Bearer {access_token}"}
    
    # Retrieve DLP alerts
    alerts_url = "https://graph.microsoft.com/v1.0/security/alerts_v2"
    params = {
        "$filter": "serviceSource eq 'microsoftDataLossPrevention'",
        "$top": 50,
        "$orderby": "createdDateTime desc"
    }
    response = requests.get(alerts_url, headers=headers, params=params)
    alerts = response.json().get("value", [])
    
    for alert in alerts:
        print(f"Alert: {alert['title']}")
        print(f"  Severity: {alert['severity']}")
        print(f"  Status: {alert['status']}")
        print(f"  Created: {alert['createdDateTime']}")
        print(f"  User: {alert.get('userStates', [{}])[0].get('userPrincipalName', 'N/A')}")
    
  • Retrieve DLP policy match details for compliance reporting: Use the unified audit log to extract granular DLP match data including the matched content, SIT type, and confidence level:
    # Search unified audit log for DLP policy matches
    Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) `
      -EndDate (Get-Date) `
      -RecordType "DLP" `
      -ResultSize 1000 |
      Select-Object CreationDate, UserIds, Operations,
        @{N='PolicyName';E={($_.AuditData | ConvertFrom-Json).PolicyDetails.PolicyName}},
        @{N='RuleName';E={($_.AuditData | ConvertFrom-Json).PolicyDetails.Rules.RuleName}},
        @{N='SITMatched';E={($_.AuditData | ConvertFrom-Json).SensitiveInfoDetections.SensitiveType}} |
      Export-Csv -Path "DLP_Audit_Report.csv" -NoTypeInformation
    

Key Concepts

TermDefinition
Sensitivity LabelA classification tag applied to documents and emails that can enforce encryption, content marking (headers/footers/watermarks), and access restrictions. Labels persist with the content and travel with files when shared externally.
Sensitive Information Type (SIT)A pattern-based classifier that detects specific data patterns (credit card numbers, SSNs, custom regex) in content. Each SIT has a confidence level (low/medium/high) determined by primary pattern match plus corroborating evidence (keywords, proximity).
DLP PolicyA set of rules that detect sensitive information in Microsoft 365 locations (Exchange, SharePoint, OneDrive, Teams, Endpoints) and apply protective actions (audit, warn with override, block) based on the sensitivity of matched content and the sharing context.
Endpoint DLPExtension of DLP protection to managed Windows and macOS devices that monitors and controls file operations including copy-to-USB, print, upload-to-cloud, copy-to-clipboard, and access by unallowed applications for files containing sensitive information.
Activity ExplorerA monitoring dashboard in Microsoft Purview that displays a historical view (up to 30 days) of labeled content activities, DLP policy matches, and user interactions with classified data across all monitored locations.
Auto-LabelingService-side automatic classification that applies sensitivity labels to documents and emails matching specified SIT patterns without requiring user interaction. Runs in simulation mode first to preview matches before enforcement.
Content MarkingVisual indicators (headers, footers, watermarks) applied by sensitivity labels to documents and emails. Markings persist in the file and are visible when printed or shared, serving as a visual classification reminder.
DLP AlertA notification generated when a DLP rule match meets the configured severity threshold. Alerts appear in the Microsoft Purview DLP alerts dashboard and can be routed to Microsoft Sentinel or other SIEM platforms.

Tools & Systems

  • Microsoft Purview Compliance Portal: Web-based administration interface for creating and managing sensitivity labels, DLP policies, auto-labeling rules, and reviewing Activity Explorer data and DLP alerts.
  • Security & Compliance PowerShell: PowerShell module (Connect-IPPSSession) providing cmdlets for programmatic management of labels (New-Label, Set-Label), label policies (New-LabelPolicy), DLP policies (New-DlpCompliancePolicy, New-DlpComplianceRule), and sensitive information types.
  • Microsoft Graph Security API: REST API providing programmatic access to DLP alerts (security/alerts_v2), data classification insights, and protection scope evaluation for integrating Purview DLP with custom applications and SIEM platforms.
  • Microsoft Intune: Endpoint management platform used to onboard Windows and macOS devices to endpoint DLP, deploy configuration profiles, and manage device compliance states.
  • Microsoft Sentinel: Cloud-native SIEM that ingests DLP alerts and audit logs from Microsoft Purview via the Microsoft 365 Defender data connector for correlation with other security events and automated incident response.
  • Unified Audit Log: Microsoft 365 audit service recording all DLP policy match events (RecordType "DLP") with detailed match metadata for compliance reporting and forensic investigation.

how to use implementing-data-loss-prevention-with-microsoft-purview

How to use implementing-data-loss-prevention-with-microsoft-purview on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add implementing-data-loss-prevention-with-microsoft-purview
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills install mukul975/Anthropic-Cybersecurity-Skills/implementing-data-loss-prevention-with-microsoft-purview

The skills CLI fetches implementing-data-loss-prevention-with-microsoft-purview from GitHub repository mukul975/Anthropic-Cybersecurity-Skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/implementing-data-loss-prevention-with-microsoft-purview

Reload or restart Cursor to activate implementing-data-loss-prevention-with-microsoft-purview. Access the skill through slash commands (e.g., /implementing-data-loss-prevention-with-microsoft-purview) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Exploratory Data Analysis

Quickly understand datasets, identify patterns, and generate insights

Example

Analyze CSV with 100K rows, identify outliers, visualize correlations, suggest hypotheses

Reduce EDA time from hours to minutes, uncover insights faster

Data Cleaning & Transformation

Write scripts to clean messy data, handle missing values, normalize formats

Example

Generate Python/SQL to fix date formats, impute missing values, remove duplicates

Automate 80% of data preprocessing work

Statistical Analysis

Perform hypothesis testing, regression, and statistical modeling

Example

Run A/B test analysis, calculate confidence intervals, interpret p-values

Get statistically sound analysis without PhD in statistics

Data Visualization

Create charts, dashboards, and visual reports

Example

Generate matplotlib/seaborn code for time series plots, distribution charts, heatmaps

Build presentation-ready visualizations 3x faster

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Python environment (pandas, numpy, matplotlib) or SQL database access
  • Basic understanding of data analysis concepts
  • Sample datasets for testing skill capabilities

Time Estimate

20-40 minutes to set up and run first analysis

Installation Steps

  1. 1.Install data analysis skill using provided command
  2. 2.Prepare a sample dataset (CSV, JSON, or database connection)
  3. 3.Start with descriptive statistics: 'Summarize this dataset'
  4. 4.Progress to visualization: 'Create a scatter plot of X vs Y'
  5. 5.Advanced analysis: 'Run linear regression and interpret results'
  6. 6.Validate outputs: check calculations, verify visualizations make sense
  7. 7.Document analysis workflow for reproducibility

Common Pitfalls

  • Not validating statistical assumptions before applying tests
  • Accepting visualizations without checking data accuracy
  • Overlooking data quality issues (missing values, outliers)
  • Misinterpreting correlation as causation
  • Using wrong statistical test for data distribution
  • Not considering sample size and statistical power

Best Practices

✓ Do

  • +Always validate data quality before analysis
  • +Check statistical assumptions (normality, independence, etc.)
  • +Visualize data before running statistical tests
  • +Document analysis steps for reproducibility
  • +Cross-validate findings with domain experts
  • +Use skill for initial exploration, then dive deeper manually
  • +Save generated code for reuse on similar datasets

✗ Don't

  • Don't trust analysis without verifying data quality
  • Don't apply statistical tests without checking assumptions
  • Don't make business decisions solely on AI-generated analysis
  • Don't ignore outliers without investigating cause
  • Don't skip data validation and sanity checks
  • Don't use for mission-critical financial or medical analysis without expert review

💡 Pro Tips

  • Describe data context: 'This is user behavior data from e-commerce site'
  • Ask for interpretation: 'What does this correlation mean for business?'
  • Request multiple approaches: 'Show 3 ways to handle missing data'
  • Combine AI analysis with domain expertise for best insights
  • Use for rapid prototyping, then refine analysis manually

When to Use This

✓ Use When

Use for exploratory data analysis, data cleaning, statistical testing, visualization prototyping, and learning new analysis techniques. Best for initial exploration and rapid insights.

✗ Avoid When

Avoid for mission-critical financial analysis, medical research requiring regulatory compliance, production ML models, or when deep statistical expertise is required for nuanced interpretation.

Learning Path

  1. 1Basic: descriptive statistics, data cleaning, simple visualizations
  2. 2Intermediate: hypothesis testing, regression, correlation analysis
  3. 3Advanced: time series analysis, clustering, predictive modeling
  4. 4Expert: causal inference, experimental design, advanced statistical methods

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.632 reviews
  • Li Flores· Dec 28, 2024

    Registry listing for implementing-data-loss-prevention-with-microsoft-purview matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Pratham Ware· Dec 12, 2024

    Useful defaults in implementing-data-loss-prevention-with-microsoft-purview — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Diego Shah· Dec 4, 2024

    Useful defaults in implementing-data-loss-prevention-with-microsoft-purview — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Camila Khanna· Nov 23, 2024

    implementing-data-loss-prevention-with-microsoft-purview has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Sakshi Patil· Nov 3, 2024

    implementing-data-loss-prevention-with-microsoft-purview has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Chaitanya Patil· Oct 18, 2024

    Solid pick for teams standardizing on skills: implementing-data-loss-prevention-with-microsoft-purview is focused, and the summary matches what you get after install.

  • Camila Agarwal· Oct 14, 2024

    Solid pick for teams standardizing on skills: implementing-data-loss-prevention-with-microsoft-purview is focused, and the summary matches what you get after install.

  • Carlos Reddy· Sep 25, 2024

    Useful defaults in implementing-data-loss-prevention-with-microsoft-purview — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Piyush G· Sep 9, 2024

    We added implementing-data-loss-prevention-with-microsoft-purview from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Xiao Flores· Sep 5, 2024

    We added implementing-data-loss-prevention-with-microsoft-purview from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

showing 1-10 of 32

1 / 4