forensicprivacy.io Forensic Intelligence Platform
Authorities & Investigation Court-ready evidence, investigation packages, CSV bulk Forensic Report Full depth incl. dark patterns — €249 Monitor Continuous GDPR monitoring from €99/month Banking & KYC Merchant due diligence, sanctions screening Investigative Journalism Uncover networks, verify operators
Pricing API Blog
DE CS
Sign in

Developer Integration

Privacy audit as part of your deployment pipeline. API-first, CLI-compatible, webhook-driven.

API Base URL: https://forensicprivacy.io/api/v1
Auth: Authorization: Bearer YOUR_API_KEY
Format: JSON (Content-Type: application/json)

Quick Start

1. Get your API key → Settings → API Keys
export NLTS_API_KEY="npt_live_your_key_here"
2. Run a Light Scan (<5 seconds)
curl -X POST https://forensicprivacy.io/api/v1/enterprise/light \
  -H "Authorization: Bearer $NLTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://your-site.com"}'
3. Run a Forensic Audit (2-3 minutes, async)
# Start scan
SCAN_ID=$(curl -s -X POST https://forensicprivacy.io/api/v1/scan \
  -H "Authorization: Bearer $NLTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://your-site.com","scan_type":"forensic_report"}' | jq -r .id)

# Poll for result
curl -s https://forensicprivacy.io/api/v1/scan/$SCAN_ID \
  -H "Authorization: Bearer $NLTS_API_KEY" | jq .overall_grade

CI/CD Integration

Trigger a privacy audit automatically after every deployment. Fail the pipeline if critical violations are found.

GitHub Actions
name: Privacy Audit
on:
  deployment_status:
    types: [success]

jobs:
  privacy-check:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger Privacy Audit
        run: |
          RESULT=$(curl -s -X POST https://forensicprivacy.io/api/v1/enterprise/light \
            -H "Authorization: Bearer ${{ secrets.NLTS_API_KEY }}" \
            -H "Content-Type: application/json" \
            -d '{"url":"${{ env.DEPLOY_URL }}"}')
          GRADE=$(echo $RESULT | jq -r .overall_grade)
          echo "Privacy Grade: $GRADE"
          if [ "$GRADE" = "F" ]; then
            echo "::error::Privacy audit failed with grade F"
            exit 1
          fi
GitLab CI
privacy-audit:
  stage: test
  script:
    - |
      RESULT=$(curl -s -X POST https://forensicprivacy.io/api/v1/enterprise/light \
        -H "Authorization: Bearer $NLTS_API_KEY" \
        -H "Content-Type: application/json" \
        -d "{\"url\":\"$CI_ENVIRONMENT_URL\"}")
      GRADE=$(echo $RESULT | jq -r .overall_grade)
      echo "Privacy Grade: $GRADE"
      if [ "$GRADE" = "F" ]; then exit 1; fi
  only:
    - main
Jenkins (Declarative Pipeline)
stage('Privacy Audit') {
    steps {
        script {
            def result = sh(
                returnStdout: true,
                script: """curl -s -X POST https://forensicprivacy.io/api/v1/enterprise/light \
                  -H 'Authorization: Bearer ${env.NLTS_API_KEY}' \
                  -H 'Content-Type: application/json' \
                  -d '{"url":"${env.DEPLOY_URL}"}'"""
            )
            def grade = readJSON(text: result).overall_grade
            echo "Privacy Grade: ${grade}"
            if (grade == 'F') { error('Privacy audit failed') }
        }
    }
}
Bitbucket Pipelines
- step:
    name: Privacy Audit
    script:
      - |
        RESULT=$(curl -s -X POST https://forensicprivacy.io/api/v1/enterprise/light \
          -H "Authorization: Bearer $NLTS_API_KEY" \
          -H "Content-Type: application/json" \
          -d '{"url":"https://your-site.com"}')
        GRADE=$(echo $RESULT | python3 -c "import sys,json;print(json.load(sys.stdin)['overall_grade'])")
        echo "Privacy Grade: $GRADE"
        if [ "$GRADE" = "F" ]; then exit 1; fi

Webhook Alerts

Get notified when a scan finds critical issues. Configure a webhook URL and we'll POST alerts on KO events.

Configure webhook
curl -X POST https://forensicprivacy.io/api/v1/enterprise/webhook-config \
  -H "Authorization: Bearer $NLTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-slack-webhook.com/or/your-endpoint",
    "secret": "your-hmac-secret",
    "events": ["ko", "scan_complete"],
    "scan_url": "https://your-site.com"
  }'
Webhook payload (on KO event)
{
  "event": "ko",
  "scan_id": "abc-123",
  "url": "https://your-site.com",
  "grade": "F",
  "message": "KO criterion met: reject-leak detected",
  "timestamp": "2026-04-04T10:30:00Z"
}

The webhook is signed with HMAC-SHA256. Verify with the X-NLTS-Signature header.

API Endpoints

MethodEndpointDescriptionSpeed
POST/enterprise/lightLight Scan (headers, TLS, DNS, cookies)<5s
POST/enterprise/forensicFull 6-phase forensic audit2-3 min
POST/enterprise/deploy-hookCI/CD deployment triggerasync
POST/scanStart any scan typeasync
GET/scan/{id}Get scan status & resultsinstant
GET/scansList all scans (paginated)instant
POST/enterprise/webhook-configConfigure alert webhooksinstant

Response Format

Light Scan response
{
  "type": "light",
  "url": "https://example.com",
  "domain": "example.com",
  "overall_grade": "B",
  "grades": {
    "headers": "C",
    "tls": "A",
    "dns": "B",
    "cookies": "A+"
  },
  "duration_seconds": 2.3,
  "timestamp": "2026-04-04T10:30:00Z"
}

Use Cases

CI/CD Gate

Block deployments that introduce privacy violations. Light Scan in your pipeline, fail on grade F.

Nightly Monitoring

Schedule daily Light Scans via cron. Get Slack alerts when your privacy grade drops.

Pre-Launch Audit

Run a Forensic Audit on staging before go-live. Get a signed report for compliance documentation.

Client Reporting

Agencies: Batch-scan all client domains via API. Auto-generate white-label reports.

forensicprivacy.io

Forensic intelligence platform for GDPR compliance, fraud detection, and digital evidence. Operated by NLTS Global Analytics s.r.o., Pilsen, Czech Republic.

Products

Pricing Authorities Banking & KYC Journalists API Docs

Resources

Methodology Dark Pattern Detection Blog

Legal

Privacy Policy Terms Withdrawal Cancel contract Imprint Contact

Procurement & Compliance

EVB-IT Service Description Data Processing Agreement Technical Measures (Art. 32) SLA System Status Sub-processors
© 2026 NLTS Global Analytics s.r.o. Public Sector: Invoice payment, EVB-IT, expert witness