Zum Inhalt springen

Beta — Entwurfsstand. Prüfordnung und Hinweistexte sind noch nicht rechtlich freigegeben; es werden derzeit keine verbindlichen Siegel ausgestellt.

Werkzeugkatalog

138 Werkzeuge meldet der MCP-Server unter https://euid.com/api/mcp einem Assistenten über tools/list. Diese Seite liest dieselbe Liste. 2 davon sind ohne Zugang aufrufbar; alle anderen brauchen ein Token, dessen Rolle die erlaubten Werkzeuge bestimmt. Wie Sie ein Token bekommen und einrichten, steht unter Automatisierung und MCP.

Lesart

  • Rollen nennt, welche Zugangsrollen das Werkzeug rufen dürfen; „offen" heißt: auch ohne Token.
  • verändert Daten markiert Werkzeuge, die Geld bewegen, Siegel ausstellen oder einen Zustand setzen. Ein Assistent fragt vor solchen Aufrufen nach.
  • Felder mit Stern sind Pflicht. Kennungen sind immer die id (UUID), nie ein Name.

Prüfkunden

pruefservice.kunden.liste

Listet alle Prüfkunden des Mandanten.

Rollen: Betreiber, Agentur, Organisation, Tester

pruefservice.kunden.lesen

Liest einen Prüfkunden anhand seiner ID.

Rollen: Betreiber, Agentur, Organisation, Tester

  • kundeId *: UUID des Prüfkunden

pruefservice.kunden.anlegen

Legt einen Prüfkunden an (Firma + https-Domain).

Rollen: Betreiber · verändert Daten

  • firma *: Firmenname
  • domain *: Vollständige https-URL der Website
  • ansprechpartner: Optional: Name der Ansprechperson
  • email: Optional: E-Mail der Ansprechperson
  • art: Optional: seitenbesitzer (Vorgabe), agentur oder organisation
  • typ: Optional, nur bei art organisation: behoerde, verband, versicherung, kanzlei, teilhabe, technik

pruefservice.kunden.typ

Setzt den Organisationstyp eines Prüfkunden (behoerde, verband, versicherung, kanzlei, teilhabe, technik); leer = keine Angabe.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • typ: Typ oder leer

pruefservice.kunden.sprache

Setzt die Sprache eines Prüfkunden (de, en, cs, sk, hu, sl, it, fr, rm, es, nl, pt, hr); Aktenfile und Prüfbericht entstehen darin — Wirkung heute de und en, andere fallen auf Deutsch zurück, bis die Berichtstexte übersetzt sind.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • sprache *: Locale, z. B. de, en, hr

pruefservice.kunden.css_verifikation

Betreiber-Schalter je Organisation (Frage 38): darf das eigene CSS des Prüfkunden auch auf der öffentlichen Verifikationsseite /z/<pruefId> wirken? Ohne `an` nur lesen. Vorgabe aus: die Seite trägt Farben, Logo und Marke aus dem Theme; das Siegel-Bild trägt nie ein Stylesheet.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • an: true = CSS wirkt auch auf der Verifikationsseite

pruefservice.kunden.pruefmodus

Prüfmodus und Vorauswahl eines Kunden lesen oder setzen: tiefenpruefung (true | false | null = wie global), vorlagen {schwelle, vertreter} (null = global), vorauswahl {dimensionen, stufe, ziel {a11y: 90, …}, umfangOffen, abo}, hinweis. Nur kundeId = lesen. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • kundeId *: Prüfkunde
  • tiefenpruefung: true | false | null (wie global)
  • vorlagen: { schwelle, vertreter } — null = global
  • vorauswahl: { dimensionen, stufe, ziel, umfangOffen, abo }
  • hinweis: Optional: Hinweis für den Arbeitsplatz

Prüfakte

pruefservice.akte.zip

Die Akte eines abgeschlossenen Durchgangs als ZIP: Adresse zum Herunterladen (mit Sitzung oder x-dev-secret), Archivname und Dateiliste des Aktenordners (index.html = Aktenfile, akte.json, pruefbericht.html, je Prüfbereich befunde.json/messung.json, bilder/, quelltext/). Null-Ergebnis, wenn der Lauf keinen Ordner hat (Altlauf, Testlauf).

Rollen: Betreiber

  • runId *: UUID des Durchgangs

Betrieb

pruefservice.betrieb.lage

Betriebslage des Dienstes: Online-Zahlungen und offene Forderungen, Fehler und Fernzugriffe der letzten 7 Tage, Heartbeat-Stand, Kunden nach Art.

Rollen: Betreiber

  • zeitraumTage: Optional: Zeitraum der Zahlungen in Tagen (Vorgabe 30)

Organisation

pruefservice.organisation.registrierung

Liest oder setzt, welche Arten (seitenbesitzer, agentur, organisation) sich über den Link einer Organisation registrieren dürfen; ohne erlaubt nur lesen.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID der Organisation (Prüfkunde)
  • erlaubt: Optional: erlaubte Arten; leere Liste schließt die Registrierung
  • pruefer: Optional: dürfen sich prüfende Personen selbst registrieren (Prüfer-Freigabe, keine Akte)

pruefservice.organisation.smtp

Eigener Mailserver einer Organisation für Einladungen und Prüfer-Zugänge in ihrem Namen: ohne aktion der Stand (ohne Passwort); aktion setzen mit host, port, user, pass, from (leeres pass behält das vorhandene); aktion probe mit an (Probe-Mail); aktion entfernen. Werte liegen im Tresor der Organisation (smtp.*).

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: Organisation (Prüfkunde)
  • aktion: setzen, probe, entfernen — leer = Stand
  • host: Mailserver
  • port: Port (587, 465)
  • user: Benutzer
  • pass: Passwort
  • from: Absender „Name <adresse>"
  • an: Empfänger der Probe

Aufträge

pruefservice.auftraege.liste

Listet Prüfaufträge, optional auf einen Kunden eingeschränkt.

Rollen: Betreiber, Agentur, Organisation, Tester

  • kundeId: Optional: UUID des Prüfkunden

pruefservice.auftraege.lesen

Liest einen Prüfauftrag samt Zielprofil und Status.

Rollen: Betreiber, Agentur, Organisation, Tester

  • auftragId *: UUID des Auftrags

pruefservice.auftraege.kibudget

KI-Verbrauch einer Akte aus dem unveränderbaren KI-Buch: Aufrufe, Token, Cent über alle Läufe, Erwartung für den nächsten Lauf, dazu die Kettenprüfung (ok oder Bruchstelle).

Rollen: Betreiber

  • auftragId *: UUID des Auftrags

pruefservice.auftraege.kosten

Kostenbericht einer Akte, nur Betreiber (Betreiber 2026-09-15: Kosten je Aufgabe mitprotokollieren, nur fuer den Betreiber): Erloes aus dem Ledger (Durchgaenge, Bonus, Rabatt, Assistenz), KI je Zweck aus dem KI-Buch, Fremddienste als Menge (PageSpeed, VIES, Wayback, W3C, whois, Sistrix-Credits, Search Console, Vorlese-Seiten), Messzeit je Arbeiter, je Lauf eine Zeile; dazu ein Satz. Der Kunde bekommt davon nichts.

Rollen: Betreiber

  • auftragId *: UUID des Auftrags

pruefservice.auftraege.anlegen

Legt einen Prüfauftrag an (Kunde, Domain, Umfang, Dimensionen).

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • domain *: https-URL der zu prüfenden Website
  • stufe *: Seitenumfang in Seiten (Seitenstaffel 15, 50, 100, 300, 1000; höchstens 1000)
  • dimensionen *: Zu prüfende Dimensionen (a11y, seo, geo, cwv, co2, dsgvo, indexierung, responsive, software)
  • sitemapUrl: OPTIONAL: Sitemap-URL, die der Crawl zusätzlich zur automatischen Suche nutzt
  • berechtigungBestaetigt *: PFLICHT: Bestätigung, zur Beauftragung der Prüfung dieser Domain berechtigt zu sein.

pruefservice.auftraege.status_setzen

Setzt den Auftragsstatus. Ungültige Übergänge lehnt die Statusmaschine ab.

Rollen: Betreiber · verändert Daten

  • auftragId *: UUID des Auftrags
  • status *: Neuer Status

pruefservice.auftraege.umleitung_folgen

Hauptdomain: Leitet die Startadresse einer Akte auf eine FREMDE Domain um, verweigert der Durchgang (DOMAIN_LEITET_FREMD) und bucht nichts. Mit folgen:true misst der Lauf das Ziel — nur für Fälle, in denen der Betreiber weiß, dass beide Domains derselben Person gehören. www/Protokoll/Unterdomain gleicht die Akte von selbst an (Auftragsprotokoll, Art hauptdomain).

Rollen: Betreiber · verändert Daten

  • auftragId *: UUID des Auftrags
  • folgen *: true = der Umleitung folgen, false = wieder verweigern

Laufende Überwachung

pruefservice.ueberwachung.starten

Laufende Überwachung einer Domain bestellen (Rubriken cyber, keywords): ein Lauf je Intervall (cyber täglich, sonst alle 30 Tage), Stand und Veränderung zum vorigen Lauf, keine Siegelaussage. ⚠ KOSTENPFLICHTIG je Monat, einmal je Monat reserviert (Preis als Vorschlag, Frage 24a). Der erste Lauf ist sofort fällig, der Heartbeat nimmt ihn.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden, dessen Guthaben belastet wird
  • domain *: https-Adresse der Website
  • rubriken *: cyber, keywords oder beide
  • seiten: Ausgewählte Seiten (absolute URLs, höchstens 50); leer = Startseite und Crawl bis 8 Seiten

pruefservice.ueberwachung.stand

Stand einer Überwachung: Abo und alle Monatsläufe mit Punktwerten und Veränderung; ohne ueberwachungId die Liste der Abos.

Rollen: Betreiber

  • ueberwachungId: UUID der Überwachung
  • kundeId: nur Abos dieses Kunden (Liste)

pruefservice.ueberwachung.beenden

Beendet eine Überwachung: keine weiteren Monatsläufe; ein noch wartender Lauf wird erstattet.

Rollen: Betreiber · verändert Daten

  • ueberwachungId *: UUID der Überwachung

Durchgänge

pruefservice.durchgaenge.liste

Listet die Prüfdurchgänge eines Auftrags.

Rollen: Betreiber, Agentur, Organisation, Tester

  • auftragId *: UUID des Auftrags

pruefservice.durchgaenge.starten

Startet einen Prüfdurchgang. ⚠ KOSTENPFLICHTIG: reserviert die Kostenschätzung vom Guthaben und rechnet nach Abschluss den Ist-Umfang ab. Mit Warteschlange kommt sofort eingereiht:true mit jobId zurück (der Arbeiter misst); den Lauf zeigt pruefservice.durchgaenge.liste, den Fortschritt pruefservice.pruefung.stand.

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • auftragId *: UUID des Auftrags

Guthaben

pruefservice.guthaben.stand

Liest den Guthabenstand eines Prüfkunden in Cent.

Rollen: Betreiber, Agentur, Organisation, Tester

  • kundeId *: UUID des Prüfkunden

pruefservice.guthaben.aufladen

⚠ GELDBEWEGUNG: Bucht eine Aufladung auf das Guthaben eines Prüfkunden.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • cents *: Betrag in Cent (positiv)
  • notiz: Optional: Buchungsnotiz

Preise

pruefservice.preise.lesen

Liest die geltenden Preise und rechnet optional eine Kostenschätzung.

Rollen: offen

  • vollSeiten: Optional: Anzahl Vollseiten
  • leichtSeiten: Optional: Anzahl Leichtseiten

Siegel

pruefservice.zertifikat.verifizieren

Prüft ein Teilsiegel öffentlich (Domain, Dimension, Score, Gültigkeit, Status). Ohne Anmeldung.

Rollen: offen

  • pruefId *: Öffentliche Prüf-ID

pruefservice.zertifikat.ausstellen

⚠ STELLT EIN SIEGEL AUS: erzeugt ein Teilsiegel für einen Prüfbereich, sofern der Zielwert erreicht ist. Das Ergebnis ist öffentlich verifizierbar.

Rollen: Betreiber · verändert Daten

  • auftragId *: UUID des Auftrags
  • dimension *: Zu besiegelnde Dimension

pruefservice.zertifikat.widerrufen

⚠ WIDERRUFT EIN SIEGEL. Die Verifikationsseite bleibt bestehen und weist den Widerruf ausdrücklich aus — sie verschwindet nicht.

Rollen: Betreiber · verändert Daten

  • pruefId *: Öffentliche Prüf-ID

Berichte

pruefservice.bericht.ausgaben

Listet die Berichts-Ausgaben eines Teilsiegels (Erstausgabe und ggf. Korrektur samt Grund).

Rollen: Betreiber, Agentur, Organisation, Tester

  • pruefId *: Öffentliche Prüf-ID

Optik

pruefservice.theme.lesen

Liest die Optik-Vorlage eines Prüfkunden (gesetzter Override und aufgelöstes Theme).

Rollen: Betreiber, Agentur, Organisation, Tester

  • kundeId *: UUID des Prüfkunden

pruefservice.theme.setzen

Setzt die Optik-Vorlage eines Prüfkunden (Marke, Logo, Farbrollen). Der AUSSTELLER ist nicht einstellbar — entsprechende Felder werden abgelehnt.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • theme *: Optik-Vorlage: marke, logo_url (https), akzent, akzent_hell, akzent_kontrast, hintergrund, flaeche, rahmen, text, text_leise (Hex)

Marke

pruefservice.branding.lesen

Liest das Betreiber-Branding (Basis aller Themes).

Rollen: Betreiber, Agentur, Organisation, Tester

Selbstprüfung

pruefservice.selbstpruefung

Prüft den Betriebszustand des Dienstes (Ledger-Integrität, Ausgleichs-Cron, offene Reservierungen, Freigabestand der Rechtstexte). Eine leere Prüfung gilt als Fehler.

Rollen: Betreiber

Prüfung

pruefservice.pruefung.starten

Prüft EINE Domain in einem Aufruf: legt bei Bedarf den Auftrag an und startet den Durchgang. ⚠ KOSTENPFLICHTIG (Reservierung vom Guthaben des Prüfkunden). Liefert auftragId und runId; mit Warteschlange stattdessen eingereiht:true und jobId, die runId dann über pruefservice.durchgaenge.liste — den Fortschritt zeigt pruefservice.pruefung.stand.

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID des Prüfkunden, auf dessen Guthaben die Prüfung geht
  • domain *: Domain oder https-URL der zu prüfenden Website
  • stufe: Seitenzahl-Stufe (15, 50, 100, 300, 1000) — ohne Angabe die Vorauswahl des Prüfkunden (Kunden-Akte), sonst 10
  • dimensionen: Prüfbereiche; ohne Angabe die Vorauswahl des Prüfkunden, sonst alle

pruefservice.pruefung.stand

Stand eines Durchgangs: läuft er noch, wie viele Seiten sind gemessen, welche Punktwerte stehen je Prüfbereich. Zum Nachfragen, bis der Lauf fertig ist.

Rollen: Betreiber, Agentur, Organisation, Tester, Prüfende Person

  • runId *: UUID des Durchgangs

pruefservice.pruefung.verbesserung

IMPROVEMENT-MODUS FÜR AGENTUREN: je Seite eines abgeschlossenen Durchgangs die Befunde mit Maßnahme, ein JSON-LD-Vorschlag (Platzhalter «…» statt erfundener Fakten), Vorschläge zur internen Verlinkung und ein kopierfertiger KI-Auftrag; dazu ein Auftrag für die ganze Website (Vorlagenprobleme zuerst). Ändert keinen Punktwert. Markdown: /bericht/lauf/<runId>/updateplan.

Rollen: Betreiber, Agentur, Organisation, Tester

  • runId *: UUID des Durchgangs
  • path: Optional: nur diese Seite (Pfad, z. B. /kontakt)

pruefservice.pruefung.todos

ERGEBNIS ALS AUFGABENLISTE: die Befunde eines abgeschlossenen Durchgangs, gebündelt je Prüfbereich und Regel — mit Schwere, Zahl der Vorkommen, betroffenen Seiten, Maßnahme und Verweis in die Wissensbasis. Ein laufender Durchgang liefert eine leere Liste; vorläufige Befunde wären irreführend.

Rollen: Betreiber, Agentur, Organisation, Tester, Prüfende Person

  • runId *: UUID des Durchgangs
  • bereich: Optional: nur dieser Prüfbereich
  • minSchwere: Optional: Mindest-Schwere
  • limit: Optional: Höchstzahl der Aufgaben (Vorgabe 100, Maximum 500)
  • stufe: Optional: Ausführlichkeit — knapp · standard · voll. Ohne Angabe entscheidet das Profil des Kunden.
  • lang: Optional: Sprache der Aufgabentexte (z. B. en). Rückfall en→de je Befund; Vorgabe de.

pruefservice.pruefung.katalog

WCAG-2.2-Kriterienkatalog eines abgeschlossenen Durchgangs: je Erfolgskriterium bestanden / verstoßen / manuell prüfen / nicht automatisiert prüfbar — die eigentliche Barrierefrei-Antwort hinter dem Punktwert. Leer, wenn Barrierefreiheit nicht gemessen wurde oder der Lauf noch läuft.

Rollen: Betreiber, Agentur, Organisation, Tester, Prüfende Person

  • runId *: UUID des Durchgangs

pruefservice.pruefung.inventar

Inventar eines Durchgangs (2026-09-15): alle erkannten Bilder mit Alt-Texten, Größe, Vorkommen je Seite; alle Links mit Linktexten, Vorkommen, intern/extern; externe Links geprüft (tot, nur http); die Rechtssektion (Impressum, Datenschutz, AGB, Cookies, Barrierefreiheit, Widerruf, Kontakt). Aus der Akte (inventar.json), bei älteren Läufen aus der Datenbank ohne Linkprüfung. Kein Prüfurteil.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

pruefservice.pruefung.domain

Domain-Verzeichnis eines Durchgangs (Frage 46, 2026-09-16): DNS (A/AAAA, NS, CAA), Mail-Schutz (SPF, DKIM, DMARC, MX), DNSSEC, TLS-Fassungen und Zertifikat, Eigentümer/Netz — je Zeile Stand (in Ordnung, schwach, fehlt, nicht bestimmbar), gefundener Wert, Bedeutung, Wozu. Ohne Browser erhoben, kein Siegel, kein Punktwert. Aus der Akte (domain/verzeichnis.json); ältere Läufe haben keins.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

pruefservice.pruefung.seo_vorschlag

SEO- und Keyword-Vorschläge zu einem Durchgang (vorbereitet 2026-09-14): Titel, Beschreibung und H1 je Seite und bis zu zehn Keywords aus den Suchdaten (Search Console; Sistrix, sobald die Keyword-Liste angebunden ist). Erzeugt EINMAL je Lauf mit dem Modell des Zwecks empfehlung, abgelegt am Lauf und als ki/seo-vorschlag.json in der Akte. Ohne Schlüssel, Seiten oder Suchdaten kommt der Stand mit dem fertigen Prompt zurück. Kein Prüfurteil.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

pruefservice.pruefung.bilder

Bildanalyse eines Durchgangs (Block 6, Antwort 12): jedes echte Bild mit Alternativtext vom Bildmodell beschrieben und gegen Alternativ- und Umgebungstext gehalten; Widerspruch oder sinnloser Text = Hinweis mit Beleg. Kein Prüfurteil. Entsteht nach der vollen Prüfung, sobald der Schlüssel im Vault liegt.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

pruefservice.pruefung.ranking

Ranking eines Durchgangs, wie der Lauf es nach dem Ausgleich abgelegt hat: Search Console (Klicks, Impressionen, Seiten, Suchanfragen) und Sistrix (Sichtbarkeit, Keywords) oder der Grund, warum nichts da ist. Altläufe ohne Ablage liefern null.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

pruefservice.pruefung.vergleich

Vorher-Nachher eines Durchgangs gegenüber dem vorigen abgeschlossenen Lauf desselben Auftrags: behoben, neu, unverändert je Kriterium mit Seiten und Fundstellen; verglichen werden nur gemeinsam gemessene Prüfbereiche, „offen“ statt Befund zählt als zu prüfen. Ohne vorigen Lauf null.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

Stapelprüfung

pruefservice.stapel.starten

Stapelprüfung: viele Domains in einem Aufruf beauftragen (Grenze 100). Die Läufe werden NACHEINANDER abgearbeitet — die Messumgebung misst immer nur eine Website. ⚠ KOSTENPFLICHTIG je Domain. Liefert eine stapelId; Fortschritt über pruefservice.stapel.stand.

Rollen: Betreiber, Agentur · verändert Daten

  • kundeId *: UUID des Prüfkunden, auf dessen Guthaben die Läufe gehen
  • domains *: Liste der Domains (Host oder URL)
  • stufe: Seitenzahl-Stufe je Domain (15, 50, 100, 300, 1000) — Vorgabe 10
  • dimensionen: Prüfbereiche; Vorgabe alle
  • titel: Optional: Bezeichnung des Stapels

pruefservice.stapel.stand

Fortschritt einer Stapelprüfung: wie viele Domains warten, laufen, sind fertig oder gescheitert — je Domain mit runId für die Aufgabenliste.

Rollen: Betreiber, Agentur

  • stapelId *: UUID des Stapels

pruefservice.stapel.todos

Aufgabenlisten ALLER fertigen Domains eines Stapels, je Domain gebündelt. Wartende und laufende Einträge erscheinen mit leerer Liste.

Rollen: Betreiber, Agentur

  • stapelId *: UUID des Stapels
  • minSchwere: Optional: Mindest-Schwere
  • limitJeDomain: Optional: Höchstzahl Aufgaben je Domain (Vorgabe 25)

pruefservice.stapel.abbrechen

Bricht eine Stapelprüfung ab: wartende Domains fallen weg, ein bereits laufender Durchgang läuft aus (abbrechen würde seine Reservierung offen lassen).

Rollen: Betreiber, Agentur · verändert Daten

  • stapelId *: UUID des Stapels

Aktivitätslog

pruefservice.aktivitaet.liste

Das Aktivitätslog aller internen Vorgänge, neueste zuerst: Auftragsprotokoll, Siegel (ausgestellt, widerrufen, gescheitert), Zahlung (gebucht, abgewiesen, Webhook-Fehler), Fernzugang (Aufruf, abgewiesen). Filter nach Bereich, Ergebnis und Auftrag.

Rollen: Betreiber

  • bereich: Optional: nur dieser Bereich
  • ergebnis: Optional: nur dieses Ergebnis
  • auftragId: Optional: nur dieser Auftrag
  • limit: Optional: Höchstzahl (Vorgabe 100, Maximum 500)

Tickets

pruefservice.ticket.anlegen

Ticket zu einer Prüfakte anlegen (Hilfe bei der Umsetzung, Siegeleinbau). Kostet nichts; Geld entsteht erst mit gebuchter Zeit jenseits des Kontingents.

Rollen: Betreiber · verändert Daten

  • auftragId *: UUID der Prüfakte
  • titel *: Worum es geht (3–200 Zeichen)
  • text: Beschreibung
  • bezug: Optional: Aufgabe der Aufgabenliste, auf die sich das Ticket bezieht

pruefservice.ticket.liste

Tickets mit Status, gebuchter Zeit und Betrag: je Prüfakte, je Kunde oder alle; mit ticketId ein Ticket samt Zeitbuchungen.

Rollen: Betreiber

  • ticketId: UUID eines Tickets
  • auftragId: nur diese Prüfakte
  • kundeId: nur dieser Kunde
  • status: offen, in_arbeit, erledigt

pruefservice.ticket.status

Status eines Tickets setzen: offen, in_arbeit, erledigt.

Rollen: Betreiber · verändert Daten

  • ticketId *: UUID des Tickets
  • status *: neuer Status

pruefservice.ticket.zeit

⚠ GELD: Zeit auf ein Ticket buchen, in Viertelstunden. Erst das Kontingent der Organisation (0 €), dann der Stundensatz als Ledger-Zeile beim Zahler der Akte. Negative Viertel sind eine Gegenbuchung der Zeit ohne Geld.

Rollen: Betreiber · verändert Daten

  • ticketId *: UUID des Tickets
  • viertel *: Viertelstunden, ganzzahlig, ungleich 0
  • notiz: Was getan wurde

pruefservice.ticket.kontingent

Kontingent und Anbieter der Assistenz einer Organisation lesen; mit kontingentViertel oder anbieterId setzen (-1 = Vorgabe, "euid" = EUID).

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID der Organisation
  • kontingentViertel: eigenes Kontingent in Viertelstunden; -1 = Vorgabe
  • anbieterId: UUID der Agentur, die die Assistenz erbringt; "euid" = EUID

Prüfende Personen

pruefservice.pruefer.abrechnung

Abrechnung je prüfender Person für einen Monat (YYYY-MM): geprüfte Seiten, Betrag (5 € je Seite), Jahressumme, Verdienstgrenze und Warnung. format csv liefert die Datei für Odoo.

Rollen: Betreiber

  • monat *: Monat als YYYY-MM
  • userId: nur diese Person (auth_user.id)
  • format: json (Vorgabe) oder csv

pruefservice.pruefer.grenze

Verdienstgrenze einer prüfenden Person je Kalenderjahr lesen oder setzen (grenzeJahrCents; -1 = keine). Warnung ab 80 %, erreicht ab 100 %, keine Sperre.

Rollen: Betreiber · verändert Daten

  • userId *: auth_user.id der Person
  • grenzeJahrCents: Grenze in Cent je Jahr; -1 = keine
  • notiz: Grund, etwa Land und Regelung

pruefservice.pruefer.aufgaben

Aufgabenliste einer prüfenden Person: je begleitetem Auftrag Domain, Kunde, Seiten gesamt, beurteilt, offen und die nächste Seite ohne Urteil. Person = der Personen-Zugang; Betreiber gibt userId an.

Rollen: Betreiber, Prüfende Person

  • userId: Nur Betreiber: Person (auth_user.id); ein Personen-Zugang gibt nichts an

pruefservice.pruefer.seite

Eine Seite zum Beurteilen: Befunde des jüngsten Laufs auf dieser Seite (Bereich, Titel, Schwere, Regel, Maßnahme, Wissen), der echte Vorlesetext (wenn ein Vorlese-Beleg vorliegt), das bisherige Urteil und die zulässigen Urteile.

Rollen: Betreiber, Prüfende Person

  • auftragId *: UUID des Auftrags (aus pruefer.aufgaben)
  • url *: Adresse der Seite (aus naechsteSeite oder der Seitenliste)
  • userId: Nur Betreiber: Person

pruefservice.pruefer.urteil

Urteil zu einer Seite eintragen: funktioniert oder problem, mit Begründung und wahlweise den WCAG-Kriterien (z. B. ["1.3.1","4.1.2"]). Dieselbe Fachfunktion wie die Fläche; das erste Urteil je Seite schreibt die Gutschrift der Person. [verändert Daten]

Rollen: Betreiber, Prüfende Person · verändert Daten

  • auftragId *: UUID des Auftrags
  • url *: Adresse der Seite
  • urteil *: funktioniert | problem
  • kommentar: Begründung im Klartext
  • kriterien: Optional bei problem: WCAG-Kriteriennummern
  • userId: Nur Betreiber: Person

KI-Modelle

pruefservice.ki.modelle

KI-Modell je Zweck lesen oder setzen (empfehlung, vorpruefung, bild, uebersetzung) — nur Modelle der Preistabelle; mit der Tabelle (USD je Mio. Token, Preisstand). Der Schlüssel liegt im Vault.

Rollen: Betreiber · verändert Daten

  • empfehlung: Modell-ID
  • vorpruefung: Modell-ID
  • bild: Modell-ID
  • uebersetzung: Modell-ID

pruefservice.ki.modellpruefung

Modellprüfung sofort ausführen (sonst wöchentlich per Heartbeat): sind die eingestellten Modelle beim Anbieter gelistet, wie alt ist die Preistabelle. Braucht den Schlüssel im Vault (anthropic/api_key); ohne ihn nur der Preisstand.

Rollen: Betreiber · verändert Daten

Maschinen

pruefservice.maschine.anmelden

Maschine im Maschinenverzeichnis anmelden (Mess- oder Vorlese-Arbeiter): Name (Kleinbuchstaben, Ziffern, Bindestrich), Art mess|vorlese, Standort, Rechnerkennung. Gibt die id zurück, über die alle Lebenszeichen laufen; bekannter Name = bestehende Maschine.

Rollen: Betreiber · verändert Daten

  • name *: Name, z. B. keller-1
  • art *: mess oder vorlese
  • standort: Optional: Keller, Cloud, Arbeitsplatz
  • kennung: Optional: Rechnername
  • stand: Optional: flache Angaben (git, node, nvda)

pruefservice.maschine.lebenszeichen

Lebenszeichen einer angemeldeten Maschine (nur über die id); Stand wird gemischt. Nach 180 s ohne Lebenszeichen gilt die Maschine als stumm.

Rollen: Betreiber · verändert Daten

  • id *: UUID der Maschine
  • kennung: Optional: Rechnername
  • stand: Optional: flache Angaben (git, aufgabe, nvda)

pruefservice.maschine.liste

Maschinenverzeichnis: alle Maschinen mit Art, Standort, Stand und ob sie leben (Lebenszeichen innerhalb 180 s).

Rollen: Betreiber

pruefservice.maschine.setzen

Maschine abmelden (aktiv=false, Lebenszeichen werden abgewiesen) oder wieder aktiv setzen.

Rollen: Betreiber · verändert Daten

  • id *: UUID der Maschine
  • aktiv *: true = aktiv, false = abgemeldet

Bruch-Website

pruefservice.bruch.abgleich

Abgleich des Berichts mit der Sollliste der Bruch-Website (A13): jeder Sollfehler mit Seite und Fundstelle in der Anzahl, nichts doppelt, kein Prüfbereich bestanden, leere Prüfung = Fehler. Mit runId sofort gegen einen gespeicherten Durchgang; ohne runId STARTET der Arbeiter die Messung der Bruch-Website (Minuten, ohne Prüfkunde und Ledger) unter der Adresse des Dienstes oder unter basis (https://bruch.…) — Ergebnis danach über bruch.stand.

Rollen: Betreiber

  • runId: Optional: UUID eines Durchgangs gegen die Bruch-Website
  • basis: Optional: eigene Adresse der Bruch-Website, z. B. https://bruch.euid.com

pruefservice.bruch.stand

Stand des zuletzt gestarteten Bruchtests: laeuft, fertig (mit Abgleich je Sollfehler) oder fehler.

Rollen: Betreiber

live

pruefservice.live.besucher

Wer gerade auf der Website und im Kundenbereich ist: je Besuch Seite, Weg mit Verweildauer, Beteiligung (Scroll, Maus, Wut-Klicks), Herkunft, WHOIS (Organisation, Provider, Ort), ungelesene Chat-Nachrichten. Bots ausgeblendet (mitBots: true zeigt sie).

Rollen: Betreiber

  • stunden: Optional: Zeitraum in Stunden, Vorgabe 24, höchstens 168
  • mitBots: Bots mit anzeigen

pruefservice.live.whois

WHOIS zu IP-Adressen der Live-Besucher (ip aus live.besucher): Organisation, Provider, Land, Stadt, Zeitzone, Proxy/Hosting/Mobilfunk. Liest den Speicher; mit frisch: true fragt es ip-api.com sofort.

Rollen: Betreiber · verändert Daten

  • ips *: IP-Adressen (Strings), höchstens 100
  • frisch: beim Dienst neu holen statt nur lesen

pruefservice.live.chat

Chat-Verlauf eines Besuchs (besuchId aus live.besucher); Nachrichten des Besuchers gelten damit als gelesen.

Rollen: Betreiber · verändert Daten

  • besuchId *: UUID des Besuchs

pruefservice.live.chat.senden

Nachricht an einen Besucher — erscheint in seiner Sprechblase mit dem nächsten Puls (bis 10 s, im offenen Chat 2 s). Mit schliessen: true endet der Chat beim Besucher, bis wieder jemand schreibt.

Rollen: Betreiber · verändert Daten

  • besuchId *: UUID des Besuchs
  • text: Klartext bis 2000 Zeichen
  • schliessen: Chat danach beenden

Ranking-Daten

pruefservice.ranking.gsc

Suchanalyse der Google Search Console eines Kunden: Stand der Verbindung (Client des Dienstes, Freigabe des Kunden) und, wenn verbunden, Klicks, Impressionen, Klickrate, Position sowie die Seiten und Suchanfragen der letzten Tage. Die Freigabe erteilt der Inhaber im Kundenbereich unter /pruefung/ranking.

Rollen: Betreiber

  • kundeId *: UUID des Prüfkunden
  • tage: Optional: Zeitraum in Tagen, Vorgabe 28

pruefservice.ranking.gsc.uebersicht

Search Console über alle Prüfkunden (dieselbe Sicht wie /dash/pruefservice/gsc): ob der Google-Zugang des Dienstes hinterlegt ist und je Kunde, ob eine Freigabe vorliegt und bis wann sie gilt. Liest keine Werte, nur Metadaten.

Rollen: Betreiber

pruefservice.ranking.gsc.tracking

Tracking aus der Search Console eines Kunden (Mig 319): Kennzahlen mit Veränderung zum Vorzeitraum (28 Tage), Positionsklassen, Suchanfragen und Seiten mit Gewinnern, Verlierern, neuen und verlorenen, Auf- und Absteigern, Chancen (Platz 4 bis 20 mit Impressionen), Länder, Geräte, Sucherscheinungen, Suchtypen, Wochenreihe bis 16 Monate, Sitemaps, Indexierung der stärksten Seiten und die Entwicklung über alle Erhebungen. Liest die jüngste Erhebung; ohne Erhebung null — dann ranking.gsc.erheben.

Rollen: Betreiber

  • kundeId *: UUID des Prüfkunden

pruefservice.ranking.gsc.erheben

Tracking der Search Console für einen Kunden jetzt erheben (sonst täglich 04:41 im Heartbeat): Suchanalyse je Dimension und Suchtyp, Sitemaps, Inspektion der 20 stärksten Seiten; eine Zeile je Tag, ein zweiter Lauf am selben Tag ersetzt sie. Braucht die Freigabe des Kunden; jede Lesung steht im Tresor-Protokoll.

Rollen: Betreiber · verändert Daten

  • kundeId *: UUID des Prüfkunden

pruefservice.ranking.sistrix

Sistrix für die Domain eines Kunden: Sichtbarkeitsindex mit Stand, Keywords in den Top 100 und Top 10, Land aus der Endung; Schlüssel des Betreibers aus dem Vault, jede Abfrage kostet Credits und steht mit Kunde im Aktivitätslog. Ein Stand jünger als ein Tag kommt aus dem Speicher am Kunden; frisch:true erzwingt die Abfrage. Ohne Schlüssel kein Aufruf.

Rollen: Betreiber

  • kundeId *: UUID des Prüfkunden
  • frisch: true erzwingt eine neue Abfrage bei Sistrix (kostet Credits)

pruefservice.ranking.sistrix.credits

Sistrix-Credits eines Monats aus dem Aktivitätslog: Summe, Zahl der Abfragen und je Kunde — die Kosten des Betreibers. Ohne monat der laufende Monat.

Rollen: Betreiber

  • monat: JJJJ-MM, Vorgabe: laufender Monat

messung

pruefservice.messung.einstellung

Betreiber-Schalter der Messung (pruefservice.messung): tiefenpruefung (Software-Sonden) und die Vorlagen-Erkennung im Crawl — schwelle (ab so vielen bekannten Adressen, 0 = aus) und vertreter (Seiten je Vorlage, die voll gemessen werden; mehr Vertreter sehen mehr, etwa Bilder ohne Text auf einzelnen Seiten). Ohne Eingabe: lesen. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • tiefenpruefung: Software-Sonden an/aus
  • schwelle: Vorlagen ab so vielen bekannten Adressen, 0 = aus
  • vertreter: Vertreter je Vorlage, 1–50

agent

pruefservice.agent.stand.setzen

Ein Agent (Claude-Fenster, Maschine) meldet seinen Stand: agent (Name), stand (arbeitet | wartet | deploy | blockiert | fertig), tut (was gerade), wo (Datei, Bereich). Der Betreiber sieht es im Doku-Archiv. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • agent *: Name des Agenten, z. B. euid-com-50
  • stand: arbeitet | wartet | deploy | blockiert | fertig
  • tut *: Tätigkeit, bis 500 Zeichen
  • wo: Optional: Datei oder Bereich

pruefservice.agent.stand.liste

Jüngster Stand je Agent (stumm ab 30 Minuten ohne Meldung) und der Verlauf der letzten Meldungen.

Rollen: Betreiber

  • verlauf: Optional: wie viele Verlaufszeilen, Vorgabe 40

partnerpool

pruefservice.partnerpool.liste

Partnerpools mit Mitgliedern und Rollen (pruefer | assistenz | beides); mit kundeId zusätzlich die für diesen Kunden wählbaren Partner.

Rollen: Betreiber

  • kundeId: Optional: Prüfkunde

pruefservice.partnerpool.anlegen

Partnerpool anlegen: name, beschreibung, inhaberKundeId (Organisation, der der Pool gehört; leer = Betreiber). [verändert Daten]

Rollen: Betreiber · verändert Daten

  • name *: Name, 2–80 Zeichen
  • beschreibung: Optional
  • inhaberKundeId: Optional: Prüfkunde

pruefservice.partnerpool.mitglied

Partner in einen Pool setzen (rolle pruefer | assistenz | beides) oder entfernen (rolle null). Nur Agenturen, Organisationen, Hoster. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • poolId *: Pool
  • kundeId *: Partner (Prüfkunde)
  • rolle: pruefer | assistenz | beides | null (entfernen)

pruefservice.partnerpool.zuordnen

Einem Kunden einen Partnerpool zuordnen (poolId) oder die Zuordnung entfernen (poolId null) — daraus wählt er Prüfer-Organisation und Assistenz. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • kundeId *: Prüfkunde
  • poolId: Pool-Kennung oder null (Zuordnung entfernen)

insel

pruefservice.insel.stand

Insel-Betrieb (Block 21): Art dieser Instanz (zentrale | insel), Kennung, Übergabeweg der Abrechnung und — auf einer Insel — der Lizenzstand (gueltig | gnade | abgelaufen | ungueltig).

Rollen: Betreiber

pruefservice.insel.abrechnung.vorschau

Zähler eines Monats (JJJJ-MM, Vorgabe Vormonat), wie sie in den Abrechnungsbericht kämen — nur Zahlen, nichts wird abgelegt.

Rollen: Betreiber

  • monat: Optional: JJJJ-MM, Vorgabe Vormonat

pruefservice.insel.abrechnung.erstellen

Nur auf einer Insel: Abrechnungsbericht des Monats erstellen (Hash-Kette, Signatur, append-only) und bei Übergabeweg push an die Zentrale schicken; bei holen bleibt er zum Herunterladen liegen (uebermitteln:true erzwingt den Push). [verändert Daten]

Rollen: Betreiber · verändert Daten

  • monat: Optional: JJJJ-MM, Vorgabe Vormonat
  • uebermitteln: Optional: an die Zentrale schicken (Vorgabe: ja bei push)

pruefservice.insel.liste

Zentrale: alle Inseln (Kennung, Hoster, Übergabeweg, Lizenzende, Zahl der Berichte, letzter Monat).

Rollen: Betreiber

pruefservice.insel.anlegen

Zentrale: Insel eines Hosters anlegen oder erneuern: kennung, oeffentlicherSchluessel (PEM der Insel, aus tools/abrechnung_export.mjs --schluessel), kundeId des Hosters, uebergabe (push | holen), lizenzBis. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • kennung *: Kennung der Insel (a-z, 0-9, -)
  • oeffentlicherSchluessel *: Öffentlicher Ed25519-Schlüssel der Insel, PEM
  • kundeId: Optional: Prüfkunde des Hosters
  • uebergabe: push | holen
  • lizenzBis: Optional: JJJJ-MM-TT

pruefservice.insel.bericht.einspielen

Zentrale, Übergabeweg holen: einen vom Hoster gelieferten Abrechnungsbericht ({ bericht, signatur }) prüfen und ablegen. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • bericht *: Der Bericht
  • signatur *: Signatur der Insel (base64)

pruefservice.insel.berichte

Abrechnungsberichte (alle Inseln oder eine kennung), jüngster zuerst: Monat, Weg, Hash, Zähler.

Rollen: Betreiber

  • kennung: Optional: nur diese Insel
  • limit: Optional, Vorgabe 24

Dokumentation und Fragen

pruefservice.doku.gespraech.offen

Offene Nachrichten des Betreibers aus dem Doku-Archiv (/dash/pruefservice/doku): je Thema (Dateipfad oder frage:NN) Text, Zeit und — wenn an einer Textstelle kommentiert — anker {tag, index, zitat} (das Zitat ist die Stelle in der Datei), älteste zuerst. Lesen setzt gesehenAm (der Betreiber sieht „gesehen“); nurLesen: true lässt die Marke aus. Antworten mit doku.gespraech.antwort.

Rollen: Betreiber · verändert Daten

  • limit: höchstens so viele, Vorgabe 50
  • nurLesen: ohne gesehen-Marke

pruefservice.doku.gespraech.antwort

Antwort von Claude auf eine Betreiber-Nachricht im Doku-Archiv: legt die Antwort im selben Thema ab und markiert die Nachricht als beantwortet.

Rollen: Betreiber · verändert Daten

  • id *: UUID der Betreiber-Nachricht
  • text *: Antworttext, höchstens 8000 Zeichen

pruefservice.doku.fragen

Die Offenen Fragen aus docs/TODOS-PROGRAMM.md, wie sie die Doku-Seite zeigt: Nummer, Titel, ob eine Antwort des Betreibers vermerkt ist.

Rollen: Betreiber

Verrechnung

pruefservice.verrechnung.stand

Alle verrechneten Werte, wie der Dienst sie heute anwendet: Assistenz (Stundensatz, Start-Kontingent, Provision), Vergütung je begleitetem Teilsiegel, Gutschrift je manuell geprüfter Seite, Preis und Basis je Zusatzleistung samt Freigabe.

Rollen: Betreiber

pruefservice.verrechnung.setzen

Einen verrechneten Wert setzen — dieselbe Fachfunktion wie das Profil: gruppe assistenz (stundensatz €, kontingent Viertel, provision %), verguetung (aktiv, begleitung €), pruefer_person (seite €) oder zusatz (id, preis € je Seite, basis €). Wächter mit Obergrenzen; die Freigabe einer Zusatzleistung und die Kassenpreise bleiben draußen. Jede Änderung steht im Aktivitätslog.

Rollen: Betreiber · verändert Daten

  • gruppe *: assistenz | verguetung | pruefer_person | zusatz
  • id: Bei zusatz: menschlich | kanzlei | cyber | umsetzungshilfe | hosting
  • stundensatz: Euro je Stunde, z. B. 100,00
  • kontingent: Viertelstunden, z. B. 8
  • provision: Prozent, z. B. 20
  • aktiv: Vergütung aktiv
  • begleitung: Euro je Teilsiegel
  • seite: Euro je Seite
  • preis: Euro je geprüfter Seite
  • basis: Basispreis in Euro, leer = keiner

erklaerung

pruefservice.erklaerung.stand

Erklärung zur Barrierefreiheit einer Prüfakte (EU-Mustererklärung 2018/1523): jüngste Version mit Stand, Zahlen, Mängeln, Adresse der gehosteten Seite, alle Versionen, die vorbefüllten Angaben und was vor der Veröffentlichung noch fehlt.

Rollen: Betreiber, Agentur, Organisation

  • auftragId *: Prüfakte (Auftrag)

pruefservice.erklaerung.erzeugen

Neue Version der Erklärung zur Barrierefreiheit erzeugen — aus dem jüngsten abgeschlossenen Durchgang der Akte und den `angaben` (Objekt wie in erklaerung.stand: stelle, land, bundesland, kontaktName, kontaktEmail, kontaktTelefon, kontaktAnschrift, feedbackUrl, durchsetzungName/Url/Email, belastung[], ausserhalb[] je {inhalt, grund, alternative}, abhilfe, bestaetigung, veroeffentlichtAm, hilfsangebote). Fehlende Angaben kommen aus der Vorversion. Append-only: ältere Versionen bleiben.

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • auftragId *: Prüfakte (Auftrag)
  • angaben: Angaben der Stelle (siehe Beschreibung); leer = Vorversion
  • sprache: de oder en (Vorgabe: Sprache des Prüfkunden)

pruefservice.erklaerung.html

Das HTML einer Version der Erklärung (ohne Version: die jüngste) — zum Einfügen in das eigene System.

Rollen: Betreiber, Agentur, Organisation

  • auftragId *: Prüfakte (Auftrag)
  • version: Versionsnummer; leer = jüngste

anfragen

pruefservice.anfragen.liste

Anfragen-DB (Organisation, Agentur, Webhoster, Interessent) aus /anfrage und /registrieren: stand (neu, kontakt, angelegt, abgelehnt, offen = neu+kontakt), limit (≤500). Fläche: /dash/pruefservice/anfragen.

Rollen: Betreiber

  • stand: neu, kontakt, angelegt, abgelehnt oder offen
  • limit: höchstens 500

pruefservice.anfragen.stand

Stand und Notiz einer Anfrage setzen (neu, kontakt, angelegt, abgelehnt) oder sie mit zielkunde:true als Zielkunden übernehmen (Quelle anfrage, Kennung E-Mail; Stand wird angelegt).

Rollen: Betreiber · verändert Daten

  • anfrageId *: UUID der Anfrage
  • stand: neu, kontakt, angelegt, abgelehnt
  • notiz: Notiz des Betreibers
  • zielkunde: true: als Zielkunden übernehmen

zielkunden

pruefservice.zielkunden.liste

Zielkunden (mögliche Kunden aus Listen) nach Filter: suche, land, branche, typ, quelle, prioritaet (A/B/C), sichtung (offen, gesichtet, interessant, vielleicht, nicht), mitEmail, mitWebsite, befoerdert, zielgruppeId, jeDomain, limit (≤500), offset. Fläche: /dash/pruefservice/zielkunden.

Rollen: Betreiber

  • suche: Freitext über Name, Ort, PLZ, E-Mail, Domain, Notiz
  • land: ISO-2
  • branche: Branche (Kennung)
  • typ: Typ (verband, kammer, gemeinde, firma …)
  • quelle: Quelle des Imports
  • prioritaet: A, B oder C
  • sichtung: offen, gesichtet, interessant, vielleicht, nicht
  • mitEmail: nur mit / ohne E-Mail
  • mitWebsite: nur mit / ohne Website
  • befoerdert: schon Prüfkunde (true) oder noch keiner (false)
  • zielgruppeId: Nur Mitglieder dieser Zielgruppe
  • jeDomain: eine Zeile je Domain
  • limit: höchstens 500
  • offset: Versatz
  • csv: true: den Filter als CSV-Text liefern (ohne Seitenbegrenzung)

pruefservice.zielkunden.facetten

Zählung des Zielkunden-Verzeichnisses je Land, Branche, Typ, Quelle, Priorität und die Summen (gesamt, mit E-Mail, mit Website, gesichtet, interessant, Prüfkunden) samt Zielgruppen.

Rollen: Betreiber

pruefservice.zielkunden.import

Zielkunden importieren: `eintraege` (Objekte mit name, land, branche, typ, prioritaet, email, telefon, website, ort, plz, notiz, quelleKennung) oder `csv` (Text im Format docs/marketing/zielgruppen.csv oder BusinessScraper). Gleiche (quelle, Kennung) aktualisiert Stammdaten, Sichtung und Beförderung bleiben. Höchstens 5000 je Aufruf.

Rollen: Betreiber · verändert Daten

  • quelle *: Kennung der Liste (zielgruppen, herold, wko …)
  • eintraege: Einträge als Objekte
  • csv: CSV-Text als Alternative zu eintraege

pruefservice.zielkunden.sichtung

Einen Zielkunden sichten: sichtung 3 interessant, 2 vielleicht, 1 nicht, 0 zurück auf ungesichtet; groesse klein/mittel/gross; notiz. Ohne id: der nächste ungesichtete Eintrag (Filter wie zielkunden.liste).

Rollen: Betreiber · verändert Daten

  • id: Zielkunde-id
  • sichtung: 3, 2, 1 oder 0
  • groesse: klein, mittel, gross
  • notiz: Notiz zur Sichtung
  • land: Filter für den nächsten Eintrag
  • branche: Filter
  • quelle: Filter
  • prioritaet: Filter

pruefservice.zielkunden.befoerdern

Aus einem Zielkunden einen Prüfkunden machen — über denselben Weg wie das Onboarding (createKunde); braucht eine Website, ist endgültig; bei gleicher Domain wird der bestehende Prüfkunde verknüpft.

Rollen: Betreiber · verändert Daten

  • id *: Zielkunde-id

pruefservice.zielkunden.zielgruppe

Zielgruppe anlegen (name, beschreibung) oder füllen (zielgruppeId + ids der Zielkunden); ohne Eingabe die Liste der Zielgruppen mit Mitgliederzahl. Eine Zielgruppe ist eine Auswahl für Post, LinkedIn, Vergabe oder den Odoo-Lead-Import — nie eine Mailingliste.

Rollen: Betreiber · verändert Daten

  • name: Name der neuen Zielgruppe
  • beschreibung: Wozu die Auswahl dient
  • zielgruppeId: Bestehende Zielgruppe
  • ids: Zielkunde-ids, die aufgenommen werden

Einwilligung

pruefservice.einwilligung.stand

Stand der Einwilligung einer E-Mail-Adresse für einen Zweck (newsletter): keine, offen (erteilt, Bestätigung ausständig), verfallen, aktiv, widerrufen. Nur bei aktiv darf Werbung an die Adresse gehen.

Rollen: Betreiber

  • email *: E-Mail-Adresse
  • zweck: Zweck (Vorgabe newsletter)

pruefservice.einwilligung.liste

Alle Adressen mit AKTIVER Einwilligung für einen Zweck — die einzige zulässige Quelle für eine Mailingliste.

Rollen: Betreiber

  • zweck: Zweck (Vorgabe newsletter)

pruefservice.einwilligung.widerruf

Einwilligung einer Adresse widerrufen (z. B. auf Zuruf der Person). Schreibt eine neue Zeile in die Kette; ohne aktive oder offene Einwilligung passiert nichts. [verändert Daten]

Rollen: Betreiber · verändert Daten

  • email *: E-Mail-Adresse
  • zweck: Zweck (Vorgabe newsletter)
  • grund: Optional: warum, in einem Satz

Odoo

pruefservice.odoo.stand

Odoo-Anbindung: Schalter pruefservice.odoo, Mailingliste, ob der Zugang im Vault vollständig ist (url, db, benutzer, api_key) — nie die Werte.

Rollen: Betreiber

pruefservice.odoo.abgleich

Odoo-Abgleich jetzt ausführen (sonst alle 15 min per Heartbeat): Leads je Prüfkunde, Mailing-Kontakte aus aktiver Einwilligung, Abmeldungen aus Odoo als Widerruf zurück. Ohne Schalter oder Zugang läuft nichts. [verändert Daten]

Rollen: Betreiber · verändert Daten

Vorlese-Arbeiter

pruefservice.vorlese.aufgabe

Nächste Vorlese-Aufgabe für eine Maschine der Art vorlese: ein fertiger Lauf einer vollen Prüfung (letzte 60 Tage, ohne Zugang aus dem Tresor) mit bis zu 5 Kernseiten, 30 Minuten reserviert. null, wenn nichts ansteht.

Rollen: Betreiber · verändert Daten

  • maschineId *: UUID der Maschine (maschine.anmelden)

pruefservice.vorlese.beleg

Gesprochenen Text einer Seite als Beleg an den Lauf hängen (append-only, einmal je Lauf und Seite; nur die Maschine, die den Lauf reserviert hat). Meldet, welche Seiten der Aufgabe noch offen sind.

Rollen: Betreiber · verändert Daten

  • maschineId *: UUID der Maschine
  • runId *: UUID des Durchgangs aus der Aufgabe
  • url *: Seite aus der Aufgabe
  • zeilen *: gesprochene Zeilen (Text) in Reihenfolge
  • werkzeug: Optional: NVDA-Version, Guidepup, Browser
  • dauerMs: Optional: Dauer des Lesens in ms

pruefservice.vorlese.stand

Vorlese-Stand eines Durchgangs: Reservierung, Belege je Seite mit gesprochenem Text, was noch offen ist.

Rollen: Betreiber

  • runId *: UUID des Durchgangs

zugang

pruefservice.zugang.anlegen

MCP-Zugang für einen Prüfkunden anlegen. Antwort enthält den Klartext GENAU EINMAL (Präfix euid_mcp_); gespeichert wird nur der Abdruck. Rolle: Vorgabe aus der Kundenart (agentur | organisation), enger (tester) erlaubt, weiter nie. Ein Kunden-Zugang darf nur für seinen eigenen Prüfkunden anlegen. [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID des Prüfkunden, dem der Zugang gehört
  • name *: Name des Zugangs: 2–40 Zeichen, a-z, 0-9, Bindestrich
  • rolle: Optional: agentur | organisation | tester (Vorgabe aus der Kundenart)
  • notiz: Optional: Zweck oder Rechner, höchstens 500 Zeichen

pruefservice.zugang.liste

MCP-Zugänge eines Prüfkunden: Name, Rolle, angelegt, zuletzt benutzt, Nutzungen, widerrufen. Nie ein Klartext.

Rollen: Betreiber, Agentur, Organisation

  • kundeId *: UUID des Prüfkunden

pruefservice.zugang.widerrufen

MCP-Zugang widerrufen; wirkt sofort, die Zeile bleibt als Nachweis. [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID des Prüfkunden
  • zugangId *: UUID des Zugangs (aus zugang.liste)

hook

pruefservice.hook.ereignisse

Ereigniskatalog der Hooks: jede abonnierbare Art mit Bereich und Text (Filter erlaubt Arten und Präfixe wie ticket.*).

Rollen: Betreiber, Agentur, Organisation

pruefservice.hook.anlegen

Webhook einer Organisation anlegen: https-Adresse, optional Ereignis-Filter und Bezeichnung. Antwort enthält das Secret GENAU EINMAL (danach nur im Tresor der Organisation). Zustellungen sind signiert (X-Euid-Signature: t=<unix>,v1=<hmac-sha256(secret, t.body)>). Ein Kunden-Zugang nur für den eigenen Prüfkunden. [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation (Prüfkunde)
  • url *: https-Adresse des Empfängers
  • ereignisse: Optional: Arten oder Präfixe (ticket.*); leer = alles Abonnierbare
  • bezeichnung: Optional: Name des Hooks

pruefservice.hook.liste

Hooks einer Organisation: Adresse, Filter, aktiv/pausiert, Fehlerfolge. Nie ein Secret.

Rollen: Betreiber, Agentur, Organisation

  • kundeId *: UUID der Organisation

pruefservice.hook.testen

Testzustellung (Ereignis hook.test) sofort an einen Hook; Antwort: Status, HTTP-Code, Dauer, Fehler.

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation
  • hookId *: UUID des Hooks

pruefservice.hook.zustellungen

Zustellungen eines Hooks, neueste zuerst: Ereignis, Status (wartet/ok/fehler/aufgegeben), Versuche, HTTP-Code, Dauer, Fehler.

Rollen: Betreiber, Agentur, Organisation

  • kundeId *: UUID der Organisation
  • hookId *: UUID des Hooks
  • limit: Optional: höchstens so viele (Vorgabe 50)

pruefservice.hook.entfernen

Hook entfernen (samt Secret im Tresor und Zustellungen). [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation
  • hookId *: UUID des Hooks

pruefservice.hook.fortsetzen

Pausierten Hook wieder aufnehmen (Fehlerfolge auf 0). [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation
  • hookId *: UUID des Hooks

tresor

pruefservice.tresor.quelle.stand

Eigene Tresor-Quelle einer Organisation (2026-09-15): intern, HashiCorp/OpenBao KV v2 oder eigener https-Endpunkt; Adresse, Mount, Pfad, Feld, Reihenfolge, ob ein Token liegt, letzte Probe. Nie ein Token.

Rollen: Betreiber, Agentur, Organisation

  • kundeId *: UUID der Organisation

pruefservice.tresor.quelle.setzen

Eigene Tresor-Quelle setzen: art intern | hashicorp | http, adresse (https), bei hashicorp mount (Vorgabe secret) und pfad, feld (Vorgabe value bzw. wert), eigeneZuerst (Vorgabe true), token (Zugangs-Token; leer lässt ein vorhandenes stehen). Danach liest der Prüfservice Geheimnisse der Organisation (Login, Basic-Auth, Fremdsystem, Hook-Secrets) aus dieser Quelle. art intern entfernt Quelle und Token. [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation
  • art *: intern | hashicorp | http
  • adresse: https-Basisadresse; http-Endpunkt darf {label} enthalten
  • mount: hashicorp: KV-Mount
  • pfad: hashicorp: Pfadpräfix
  • feld: Feld mit dem Wert
  • eigeneZuerst: erst die eigene Quelle, dann intern
  • token: Zugangs-Token zur Quelle

pruefservice.tresor.quelle.pruefen

Verbindungsprobe der eigenen Tresor-Quelle: liest das Label euid-verbindungstest; sagt, ob die Quelle erreichbar ist, das Token angenommen wird und das Label liegt.

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation

pruefservice.tresor.quelle.entfernen

Eigene Tresor-Quelle samt Token entfernen — die Organisation liegt wieder ganz im Tresor des Prüfservice. [verändert Daten]

Rollen: Betreiber, Agentur, Organisation · verändert Daten

  • kundeId *: UUID der Organisation

Hilfe-Figur

pruefservice.hilfe.verhalten.liste

Listet die Verhalten der Hilfe-Figur (Zeigen, Willkommen, …) mit ihrer Pose.

Rollen: Betreiber

  • includeInactive: Auch deaktivierte Verhalten

pruefservice.hilfe.verhalten.setzen

Legt ein Verhalten der Hilfe-Figur an oder ändert es (per key); pose ist eine der Figur-Posen.

Rollen: Betreiber · verändert Daten

  • key *: Schlüssel (a-z, 0-9, - und _)
  • label *: Beschriftung
  • pose *: Figur-Pose
  • description: Optional: wann das Verhalten auftritt
  • orderIndex: Optional: Reihenfolge
  • active: Optional: wählbar

pruefservice.hilfe.verhalten.loeschen

Löscht ein Verhalten der Hilfe-Figur per key.

Rollen: Betreiber · verändert Daten

  • key *: Schlüssel

pruefservice.hilfe.punkte.liste

Listet Hilfe-Punkte (die Sequenz einer Seite), optional nach portal und pageId gefiltert.

Rollen: Betreiber

  • portal: Optional: Portal (z. B. pruefung)
  • pageId: Optional: Routenpfad der Seite

pruefservice.hilfe.punkte.anlegen

Legt einen einzelnen Hilfe-Punkt an.

Rollen: Betreiber · verändert Daten

  • portal *: Portal
  • pageId: Routenpfad der Seite
  • orderIndex: Reihenfolge
  • behaviorKey: Verhalten (key); die Pose wird daraus abgeleitet, wenn pose fehlt
  • pose: Direkte Pose der Figur
  • text *: Was die Figur sagt
  • subtitle: Optional: Untertitel
  • noTarget: true = ohne Ziel (Begrüßung, keine Zeigelinie)
  • pointX: Ziel, Bruchteil der Fensterbreite 0..1
  • pointY: Ziel, Bruchteil der Fensterhöhe 0..1
  • holdMs: Auto-Weiter nach ms (0 oder weg = manuell)
  • travelMs: Geh-Dauer am Seil hin zu diesem Schritt (ms)
  • speechDelayMs: Verzögerung bis zur Sprechblase (ms)
  • bubbleX: Sprechblase, Bruchteil der Fensterbreite 0..1
  • bubbleY: Sprechblase, Bruchteil der Fensterhöhe 0..1
  • anchorWfId: data-wf-id des Elements, an dem der Punkt klebt
  • anchorRelX: Versatz im Element 0..1
  • anchorRelY: Versatz im Element 0..1
  • figureAnchor: Lage der Sprechblase zum Ziel
  • actionType: Einfache Vorführ-Aktion (Ereignis euid:hilfe-demo)
  • actionValue: Wert der Vorführ-Aktion
  • actions: DOM-Operationen als Liste {op, selector, value, event, detail, class, attr}; op: click|set|toggle|dispatch|addClass|removeClass|setAttr

pruefservice.hilfe.punkte.aendern

Ändert einen Hilfe-Punkt per id (nur übergebene Felder).

Rollen: Betreiber · verändert Daten

  • id *: ID des Punkts
  • active: Aktiv
  • orderIndex: Reihenfolge
  • behaviorKey: Verhalten (key); die Pose wird daraus abgeleitet, wenn pose fehlt
  • pose: Direkte Pose der Figur
  • text: Was die Figur sagt
  • subtitle: Optional: Untertitel
  • noTarget: true = ohne Ziel (Begrüßung, keine Zeigelinie)
  • pointX: Ziel, Bruchteil der Fensterbreite 0..1
  • pointY: Ziel, Bruchteil der Fensterhöhe 0..1
  • holdMs: Auto-Weiter nach ms (0 oder weg = manuell)
  • travelMs: Geh-Dauer am Seil hin zu diesem Schritt (ms)
  • speechDelayMs: Verzögerung bis zur Sprechblase (ms)
  • bubbleX: Sprechblase, Bruchteil der Fensterbreite 0..1
  • bubbleY: Sprechblase, Bruchteil der Fensterhöhe 0..1
  • anchorWfId: data-wf-id des Elements, an dem der Punkt klebt
  • anchorRelX: Versatz im Element 0..1
  • anchorRelY: Versatz im Element 0..1
  • figureAnchor: Lage der Sprechblase zum Ziel
  • actionType: Einfache Vorführ-Aktion (Ereignis euid:hilfe-demo)
  • actionValue: Wert der Vorführ-Aktion
  • actions: DOM-Operationen als Liste {op, selector, value, event, detail, class, attr}; op: click|set|toggle|dispatch|addClass|removeClass|setAttr

pruefservice.hilfe.punkte.loeschen

Löscht einen Hilfe-Punkt per id.

Rollen: Betreiber · verändert Daten

  • id *: ID des Punkts

pruefservice.hilfe.sequenz.bauen

Baut die ganze Hilfe-Sequenz einer Seite in einem Aufruf: steps = geordnete Schritte; replace=true ersetzt die bestehende Sequenz.

Rollen: Betreiber · verändert Daten

  • portal *: Portal
  • pageId *: Routenpfad der Seite
  • replace: true = bestehende Punkte dieser Seite vorher löschen
  • steps *: Schritte in Reihenfolge; jeder wie bei punkte.anlegen (text, pose oder behaviorKey, pointX/Y, holdMs, …)

Die Liste entsteht beim Bau der Seite aus lib/mcp/werkzeuge.ts und lib/mcp/rollen.ts;GET /api/mcp liefert sie als JSON. Zurück zu Automatisierung und MCP.

  • Siegel Digitale Barrierefreiheit
  • Siegel Daten & Recht
  • Siegel Technische Qualität
  • Siegel Digital Excellence
  • Siegel Cyberversicherung

Geprüft. Für eine bessere digitale Zukunft.euid.com →