Developer-Integration
Privacy-Audit als Teil Ihrer Deployment-Pipeline. API-first, CLI-kompatibel, Webhook-gesteuert.
API Base URL:
Auth:
Format: JSON (Content-Type: application/json)
https://forensicprivacy.io/api/v1Auth:
Authorization: Bearer IHR_API_KEYFormat: JSON (Content-Type: application/json)
Schnellstart
1. API-Key holen → Einstellungen → API-Keys
export NLTS_API_KEY="npt_live_ihr_key_hier"
2. Light-Scan ausführen (<5 Sekunden)
curl -X POST https://forensicprivacy.io/api/v1/enterprise/light \
-H "Authorization: Bearer $NLTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ihre-seite.de"}'
3. Forensic-Audit starten (2-3 Minuten, asynchron)
# Scan starten
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://ihre-seite.de","scan_type":"forensic_report"}' | jq -r .id)
# Ergebnis abfragen
curl -s https://forensicprivacy.io/api/v1/scan/$SCAN_ID \
-H "Authorization: Bearer $NLTS_API_KEY" | jq .overall_grade
CI/CD-Integration
Privacy-Audit automatisch nach jedem Deployment. Pipeline schlägt fehl bei kritischen Verstößen.
GitHub Actions
name: Privacy Audit
on:
deployment_status:
types: [success]
jobs:
privacy-check:
runs-on: ubuntu-latest
steps:
- name: 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://ihre-seite.de"}')
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
Benachrichtigung bei kritischen Funden. Webhook-URL konfigurieren, wir senden bei KO-Events.
Webhook konfigurieren
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://ihr-slack-webhook.com",
"secret": "ihr-hmac-secret",
"events": ["ko", "scan_complete"],
"scan_url": "https://ihre-seite.de"
}'
Webhook-Payload (bei KO-Event)
{
"event": "ko",
"scan_id": "abc-123",
"url": "https://ihre-seite.de",
"grade": "F",
"message": "KO criterion met: reject-leak detected",
"timestamp": "2026-04-04T10:30:00Z"
}
Der Webhook ist mit HMAC-SHA256 signiert. Verifizierung über den X-NLTS-Signature Header.
API-Endpunkte
| Methode | Endpunkt | Beschreibung | Dauer |
|---|---|---|---|
| POST | /enterprise/light | Light-Scan (Headers, TLS, DNS, Cookies) | <5s |
| POST | /enterprise/forensic | 6-Phasen Forensic-Audit | 2-3 Min |
| POST | /enterprise/deploy-hook | CI/CD Deployment-Trigger | async |
| POST | /scan | Scan starten | async |
| GET | /scan/{id} | Status & Ergebnisse | sofort |
| GET | /scans | Alle Scans (paginiert) | sofort |
| POST | /enterprise/webhook-config | Webhook-Alerts konfigurieren | sofort |
Antwortformat
Light-Scan Antwort
{
"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"
}
Anwendungsfälle
CI/CD Gate
Deployments blockieren die Privacy-Verstöße einführen. Light-Scan in der Pipeline, Fail bei Note F.
Nächtliches Monitoring
Täglicher Light-Scan per Cron. Slack-Alert wenn die Privacy-Note sinkt.
Pre-Launch Audit
Forensic-Audit auf Staging vor Go-Live. Signierter Report für Compliance-Dokumentation.
Mandanten-Reporting
Agenturen: Alle Mandanten-Domains per API scannen. White-Label Reports automatisch generieren.