Integrace pro vývojáře
Privacy audit jako součást vašeho deployment pipeline. API-first, kompatibilní s CLI, řízený webhooky.
API Base URL:
Auth:
Format: JSON (Content-Type: application/json)
https://forensicprivacy.io/api/v1Auth:
Authorization: Bearer VÁŠ_API_KLÍČFormat: JSON (Content-Type: application/json)
Rychlý start
1. Získejte API klíč → Nastavení → API klíče
export NLTS_API_KEY="npt_live_váš_klíč_zde"
2. Spustit Light Scan (<5 sekund)
curl -X POST https://forensicprivacy.io/api/v1/enterprise/light \
-H "Authorization: Bearer $NLTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://váš-web.cz"}'
3. Spustit forenzní audit (2–3 minuty, asynchronně)
# Spustit sken
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://váš-web.cz","scan_type":"forensic_report"}' | jq -r .id)
# Dotaz na výsledek
curl -s https://forensicprivacy.io/api/v1/scan/$SCAN_ID \
-H "Authorization: Bearer $NLTS_API_KEY" | jq .overall_grade
CI/CD integrace
Automatický privacy audit po každém nasazení. Pipeline selže při kritických porušeních.
GitHub Actions
name: Privacy Audit
on:
deployment_status:
types: [success]
jobs:
privacy-check:
runs-on: ubuntu-latest
steps:
- name: Spustit 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://váš-web.cz"}')
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 upozornění
Upozornění při kritických nálezech. Nakonfigurujte webhook URL a my odešleme alerty při KO událostech.
Konfigurace webhooku
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://váš-slack-webhook.com/nebo/váš-endpoint",
"secret": "váš-hmac-secret",
"events": ["ko", "scan_complete"],
"scan_url": "https://váš-web.cz"
}'
Webhook payload (při KO události)
{
"event": "ko",
"scan_id": "abc-123",
"url": "https://váš-web.cz",
"grade": "F",
"message": "KO criterion met: reject-leak detected",
"timestamp": "2026-04-04T10:30:00Z"
}
Webhook je podepsán pomocí HMAC-SHA256. Ověřte pomocí hlavičky X-NLTS-Signature.
API endpointy
| Metoda | Endpoint | Popis | Rychlost |
|---|---|---|---|
| POST | /enterprise/light | Light Scan (hlavičky, TLS, DNS, cookies) | <5s |
| POST | /enterprise/forensic | Kompletní 6fázový forenzní audit | 2–3 min |
| POST | /enterprise/deploy-hook | CI/CD deployment trigger | async |
| POST | /scan | Spustit libovolný typ skenu | async |
| GET | /scan/{id} | Stav skenu a výsledky | okamžitě |
| GET | /scans | Seznam všech skenů (stránkovaný) | okamžitě |
| POST | /enterprise/webhook-config | Konfigurace webhook upozornění | okamžitě |
Formát odpovědi
Odpověď Light Scan
{
"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"
}
Případy použití
CI/CD Gate
Blokování nasazení, která zavádějí porušení soukromí. Light Scan v pipeline, selhání při známce F.
Noční monitoring
Denní Light Scan přes cron. Slack upozornění při poklesu známky za soukromí.
Pre-Launch Audit
Forenzní audit na stagingu před spuštěním. Podepsaná zpráva pro dokumentaci shody.
Reporting pro klienty
Agentury: Hromadné skenování všech klientských domén přes API. Automatické generování white-label reportů.