PCrisk.com
Webmaster-Hilfe

Ihr Trust Badge hinzufügen
in zwei Minuten.

Sehen Sie sich Ihr Badge hier in der Vorschau an, holen Sie dann den fertigen Code aus Ihrem PCrisk-Dashboard und fügen Sie ihn in Ihre Website ein. Diese Anleitung erklärt Einrichtung, Anpassung und was zu tun ist, wenn Ihr Badge nicht angezeigt wird.

Erste Schritte

Badge ansehen & installieren

Probieren Sie die Stile unten aus, um genau zu sehen, was Ihre Besucher sehen. Wenn Sie bereit sind, wartet Ihr personalisierter Code in Ihrem Dashboard – ganz ohne Programmierkenntnisse.

1

Stilvorschau

Wählen Sie unten Stil, Größe und Farbe, um Ihr Badge aktiv zu sehen. Dies ist nur eine Vorschau – keine Anmeldung nötig.

2

Code aus dem Dashboard kopieren

Melden Sie sich an und PCrisk stellt Ihnen ein fertiges Snippet mit Ihrem gewählten Stil bereit – es funktioniert auf jeder Domain in Ihrem Konto.

3

Einfügen, speichern & veröffentlichen

Fügen Sie es Ihrer Website hinzu. Sobald Ihre Domain den täglichen Scan besteht, erscheint das Badge automatisch.

Stil
Größe
Design
Position
Live-Vorschau

Ihr Installationscode ist in Ihrem Dashboard

Nach dem Login erstellt der Dashboard-Designer ein sofort einfügbares Snippet mit Ihrem gewählten Stil. Das Badge erkennt automatisch die Domain, auf der es läuft – dasselbe Snippet funktioniert für jede Domain in Ihrem Konto und wird nur angezeigt, wenn ein aktives Abonnement und ein sauberer täglicher Scan vorliegen.

Mit AI installieren in Ihrem Dashboard
Bevorzugen Sie Cursor, Claude, Copilot oder ChatGPT? Melden Sie sich an und kopieren Sie einen fertigen Prompt – passend zu Ihrem Badge und der Platzierung –, der es für Sie zu Ihrer Website hinzufügt.
Einloggen, um Ihren Prompt zu erhalten

Keine Cookies, kein Tracking, ~7 KB. Das Badge lädt nach Ihrer Seite (und verlangsamt sie daher nie), speichert nichts über Ihre Besucher und setzt keine Cookies.

Das Badge erscheint nur, wenn Ihr letzter Scan sauber ist. Wenn Sie sich gerade registriert haben, geben Sie dem ersten Scan etwas Zeit. Ein leerer Bereich bedeutet einfach “noch nicht als sauber bestätigt” – nicht, dass der Code defekt ist.

Wo Sie es einfügen

Plattform-Anleitungen

Zwei Wege, das Badge hinzuzufügen: unser Plugin installieren oder den Snippet aus Ihrem Dashboard einfügen. Wählen Sie unten Ihre Plattform – beides dauert nur wenige Minuten.

WordPress

Am einfachsten: kostenloses Plugin installieren, kein Code:

  1. Gehen Sie in Ihrem WordPress-Dashboard zu Plugins → Installieren.
  2. Suchen nach PCrisk Trust Badge.
  3. Klicken Sie auf Jetzt installieren, dann Aktivieren.
  4. Öffnen Sie Trust Badge im Admin-Menü Ihre Website verbinden, dann Stil und Position des Badges wählen. Die Live-Vorschau zeigt genau, was Besucher sehen.
Auf WordPress.org ansehen

Nutzen Sie WooCommerce? Das Plugin erkennt es automatisch und fügt Shop-Platzierungen hinzu – Shop-Seite, Produktseiten, Warenkorb und Kasse – zusätzlich zu Ihrer websiteweiten Position. Keine Extra-Installation nötig.

Keine Plugins installierbar? Fügen Sie stattdessen den Code-Schnipsel aus Ihrem Dashboard in einen Footer-Code-Bereich ein – zum Beispiel das kostenlose “WPCode” Plugin oder Design → Theme-Datei-Editor (vorher sichern).

ShopifyDemnächst

Unsere Shopify-App ist unterwegs. Sie wird gerade entwickelt – Ein-Klick-Installation, kein Theme-Code, mit Platzierungen auf Produkt-, Warenkorb- und Checkout-Seiten. Bis dahin können Sie das Badge mit dem Snippet unten hinzufügen.

In der Zwischenzeit:

  1. Gehen Sie im Shopify-Admin zu Onlineshop → Themes.
  2. Klicken Sie bei Ihrem aktuellen Theme auf ⋯ -> Code bearbeiten.
  3. Öffnen Sie layout/theme.liquid und fügen Sie den Snippet aus Ihrem Dashboard direkt vor dem schließenden </body> Tag ein.
  4. Speichern. Das Badge erscheint auf jeder Seite Ihres Shops.
Wix
  1. Gehen Sie zu Einstellungen → Benutzerdefinierter Code im Dashboard Ihrer Website.
  2. Klicken Sie auf + Benutzerdefinierten Code hinzufügen, Snippet einfügen und festlegen, dass es geladen wird auf Allen Seiten, platziert im Body - Ende.
  3. Anwenden & veröffentlichen.
Squarespace
  1. Gehen Sie zu Einstellungen → Erweitert → Code Injection.
  2. Fügen Sie das Snippet in das Footer -Feld ein.
  3. Speichern. (Code Injection erfordert einen Business-Tarif oder höher.)
Webflow, Framer & benutzerdefiniertes HTML

Webflow: Project Einstellungen → Benutzerdefinierter Code → einfügen in das Footer Code -Feld → veröffentlichen.

Framer: Site Settings → General → Custom Code → Ende des <body>-Tags.

Handcodierte Websites: Snippet direkt vor </body> in Ihrer Template- oder Layout-Datei einfügen.

Anpassen

Ihr Badge anpassen

Ihre Einstellungen werden als data-* Attribute in der Platzierung des Snippets gespeichert <div> - der Dashboard-Designer setzt sie alle beim Erzeugen Ihres Codes. Wenn Sie das Design später ändern möchten, wählen Sie dort ein neues Aussehen und fügen Sie das aktualisierte Snippet über das alte ein. Hier sehen Sie, was jedes Attribut steuert.

AttributWerteFunktion
data-styleshield, ribbon, minimal, bubbleDie Gesamtform und das Layout des Badges.
data-sizesmall, medium, largeGesamtgröße des Badges.
data-themelight, dark, autoPasst zum Hintergrund Ihrer Website. auto folgt dem hellen oder dunklen Modus Ihrer Website.
data-positionbottom-right, bottom-left, top-right, top-leftFixiert das Badge an dieser Bildschirmecke - funktioniert mit jedem Style. Wenn Sie es weglassen, wird das Badge inline in sein <div>.

Soll es an eine genaue Stelle, z. B. mitten im Checkout? Das <div> in Ihrem Snippet IST die Position des Badges - platzieren Sie es dort, wo das Badge erscheinen soll (es reserviert sogar den Platz des Badges, damit sich Ihr Layout nie verschiebt). Möchten Sie Badges an mehreren Stellen? Fügen Sie weitere divs ein; das script-Tag muss nur einmal vorkommen. Schwebende Badges - jeder Style mit data-position - ignorieren, wo ihr div sitzt: Sie werden an der gewählten Ecke fixiert.

Fehlerbehebung

Badge wird nicht angezeigt?

Gehen Sie diese Punkte der Reihe nach durch - die ersten beiden lösen die meisten Fälle.

Warten Sie kurz - und prüfen Sie, ob Ihr letzter Scan sauber ist

Das Badge wird nur angezeigt, wenn Ihr letzter täglicher Scan sauber ist. Das ist beabsichtigt - so bleibt die Bedeutung des Badges erhalten und es wird nie auf einer kompromittierten Website angezeigt.

Wenn Sie es gerade installiert haben:

  1. Prüfen Sie Ihr PCrisk-Dashboard - steht neben Ihrer Domain „Badge aktiv“?
  2. Wenn ein Scan noch aussteht, warten Sie, bis er abgeschlossen ist, und laden Sie dann Ihre Seite neu.
  3. Wenn Ihre Website markiert wurde, beheben Sie das Problem; das Badge erscheint nach dem nächsten sauberen Scan automatisch wieder.
Ihre Website hat eine Content Security Policy (erweitert)

Die gute Nachricht: 9 von 10 Websites können das überspringen. Eine Content Security Policy (CSP) ist eine erweiterte Sicherheitseinstellung, die Sie bewusst aktivieren müssen. Wenn Sie noch nie davon gehört haben, haben Sie mit hoher Wahrscheinlichkeit keine - und das ist nicht Ihr Problem.

Stellen Sie sich eine CSP vor wie eine Gästeliste für Ihre Website - sie lässt nur Dienste zu, die Sie freigegeben haben. Wenn Sie eine haben, fügen Sie PCrisk einfach mit diesen Einträgen zur Liste hinzu:

Diese in Ihrer CSP erlauben
script-src  https://scanner.pcrisk.com
connect-src https://scanner.pcrisk.com
style-src   'unsafe-inline'

Das style-src Zeile wird nur benötigt, wenn Ihre Richtlinie Styles einschränkt (z. B. wenn sie style-src oder nur default-src setzt): Das Badge wendet sein Design über ein eingebettetes <style> -Element an, daher wird das Badge ohne dieses geladen, bleibt aber unsichtbar.

Schnellzugriffe:

WordPress-Sicherheits-Plugin (Wordfence, Really Simple Security usw.): Öffnen Sie die Einstellungen und fügen Sie diese Einträge im Abschnitt Content Security Policy hinzu.
Cloudflare: Ihre Website → Sicherheit → Einstellungen → Ihre CSP-Regel → diese Einträge hinzufügen.
Wix / Squarespace / Standard-Shopify: nichts zu tun – diese verwenden keine benutzerdefinierten Richtlinien, daher funktioniert das Badge einfach.

Nicht sicher, oder es erscheint noch immer nicht? Kopieren Sie diese Nachricht und senden Sie sie an die Person, die Ihre Website verwaltet (Ihren Entwickler oder Hosting-Support) – sie weiß genau, was zu tun ist:

An Entwickler / Host weiterleiten
Hallo – ich füge unserer Website ein PCrisk-Trust-Badge hinzu. Falls wir eine Content-Security-Policy haben, erlauben Sie bitte diese beiden Quellen, damit es geladen werden kann: script-src https://scanner.pcrisk.com und connect-src https://scanner.pcrisk.com. Wenn unsere Richtlinie Inline-Styles blockiert, erlauben Sie bitte auch 'unsafe-inline' in style-src. Danke!
Ein Adblocker oder eine Datenschutz-Erweiterung blendet es aus

Einige aggressive Adblocker oder Datenschutz-Erweiterungen (oder Browser wie Brave mit strengen Shields) können Skripte von Drittanbietern blockieren. Zum Prüfen öffnen Sie Ihre Website in einem privaten/Inkognito-Fenster mit deaktivierten Erweiterungen oder pausieren Sie Ihren Blocker vorübergehend.

Das betrifft nur den kleinen Anteil von Besuchern, die solche Tools nutzen – die meisten sehen das Badge normal. Das Badge selbst setzt keine Cookies und verfolgt nichts, daher ist das selten.

Prüfen Sie, ob das Badge auf einer hinzugefügten Domain ist

Das Badge prüft die genaue Domain, auf der es geladen wird. Wenn Sie example.com hinzugefügt haben, das Snippet aber auf einer anderen Subdomain (wie shop.example.com), eine Staging-URL oder localhost läuft, findet es keine Übereinstimmung.

Stellen Sie sicher, dass die Seite mit dem Badge auf einer Domain läuft, die Sie in Ihrem Dashboard hinzugefügt haben. Benötigen Sie es auf mehreren Subdomains? Fügen Sie jede Ihrem Konto hinzu.

Inline-Badge: Haben Sie den Container hinzugefügt?

Inline-Badges (jeder Stil ohne data-position) werden gerendert an der Platzierung <div class="pcrisk-badge"> aus Ihrem Snippet – stellen Sie sicher, dass dieses div zusammen mit dem Script-Tag auf der Seite gelandet ist (manche Page-Builder entfernen divs, behalten aber Scripts). Kein div und keine data-* Attribute am Script-Tag bedeuten, dass die Engine keinen Ort zum Rendern hat.

Warum es Vertrauen schafft

Wie Besucher es prüfen

Ein Badge, das jeder fälschen kann, schafft kein Vertrauen. Unseres ist unabhängig prüfbar – das macht es zeigenswert.

Klick öffnet Live-Bericht

Jedes Badge ist anklickbar. Besucher landen auf Ihrem öffentlichen Bericht unter scanner.pcrisk.com – von uns gehostet, nicht von Ihnen – mit dem neuesten Scan und Vertrauenswert.

Unabhängig konzipiert

Weil der Bericht auf einer Domain liegt, die Besucher nicht kontrollieren, ist das Ergebnis vertrauenswürdig – so wie ein Browser-Schloss unabhängig von der Website dahinter ist.

Tipp: Der Berichtslink ist auch einzeln teilbar. Nutzen Sie ihn in Rechnungen, Partnerseiten oder Support-E-Mails, wenn Sie den aktuellen Sicherheitsstatus Ihrer Website belegen müssen.

Wenn etwas gefunden wird

Was passiert, wenn eine Bedrohung erkannt wird

Sie zeigen niemals ein „verifiziertes“ Siegel auf einer kompromittierten Website an.

Wir benachrichtigen Sie schnell

Sobald ein Scan ein Problem meldet, erhalten Sie eine detaillierte E-Mail – Schweregrad, Fund, Ort und Behebung.

Das Badge blendet sich aus

Ihr Badge wird automatisch entfernt, bis das Problem behoben ist – und erscheint wieder, sobald ein Folge-Scan bestätigt, dass Ihre Website wieder sauber ist.

Für Entwickler · Pro & Business

Slack- & Webhook-Benachrichtigungen

Erhalten Sie dieselben Benachrichtigungen wie per E-Mail – Bedrohung gefunden, Entwarnung, Scan konnte nicht abgeschlossen werden – zur selben Zeit an Slack oder Ihren eigenen Endpoint gesendet. Beides konfigurieren Sie im Dashboard unter Settings → Warnungs-Integrationen.

Slack

Erstellen Sie in Slack ein Incoming Webhook für den gewünschten Kanal (Slack: Apps → Incoming Webhooks → Zu einem Kanal hinzufügen), fügen Sie die hooks.slack.com URL in Ihr Dashboard ein und klicken Sie auf Slack-Test senden. Das ist die komplette Einrichtung – kein Code nötig.

Webhooks

Wir POSTen JSON an Ihren HTTPS-Endpoint. Vier Ereignistypen:

alert.geöffnet - ein Scan hat die Website markiert (Wert unter 70); das Badge ist pausiert.
alert.behoben - ein späterer Scan war sauber; das Badge ist wiederhergestellt.
scan.fehlgeschlagen - der tägliche Scan konnte nicht abgeschlossen werden (Website nicht erreichbar); wird einmal pro Ausfall gesendet.
Test - die Webhook-Test senden Schaltfläche.

Beispiel-Payload
{
  "event": "alert.opened",
  "domain": "example.com",
  "trust_score": 55,
  "threat_type": "suspicious",
  "severity": "medium",
  "occurred_at": "2026-07-07T08:28:36.874Z"
}

Jede Anfrage enthält drei Header: Content-Type: application/json, X-PCrisk-Event (der Ereignistyp), und X-PCrisk-Signature - sha256= gefolgt vom hexadezimalen SHA-256-HMAC des rohen Request-Body, mit dem im Dashboard angezeigten Signing Secret als Schlüssel. Prüfen Sie es, bevor Sie einer Zustellung vertrauen.

Zustellungsregeln: wir warten bis zu 5 Sekunden auf eine Antwort und werten jeden 2xx als akzeptiert; eine fehlgeschlagene Zustellung wird einmal erneut versucht, ~15 Sekunden später, dann verworfen. Behandeln Sie Webhooks als Benachrichtigungen, nicht als Protokoll - Ihr Dashboard ist der maßgebliche Status.

Mit dem rohen Body prüfen. Die Signatur deckt die exakten Bytes ab, die wir senden. Wenn Ihr Framework JSON parst, bevor Sie den rohen Body lesen können (z. B. ein globales express.json()), wird das erneute Serialisieren des geparsten Objekts nicht dieselben Bytes erzeugen - erfassen Sie den rohen Body, wie in jedem Beispiel unten.

const crypto = require('crypto');
const express = require('express');
const app = express();

// express.raw keeps the body as the exact bytes we signed
app.post('/hooks/pcrisk', express.raw({ type: 'application/json' }), (req, res) => {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', process.env.PCRISK_WEBHOOK_SECRET)
    .update(req.body) // Buffer
    .digest('hex');
  const given = req.get('X-PCrisk-Signature') || '';
  const ok = given.length === expected.length &&
    crypto.timingSafeEqual(Buffer.from(given), Buffer.from(expected));
  if (!ok) return res.status(401).end();

  const event = JSON.parse(req.body);
  console.log(event.event, event.domain, event.trust_score);
  res.status(200).end(); // any 2xx marks the delivery as accepted
});

app.listen(3000);
<?php
$secret   = getenv('PCRISK_WEBHOOK_SECRET');
$raw      = file_get_contents('php://input'); // raw body, before any parsing
$given    = $_SERVER['HTTP_X_PCRISK_SIGNATURE'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $raw, $secret);

if (!hash_equals($expected, $given)) {
    http_response_code(401);
    exit;
}

$event = json_decode($raw, true);
// $event['event'], $event['domain'], $event['trust_score'], ...
http_response_code(200); // any 2xx marks the delivery as accepted
import hashlib, hmac, os
from flask import Flask, request, abort

app = Flask(__name__)
SECRET = os.environ["PCRISK_WEBHOOK_SECRET"].encode()

@app.post("/hooks/pcrisk")
def pcrisk_hook():
    raw = request.get_data()  # raw body, before parsing
    expected = "sha256=" + hmac.new(SECRET, raw, hashlib.sha256).hexdigest()
    given = request.headers.get("X-PCrisk-Signature", "")
    if not hmac.compare_digest(expected, given):
        abort(401)

    event = request.get_json()
    # event["event"], event["domain"], event["trust_score"], ...
    return "", 200  # any 2xx marks the delivery as accepted

# run with: flask --app hook run --port 3000

Ändern Sie Ihren Endpoint? Speichern Sie die neue URL im Dashboard und senden Sie einen Test - das Signing Secret bleibt für Ihr Konto gleich. Alerts gelten pro Vorfall (eine alert.geöffnet pro Unter-70-Phase, nicht pro Scan), damit Ihr Kanal nicht von einer dauerhaft markierten Website überflutet wird.

Für Entwickler · Pro & Business

REST API

Holen Sie Ihre Domains, Werte, den Scan-Verlauf und Alerts in Ihre eigenen Dashboards, Berichte und Monitorings. Lesezugriff bei Pro; der Business -Plan ergänzt Domain-Verwaltung. Die API gibt nur Ihre eigenen überwachte Domains.

Authentifizierung

Erstellen Sie einen Schlüssel im Dashboard unter Einstellungen → API-Schlüssel (er wird nur einmal angezeigt – wir speichern nur einen Hash) und senden Sie ihn als Bearer-Token. Schlüssel übernehmen ihre Berechtigungen aus Ihrem aktuellen Tarif, und wenn Sie einen im Dashboard widerrufen, wird er sofort deaktiviert.

Beispielanfrage
curl https://scanner.pcrisk.com/api/v1/domains   -H "Authorization: Bearer pcrisk_live_YOUR_KEY"
Antwort
{
  "success": true,
  "data": [
    {
      "domain": "example.com",
      "status": "verified",
      "trust_score": 92,
      "threat_type": "clean",
      "last_scanned": "2026-07-07T06:12:04.000Z",
      "open_alerts": 0,
      "badge_visible": true,
      "badge_live": true
    }
  ]
}

Endpunkte

GET /api/v1 - Erkennung: Ihr Tarif und Ihre Stufe.
GET /api/v1/domains - alle Ihre Domains mit aktuellem Score, Bedrohungstyp und Badge-Status.
GET /api/v1/domains/{domain} - eine Domain.
GET /api/v1/domains/{domain}/history - Verlauf der Scan-Scores (Verlaufstiefe gemäß Ihrem Tarif).
GET /api/v1/alerts - neueste Bedrohungswarnungen für alle Domains, offen und gelöst.
POST /api/v1/domains (Business) - Domain hinzufügen; Überwachung startet sofort. Body: {"domain": "example.com"}.
DELETE /api/v1/domains/{domain} (Business) - Domain entfernen; Scans stoppen, das Badge wird nicht mehr angezeigt.

Ausprobieren

Fügen Sie einen API-Schlüssel aus Ihrem Dashboard ein (Einstellungen → API-Schlüssel) und rufen Sie hier direkt einen beliebigen Lese-Endpunkt auf. Der Schlüssel wird nur für diese eine Anfrage an diese Website verwendet – nichts wird gespeichert, und die Anfrage zählt wie jede andere gegen Ihr Ratenlimit.

Konventionen: jede Antwort ist JSON mit success und entweder data oder Fehlercode + Fehlermeldung (401 ungültiger Schlüssel, 403 Plan/Tarif, 404 nicht Ihrer, 429 rate-limitiert). Das Limit ist 60 Anfragen/Minute pro Schlüssel - prüfen Sie die X-RateLimit-Remaining und Retry-After Header.

Push + Pull: kombinieren Sie die API mit Webhook-Benachrichtigungen - Webhooks informieren Sie sofort, wenn sich etwas ändert, die API liefert Ihnen auf Anfrage den vollständigen aktuellen Status. Es gibt bewusst keinen Endpunkt zum Scannen beliebiger Domains Dritter.

Brauchen Sie noch Hilfe?

Wir sehen uns Ihre konkrete Einrichtung gern an. Senden Sie uns Ihre Website-Adresse und was Sie sehen.