Zum Inhalt springen
XICBOT

Einstellungen

English
Dokumentation · Konto, Pakete, Datenschutz

Datenschutz und Recht im Konto

Rechtstexte, Auftragsverarbeitung, Unterauftragsverarbeiter, gespeicherte Daten, Datenexport und Kontolöschung auf der Seite Recht und Daten.

In einfacher Sprache

Diese Seite erklärt den Bereich Recht und Daten in der Anwendung. Dort finden Sie die Rechtstexte. Dort liegt auch der Vertrag, nach dem wir Daten für Sie verarbeiten. Sie sehen, welche Daten gespeichert sind. Sie können Ihre Daten herunterladen. Sie können dort auch Ihr Konto löschen. Die Erklärung zur Barrierefreiheit steht ebenfalls dort.

Stand

Alle Themen der Dokumentation

Auf der Seite Recht und Daten finden Sie die Fassungen der Rechtstexte, den Vertrag zur Auftragsverarbeitung mit der Liste der Unterauftragsverarbeiter, die technischen und organisatorischen Maßnahmen, eine Übersicht der gespeicherten Daten, den Datenexport, die Erklärung zur Barrierefreiheit und die Löschung des Kontos. Sie öffnen die Seite in der Anwendung unter Nachweis › Recht und Daten, also app.xicbot.de/recht.

Aufbau der Seite

Die Seite zeigt ihre Karten in dieser Reihenfolge. Solange die Angaben laden, steht dort Wird geladen …. Die Karten Technische und organisatorische Maßnahmen und Erklärung zur Barrierefreiheit kommen aus einer eigenen Abfrage und erscheinen erst, wenn diese geantwortet hat. Wortlaut des Vertrages, Punkte der Anlage und Texte der Erklärung zur Barrierefreiheit liegen nur auf Deutsch vor und erscheinen auch in der englischen Oberfläche auf Deutsch.

KarteInhaltAktion und Rolle
RechtstexteFassungen der Allgemeine Geschäftsbedingungen, der Datenschutzerklärung und der Auftragsverarbeitung, bei den ersten beiden mit dem Link Volltext lesenkeine
AuftragsverarbeitungFassung, Annahmestand und VertragstextAuftragsverarbeitung annehmen: Inhaber
UnterauftragsverarbeiterStand der Liste, Von Ihnen bestätigt, Tabelle der DienstleisterStand bestätigen: Inhaber; Widerspruch einlegen: Verwaltung und Inhaber
Technische und organisatorische MaßnahmenAnlage zum Vertrag, nach Gruppen geordnetkeine
Gespeicherte DatenAnzahl je Kategorie, Abdeckung des Datenkatalogs und AufbewahrungsfristenFristen Speichern: Verwaltung und Inhaber
DatenexportExport der gespeicherten Daten des Kontos mit Angabe, ob er vollständig istDaten exportieren: Inhaber
Erklärung zur BarrierefreiheitSelbstauskunft zu Maßstab, Stand und Einschränkungenkeine
Konto löschenendgültige Löschung des KontosKonto endgültig löschen: Inhaber

Wer was darf

AktionLesenBearbeitenVerwaltungInhaber
Seite ansehen, Fassungen und Zahlen lesenjajajaja
Aufbewahrungsfristen ändernneinneinjaja
Einem Unterauftragsverarbeiter widersprechenneinneinjaja
Einträge im Protokoll sehenneinneinjaja
Auftragsverarbeitung annehmen und Stand der Liste bestätigenneinneinneinja
Daten exportierenneinneinneinja
Konto löschenneinneinneinja

Die Rollen haben aufsteigenden Rang: Lesen, Bearbeiten, Verwaltung, Inhaber. Wer eine Aktion mit zu niedriger Rolle über die Schnittstelle auslöst, erhält 403 mit dem Fehler role_too_low und der verlangten Rolle im Feld required. Jede Anfrage dieser Seite setzt eine Anmeldung, ein aktives Konto und eine bestätigte E-Mail-Adresse voraus. Rollen vergeben Sie unter Team und Rollen.

Rechtstexte

Die Karte Rechtstexte nennt für Allgemeine Geschäftsbedingungen, Datenschutzerklärung und Auftragsverarbeitung jeweils die geltende Fassung als Datum, derzeit 2026-09-28. Der Link Volltext lesen öffnet die Geschäftsbedingungen und die Datenschutzerklärung auf xicbot.de in der Sprache der Oberfläche. Den Vertrag zur Auftragsverarbeitung lesen Sie direkt in der nächsten Karte.

Auftragsverarbeitung

Die Karte Auftragsverarbeitung zeigt oben die Fassung des Vertrages und Angenommen am mit Datum und Uhrzeit, ohne Annahme einen Strich. Nach einer Annahme folgen Angenommene Fassung und Angenommen von. Ist das Nutzerkonto der annehmenden Person inzwischen entfernt, steht dort Konto entfernt; fehlt eine Angabe ganz, steht nicht festgehalten. Der Name wird auch nach der Löschung eines Nutzers weiter angezeigt, weil die Annahme eine Tatsache der Vergangenheit ist.

Unter Vertragstext steht der Wortlaut des Vertrages: der Titel *Vertrag über die Verarbeitung personenbezogener Daten im Auftrag (Art. 28 DSGVO)*, der Satz, dass Ihr Konto Verantwortlicher im Sinne von Art. 4 Nr. 7 DSGVO bleibt, die Vertragsparteien mit Verantwortlicher und Auftragsverarbeiter und danach die einzelnen Abschnitte. Firma und Anschrift des Verantwortlichen ergeben sich aus den Stammdaten Ihres Kontos. Der Vertrag gilt, solange das Konto besteht, und endet mit dessen Löschung.

Vertrag annehmen

  1. Schritt 1

    Vertragstext lesen

    Lesen Sie den Wortlaut unter Vertragstext und achten Sie auf Meldungen zu offenen Punkten.

  2. Schritt 2

    Annehmen

    Klicken Sie als Inhaber auf Auftragsverarbeitung annehmen. Andere Rollen sehen statt des Knopfes den Satz Den Vertrag zur Auftragsverarbeitung nimmt der Inhaber des Kontos an.

  3. Schritt 3

    Ergebnis ablesen

    Die Karte zeigt Angenommen am mit Datum und Uhrzeit. Bei der Annahme werden Zeitpunkt, Fassung und die annehmende Person gespeichert; das Protokoll erhält einen Eintrag dpa.accepted. Das gilt auch, wenn eine ältere Fassung angenommen war und inzwischen eine neue gilt: Die neue Annahme ersetzt Zeitpunkt, Fassung und Person. Ist die geltende Fassung bereits angenommen, ändert eine erneute Annahme nichts. Eintrag und Annahme werden zusammen gespeichert: kommt der Eintrag nicht zustande, bleibt der Vertrag im bisherigen Stand, also unangenommen oder mit der älteren Fassung, und es erscheint Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut.

Der Knopf ist gesperrt, solange eine andere Aktion der Seite läuft, solange kein Vertragstext vorliegt, wenn Wortlaut und Fassungsnummer nicht zusammenpassen und solange im Vertrag noch Angaben des Betreibers offen sind.

MeldungWann sie erscheint
Noch nicht angenommenFür dieses Konto liegt noch keine Annahme vor.
Es liegt eine neue Fassung vor. Bitte erneut annehmen.Es gibt eine Annahme, aber für eine andere Fassung als die geltende.
Der Vertragstext enthält {n} offene Punkte, die der Betreiber noch ausfüllt. Ein offener Punkt ist keine Zusage.Die Anlage enthält noch Punkte, die der Betreiber einträgt; {n} ist ihre Zahl. Die Meldung erscheint unabhängig davon, ob der Vertrag angenommen ist.
Im Vertrag fehlen noch diese Angaben des Betreibers:Der Vertrag ist nicht angenommen, und im Vertrag sind noch Angaben offen. Darunter folgt die Liste, je Eintrag mit Bereich und Titel, etwa Technische und organisatorische Maßnahmen oder Vertragsparteien. Der Knopf bleibt gesperrt.
Der Wortlaut des Vertrages und die Fassungsnummer stimmen nicht überein. Bitte nicht annehmen und den Betreiber verständigen.Der ausgelieferte Wortlaut trägt eine andere Fassung als die geltende Fassungsnummer.
Angenommen am: DatumBestätigung nach einer Annahme

Unterauftragsverarbeiter

Die Karte Unterauftragsverarbeiter nennt den Stand der Liste und den Stand, den Ihr Konto zuletzt bestätigt hat, unter Von Ihnen bestätigt, ohne Bestätigung einen Strich. Die Tabelle führt je Eintrag Dienstleister, Zweck, Daten, Ort und Grundlage; was selbst betrieben wird, trägt die Marke Selbst betrieben. Die Liste ist für alle Konten dieselbe.

Weicht der bestätigte Stand vom aktuellen ab, erscheint Die Liste hat sich geändert und ist noch nicht bestätigt. Der Inhaber bestätigt mit Stand bestätigen; gespeichert wird der Stand, und das Protokoll erhält einen Eintrag dpa.accepted. Beides wird zusammen gespeichert; kommt der Eintrag nicht zustande, bleibt der bisher bestätigte Stand, und es erscheint Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut. Hat sich die Liste geändert, während die Seite offen war, lädt die Seite neu, statt eine Fehlermeldung zu zeigen. Die Bestätigung der Liste ist von der Annahme des Vertrages unabhängig und bleibt auch dann möglich, wenn im Vertrag noch Angaben offen sind.

Solange die Liste nicht bestätigt ist, sieht die Rolle Verwaltung dort Den Stand der Liste bestätigt der Inhaber des Kontos. Widersprechen kann auch die Verwaltung. Die Rollen Lesen und Bearbeiten sehen Den Stand der Liste bestätigt der Inhaber des Kontos. Widersprechen kann, wer die Rolle Verwaltung oder Inhaber hat.

Widerspruch einlegen

  1. Schritt 1

    Formular öffnen

    Klicken Sie auf Widerspruch einlegen. Der Knopf erscheint für Verwaltung und Inhaber, solange die Liste nicht bestätigt ist.

  2. Schritt 2

    Grund eintragen

    Füllen Sie Grund des Widerspruchs aus. Das Feld ist Pflicht und verlangt mindestens 5 Zeichen; eine Obergrenze von 1000 Zeichen setzt erst die Schnittstelle. Leerzeichen am Anfang und Ende zählen nicht mit und werden nicht übertragen. Bleiben ohne sie weniger als 5 Zeichen, sendet die Seite nichts und zeigt auch keine Meldung.

  3. Schritt 3

    Absenden

    Nach dem Absenden erscheint Ihr Widerspruch ist aufgenommen. Wir melden uns dazu., das Feld wird geleert und das Formular geschlossen. Der Widerspruch wird als eigener Datensatz festgehalten, der nicht mit der Frist des Protokolls verfällt, im Export unter subprocessor_objections steht und mit dem Konto gelöscht wird; dazu kommt ein Eintrag subprocessor.objection im Protokoll, das ab der Rolle Verwaltung sichtbar ist. Der Betreiber erhält eine Meldung mit Konto, Stand und Grund. Unter der Liste steht danach Widerspruch eingelegt am … zum Stand …. mit Wir melden uns dazu., nach der Antwort des Betreibers Beantwortet am ….; der Knopf Widerspruch einlegen erscheint zu diesem Stand nicht mehr. Die Bestätigung erscheint nur, wenn Datensatz und Eintrag zustande gekommen sind. Kommt er nicht zustande, erscheint stattdessen Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut., und Ihr Grund bleibt im Feld stehen, sodass Sie ihn erneut absenden können.

Technische und organisatorische Maßnahmen

Die Karte Technische und organisatorische Maßnahmen zeigt die Anlage zum Vertrag. Sie beginnt mit dem Satz Diese Anlage gehört zum Auftragsverarbeitungsvertrag und beschreibt, was im Betrieb tatsächlich eingerichtet ist. Punkte, die der Betreiber noch einträgt, sind als solche gekennzeichnet und nicht als erfüllt. Darunter stehen Fassung der Anlage und die Fassung des Vertrages, zu dem sie gehört. Die Anlage ist Teil der Konfiguration und für alle Konten dieselbe.

  • Die Punkte sind in vier Gruppen geordnet: *Vertraulichkeit*, *Integrität*, *Verfügbarkeit und Belastbarkeit* und *Verfahren zur Überprüfung*.
  • Ein Punkt, den der Betreiber noch ausfüllen muss, trägt die Marke Vom Betreiber einzutragen. Gibt es solche Punkte, nennt die Karte ihre Zahl unter Vom Betreiber noch einzutragen.
  • Unter *Vertraulichkeit* beschreibt die Anlage unter anderem die vier Rollen mit aufsteigendem Rang und hält fest, dass weder Schlüssel noch Geheimnisse in der Datenauskunft oder in einem Export erscheinen.
  • Unter *Verfügbarkeit und Belastbarkeit* steht, dass Anmeldung, Export, Schlüsselausgabe, Wissensaufnahme und Gesprächsverkehr je eigene Zahlgrenzen haben und eine überschrittene Grenze mit der Wartezeit antwortet.

Gespeicherte Daten

Die Karte Gespeicherte Daten trägt den Hinweis Die Zahlen kommen aus derselben Abfrage wie der Export. Die Tabelle nennt je Datenart eine Zeile mit Kategorie und Anzahl. Lässt sich eine Zahl nicht ermitteln, steht dort Nicht gemessen statt einer Null, und unter der Tabelle erscheint Dieser Wert konnte nicht ermittelt werden und ist deshalb kein Ergebnis. Datenarten ohne eigene Bezeichnung erscheinen unter ihrem technischen Tabellennamen.

Abdeckung des Datenkatalogs

Export und Löschung arbeiten nach einem Datenkatalog, der jede Tabelle mit Daten eines Kontos aufführt, geordnet in der Reihenfolge der Löschung. Unter der Tabelle steht die Zeile Abdeckung des Datenkatalogs mit der Zahl der Tabellen und dem Ergebnis des Abgleichs mit der Datenbank: vollständig, keine Tabelle fehlt, unvollständig oder, wenn sich die Datenbank nicht lesen ließ, Nicht gemessen.

Eintrag bei unvollständigem KatalogBedeutung
Im Katalog fehlt: TabelleDie Tabelle enthält Daten eines Kontos, steht aber nicht im Katalog.
Im Katalog, aber nicht im Schema: TabelleDer Katalog nennt eine Tabelle, die es in der Datenbank nicht gibt.
Reihenfolge verletzt: AngabeEine abhängige Tabelle stünde in der Löschreihenfolge nach der Tabelle, von der sie abhängt.

Aufbewahrungsfristen

Unter Aufbewahrungsfristen stellen Sie je Objektart eine Frist in ganzen Tagen ein. Ändern können sie die Rollen Verwaltung und Inhaber; für Lesen und Bearbeiten sind Felder und Knopf gesperrt, und es erscheint Die Fristen ändern kann, wer die Rolle Verwaltung oder Inhaber hat. Jede Änderung erhält einen Eintrag retention.updated im Protokoll. Eintrag und Änderung werden zusammen gespeichert; kommt der Eintrag nicht zustande, bleiben die alten Fristen, und es erscheint Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut. Welche Felder es gibt, welche Werte zulässig sind, womit ein neues Konto beginnt und wann gelöscht wird, beschreibt Aufbewahrung und Löschung.

Datenexport

Die Karte Datenexport beschreibt sich mit Der Export enthält die gespeicherten Daten Ihres Kontos als JSON-Datei. Draußen bleiben Zugangsdaten und ihre Hashwerte, Hashwerte von IP-Adressen und von gesperrten Gesprächen sowie intern abgeleitete Werte; Hashwerte über Inhalte, etwa über den Text der Einwilligung, stehen darin. Scheitert ein Abschnitt, weist die Datei ihn als gescheitert aus, statt ihn wegzulassen; ist einer gekürzt, nennt sie die Kürzung. Dateien, die Besucher angehängt haben, stehen nur als Verzeichnis darin, mit Name, Art, Größe und Prüfsumme; ihren Inhalt laden Sie mit „Anhänge herunterladen“ als ZIP-Archiv dazu. Den Knopf sieht nur der Inhaber; alle anderen Rollen lesen Der Export enthält alle Gespräche im Klartext und steht darum nur dem Inhaber des Kontos zu.

  1. Schritt 1

    Export starten

    Klicken Sie auf Daten exportieren. Solange der Export entsteht, zeigt der Knopf Wird erstellt …, und die übrigen Aktionen der Seite sind gesperrt.

  2. Schritt 2

    Datei speichern

    Der Browser speichert die Datei unter dem Namen xicbot-datenausfuhr.json. Danach erscheint Export erstellt und in der Karte Abschnitte mit der Zahl der Abschnitte in der Datei. Export erstellt heißt nur, dass die Datei gespeichert ist. Ob sie vollständig ist, sagt die Karte unter der Zahl der Abschnitte: entweder mit Vollständig: Jeder Abschnitt ist enthalten, keiner ist gekürzt, und der Datenkatalog deckt jede Tabelle ab. oder mit Der Export ist nicht als vollständig belegt. Die Gründe stehen darunter.

  3. Schritt 3

    Lücken ablesen

    Ist ein Abschnitt gescheitert, nennt die Karte ihn unter Unvollständig: diese Abschnitte fehlen. Tabellen des Datenkatalogs, die kein Abschnitt enthält, stehen unter Diese Tabellen sind nicht im Export. Unter der Meldung Der Export ist nicht als vollständig belegt. nennt die Karte die Gründe, darunter Gescheiterte Abschnitte und Tabellen ohne Export mit ihrer Zahl, je gekürzter Tabelle Gekürzt mit Tabelle und beiden Zahlen, etwa activities (5.000 von 5.003 Einträgen), Nicht prüfbar, wenn sich die gespeicherte Zahl nicht zählen ließ, Abdeckung des Datenkatalogs mit unvollständig oder Nicht gemessen und die Zahl und Größe der Dateien von Besuchern, die nicht in der Datei stehen, etwa 3 Dateien der Besucher (1,8 MB) stehen nicht in der Datei. Laden Sie sie mit „Anhänge herunterladen“ dazu. Ob der Export vollständig ist oder nicht: Zuletzt nennt die Karte nach Bewusst nicht im Export, weil es Zugangsdaten, ihre Hashwerte, Hashwerte von IP-Adressen und von gesperrten Gesprächen, interne Ablagepfade oder intern abgeleitete Werte sind die zurückgehaltenen Felder als Tabelle.Feld.

  4. Schritt 4

    Anhänge herunterladen

    Haben Besucher Dateien angehängt, steht unter dem Bericht der Knopf Anhänge herunterladen. Er lädt ein ZIP-Archiv mit jeder Datei unter <Gespräch>/<Kennung>.<Endung> und dem Verzeichnis manifest.json mit Kennung, Gespräch, Anfrage, Name, Art, Größe und Prüfsumme je Datei. Fehlt eine Datei auf der Ablage, steht sie dort mit missing: true. Erst Exportdatei und Archiv zusammen enthalten den ganzen Bestand.

Jeder Export erhält einen Eintrag privacy.export im Protokoll mit den Namen der Abschnitte in sections, den gescheiterten Abschnitten in failed, den nicht erfassten Tabellen in unexported_tables den gekürzten Tabellen in truncated_tables und der Zahl der Dateien von Besuchern, die nicht in der Datei stehen, in files_not_included. Das Archiv der Anhänge erhält einen eigenen Eintrag privacy.export_attachments mit count, missing und bytes. Die Schnittstelle erlaubt je angemeldetem Nutzer 5 Anfragen je Minute; diese Grenze gilt gemeinsam für Export, Fristen, Widerspruch und Löschung.

Aufbau der Exportdatei

xicbot-datenausfuhr.json json

{
  "generated": "2026-09-28T10:15:00+00:00",
  "tenant": "beispiel-gmbh",
  "complete": false,
  "files_complete": false,
  "failed_sections": ["leads"],
  "unexported_tables": [],
  "catalog": { "tables": …, "measured": true, "reason": null, "complete": true, "missing_tables": [], "unknown_tables": [], "order_violations": [], "without_model": [] },
  "files": { "visitor_attachments": { "included": false, "count": 3, "bytes": 1887436, "measured": true, "reason": null, "download": "/api/v1/privacy/export/attachments" } },
  "sections": {
    "account": { "ok": true, "reason": null, "data": [ … ], "withheld": ["users.password", "users.remember_token", "users.totp_secret", …], "truncated": [] },
    "activities": { "ok": true, "reason": null, "data": [ … ], "withheld": ["activities.ip_hash"], "truncated": [{ "table": "activities", "exported": 5000, "stored": 5003, "measured": true, "reason": null }] },
    "leads": { "ok": false, "reason": "QueryException: …", "data": null, "withheld": [], "truncated": [] }
  }
}
FeldInhalt
generatedZeitpunkt der Erstellung im Format ISO 8601
tenantKürzel des Kontos
completetrue nur, wenn kein Abschnitt gescheitert ist, jede Tabelle des Katalogs erfasst ist, der Katalog vollständig ist und kein Abschnitt gekürzt ist, sonst false
files_completetrue nur, wenn das Konto keine Dateien von Besuchern hat; sonst false. Die Dateien stehen nicht in dieser Datei, complete sagt nur etwas über die Einträge
filesunter visitor_attachments: included (immer false), count und bytes der Dateien, measured, bei gescheiterter Zählung der Grund in reason und count und bytes auf null, dazu in download der Abruf für das ZIP-Archiv
failed_sectionsNamen der gescheiterten Abschnitte
unexported_tablesTabellen des Datenkatalogs, die kein Abschnitt enthält
catalogStand des Datenkatalogs wie unter Abdeckung des Datenkatalogs beschrieben: Zahl der Tabellen in tables, ob gemessen wurde in measured, bei gescheiterter Messung der Grund in reason, dazu complete, missing_tables, unknown_tables, order_violations und in without_model die Tabellen ohne eigenes Datenmodell
sectionsje Abschnitt ok, reason, data, withheld und truncated; bei einem gescheiterten Abschnitt ist ok gleich false, reason nennt Fehlerart und Meldung, data ist null. withheld nennt als Tabelle.Feld die Felder, die der Datenkatalog zurückhält. truncated ist eine leere Liste oder nennt je gekürzter Tabelle table, exported (Einträge in der Datei), stored (gespeicherte Einträge), measured und reason; ließ sich der Bestand nicht zählen, ist stored gleich null, measured gleich false, und reason nennt den Grund
BereichAbschnitte
Konto und Nutzeraccount, tenant, invitations, memberships, logins
Assistenten und Wissenassistants, knowledge, knowledge_gaps, knowledge_probes, knowledge_probe_runs, assistant_checks, assistant_check_runs, assistant_check_results, setup_runs
Gespräche und Besucherconversations, consents, leads, appointments, visitor_attachments, visitor_blocks, routing_rules
Shop und Werkzeugeproducts, shop_connections, cart_handoffs, tools, tool_calls
Schnittstelle und Zustellungapi_keys, webhooks, webhook_deliveries, mail_deliveries
Betriebactivities, usage, background_jobs, system_alerts
  • account enthält alle Mitglieder des Kontos, auch die, die gerade in einem anderen Konto arbeiten, und nennt je Nutzer E-Mail-Adresse, Name, die Rolle in diesem Konto, Sprache, Bestätigung der Adresse, ob die Zwei-Faktor-Anmeldung aktiv ist, Anlage, letzte Anmeldung und die Sicherheitsschlüssel mit Name, Anlage und letzter Nutzung. Weitere Spalten der Nutzer und der Sicherheitsschlüssel stehen unter ihrem Spaltennamen dabei. credential_id, credential_hash und public_key eines Sicherheitsschlüssels stehen nicht darin.
  • Spalten, die der Datenkatalog als geheim führt, fehlen in jedem Abschnitt, bei den Nutzern etwa Kennwort, Merkmarke der Anmeldung und das Zwei-Faktor-Geheimnis. Liegt ein Geheimnis in einer JSON-Spalte, etwa settings.token bei den Werkzeugen, steht dort __set__, wenn ein Wert gesetzt ist, sonst ein leerer Wert. Spalten, die die Anwendung aus anderen errechnet, etwa embedding und index_text der Wissensabschnitte, fehlen ebenfalls. Jeder Abschnitt nennt diese Felder in withheld.
  • Abschnitte, die Tabellenzeilen direkt übernehmen, lassen die Kontokennung tenant_id weg und enthalten höchstens 20000 Zeilen je Tabelle.
  • activities enthält höchstens 5000 Einträge und logins höchstens 2000, jeweils nach Zeitpunkt aufsteigend und damit die ältesten. Enthält activities, logins oder ein Abschnitt, der Tabellenzeilen direkt übernimmt, weniger Einträge, als für das Konto gespeichert sind, etwa an einer dieser Grenzen oder an der Grenze von 20000 Zeilen, nennt truncated die Tabelle mit exported und stored, und complete ist false. Lässt sich die gespeicherte Zahl nicht zählen, ist stored gleich null und measured gleich false; auch dann gilt der Abschnitt als gekürzt.
  • Über die Schnittstelle schlägt die Antwort den Dateinamen xicbot-ausfuhr-<Kürzel>-<Datum>.json vor und nennt in den Kopfzeilen x-sections, x-failed, x-unexported und x-truncated die Zahl der Abschnitte, der gescheiterten Abschnitte, der nicht erfassten Tabellen und der gekürzten Tabellen.

Erklärung zur Barrierefreiheit

Die Karte Erklärung zur Barrierefreiheit ist eine Selbstauskunft nach eigener Prüfung. Sie nennt Maßstab (WCAG 2.2 AA), Stand der Konformität (teilweise konform) und Geprüft am (2026-09-05) und führt danach die Abschnitte Wie geprüft wurde, Geltungsbereich, Was umgesetzt ist, Bekannte Einschränkungen und Rückmeldung und Kontakt. Der Geltungsbereich umfasst die Verwaltungsoberfläche unter app.xicbot.de und das eingebettete Gesprächsfenster, nicht aber die Inhalte, die Sie in Ihre Wissensbasis stellen.

Hürden melden Sie an mail@xicbot.de. Dieselbe Erklärung steht ohne Anmeldung unter app.xicbot.de/barrierefreiheit; der Link Barrierefreiheit am Ende der Karte führt dorthin, sodass Sie die Erklärung weitergeben können, ohne einen Zugang mitzugeben. Die Bedienhilfen der Oberfläche beschreibt Darstellung und Bedienung.

Konto löschen

Die Karte Konto löschen beginnt mit Alle Assistenten, Wissensquellen, Gespräche und Nachrichten werden unwiderruflich gelöscht, die Nutzerkonten anonymisiert. Wer noch zu einem anderen Konto gehört, behält seinen Zugang und arbeitet dort weiter. Andere Rollen als der Inhaber sehen darunter nur Nur der Inhaber des Kontos kann es löschen.

  1. Schritt 1

    Wort eintragen

    Tragen Sie als Inhaber in das Pflichtfeld Zum Bestätigen dieses Wort eingeben das daneben angezeigte Wort LOESCHEN ein, in genau dieser Schreibweise.

  2. Schritt 2

    Löschen

    Der Knopf Konto endgültig löschen wird erst aktiv, wenn das Wort übereinstimmt und keine andere Aktion der Seite läuft.

  3. Schritt 3

    Abmeldung

    Nach der Löschung erscheint Ihr Konto ist gelöscht. Sie werden abgemeldet. Die Anwendung meldet Sie ab und zeigt die Anmeldung. Die Meldung Das Bestätigungswort stimmt nicht. erscheint nur, wenn die Schnittstelle das Wort ablehnt; über die Seite ist das kaum möglich, weil der Knopf erst bei passendem Wort aktiv wird.

Was bei der Löschung geschieht

  • Zuerst wird der Datenkatalog mit der Datenbank abgeglichen. Ist er leer oder unvollständig, bricht die Löschung ab, bevor etwas gelöscht wird.
  • Dann entsteht der Protokolleintrag account.deletion (im Protokoll als Konto gelöscht) mit der Anzahl je Kategorie, den nicht messbaren Kategorien und der E-Mail-Adresse der bestätigenden Person. Kommt der Eintrag nicht zustande, bricht die Löschung ab, bevor etwas gelöscht wird, und es erscheint Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut.
  • Nutzer, die gerade in diesem Konto arbeiten und noch zu einem anderen, nicht gelöschten Konto gehören, wechseln dorthin: in ein Konto, in dem sie Inhaber sind, sonst in das, dem sie am längsten angehören, jeweils mit ihrer Rolle dort. Sie behalten ihr Nutzerkonto und ihre Mailbestätigungen; gelöscht werden ihre Sitzungsschlüssel. Anonymisiert wird nur, wer sonst zu keinem Konto gehört.
  • Bei den übrigen Nutzern des Kontos fallen Sitzungsschlüssel, Mailbestätigungen, Browsersitzungen, Sicherheitsschlüssel und Kennwortlinks weg, ebenso alle ihre Mitgliedschaften.
  • Danach werden die Daten des Kontos Tabelle für Tabelle in der Reihenfolge des Katalogs gelöscht, soweit der Katalog eine Tabelle zum Löschen führt, darunter Gespräche mit Nachrichten und Werkzeugaufrufen, Anfragen, Termine, übergebene Warenkörbe, die Sperrliste, Einladungen und Zugehörigkeiten.
  • Die übrigen Nutzerkonten bleiben anonymisiert stehen: Name Gelöscht, E-Mail-Adresse geloescht-<Nummer>@xicbot.invalid, ein zufälliges Kennwort, keine Zwei-Faktor-Anmeldung; sie gelten als gelöscht.
  • Das Konto selbst behält einen Eintrag mit dem Namen Gelöscht und einem neuen Kürzel der Form geloescht-…, ohne Rechnungs-E-Mail-Adresse und Umsatzsteuer-Identifikationsnummer, im Zustand deleted.
  • Die Löschung läuft in einer Transaktion. Bricht die Datenbank sie wegen eines gleichzeitigen Zugriffs ab, weil eine Zeile inzwischen geändert wurde oder zwei Vorgänge aufeinander warten, wird der ganze Durchlauf wiederholt; es gibt höchstens drei Versuche.

Schnittstelle

Alle Aktionen der Seite stehen unter /api/v1/privacy/ bereit. Wie Sie sich an der Schnittstelle anmelden, beschreibt Schnittstelle: Konto; die Zahlgrenzen und die Antwort bei ihrer Überschreitung stehen unter Grenzen der Schnittstelle.

GET /api/v1/privacy/overview

Liefert den Stand der Seite: Zahlen je Kategorie in categories, nicht messbare Kategorien in categories_unmeasured, den Datenkatalog in catalog, die Aufbewahrungsfristen in retention und retention_objects, den Vertragsstand in dpa, das Bestätigungswort in deletion_word und die Fassungen der Rechtstexte in versions mit terms, privacy und dpa. Den Aufbau von retention_objects beschreibt Aufbewahrung und Löschung.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, jede Rolle

GET /api/v1/privacy/dpa

Liefert den Vertragsstand: contract_version, den Wortlaut in contract, accepted_at, accepted_version, accepted_by, accepted_by_gone, contract_pending, die offenen Angaben in contract_open und in subprocessors die Felder version, confirmed_version, change_pending und directory.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, jede Rolle

POST /api/v1/privacy/dpa

Nimmt den Vertrag an, bestätigt den Stand der Unterauftragsliste oder beides. Beide Felder müssen im Körper stehen: contract als Wahrheitswert (true nimmt den Vertrag an) und subprocessor_version als null oder als Zeichenkette mit höchstens 20 Zeichen, die dem aktuellen Stand der Liste entspricht. Die Antwort ist der neue Vertragsstand wie bei GET.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, Rolle Inhaber
Begrenzung
10 je Minute je Konto und Nutzer

POST /api/v1/privacy/subprocessors/object

Legt einen Widerspruch gegen die Unterauftragsliste ein. Pflichtfeld reason mit 5 bis 1000 Zeichen. Der Widerspruch wird als eigener Datensatz und als Eintrag im Protokoll festgehalten, und der Betreiber erhält eine Meldung. Antwort: ingested mit dem Wert true, in version der Stand der Liste und in objection der Datensatz mit id, version, created_at und answered_at. Den jüngsten Widerspruch zum geltenden Stand nennt GET /api/v1/privacy/dpa unter subprocessors.objection. Kommt der Eintrag nicht zustande, lautet die Antwort 500 mit not_logged; der Widerspruch ist dann nicht festgehalten, und Sie senden ihn erneut.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, Rolle Verwaltung oder höher
Begrenzung
5 je Minute je angemeldetem Nutzer, gemeinsam für Export, Fristen, Widerspruch und Löschung

GET /api/v1/privacy/legal

Liefert die Anlage in tom mit version, contract_version, open_placeholders und groups sowie die Erklärung zur Barrierefreiheit in accessibility. Beides ist für alle Konten dasselbe.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, jede Rolle

GET /api/v1/privacy/export

Erstellt den Datenexport als JSON mit dem Aufbau aus dem Abschnitt Aufbau der Exportdatei und schlägt einen Dateinamen in content-disposition vor.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, Rolle Inhaber
Begrenzung
5 je Minute je angemeldetem Nutzer, gemeinsam für Export, Fristen, Widerspruch und Löschung

GET /api/v1/privacy/export/attachments

Liefert die Dateien, die Besucher angehängt haben, als ZIP-Archiv mit manifest.json, wie unter Anhänge herunterladen beschrieben; der Ablagepfad steht nicht darin. Die Kopfzeilen x-files und x-files-missing nennen die Zahl der Einträge und der fehlenden Dateien. Ohne Protokolleintrag privacy.export_attachments wird nichts ausgeliefert, und die Antwort ist 500 mit not_logged.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, Rolle Inhaber
Begrenzung
5 je Minute je angemeldetem Nutzer, gemeinsam für Export, Fristen, Widerspruch und Löschung

PUT /api/v1/privacy/retention

Setzt Aufbewahrungsfristen. Jedes einstellbare Feld ist optional und nimmt eine ganze Zahl von 1 bis 3650 Tagen, bei Fristen, die leer bleiben dürfen, auch null. Die Feldnamen stehen unter Aufbewahrung und Löschung.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, Rolle Verwaltung oder höher
Begrenzung
5 je Minute je angemeldetem Nutzer, gemeinsam für Export, Fristen, Widerspruch und Löschung

POST /api/v1/privacy/deletion

Löscht das Konto. Pflichtfeld confirmation mit dem Bestätigungswort LOESCHEN, höchstens 40 Zeichen. Die Antwort enthält deleted, log_id des Protokolleintrags, die Zahlen vor und nach der Löschung in count_before und count_after, die nicht messbaren Kategorien in unmeasured_before und unmeasured_after sowie catalog.

Anmeldung
Angemeldet, aktives Konto, bestätigte E-Mail-Adresse, Rolle Inhaber
Begrenzung
5 je Minute je angemeldetem Nutzer, gemeinsam für Export, Fristen, Widerspruch und Löschung

Fehlerantworten

StatusFehlerAnfrageBedeutung
403role_too_lowalle mit RollenvorgabeRolle zu niedrig; required nennt die verlangte Rolle
409contract_version_mismatchPOST dpaWortlaut und Fassungsnummer passen nicht zusammen; contract und expected nennen beide Fassungen
409dpa_incompletePOST dpaIm Vertrag sind noch Angaben offen; open listet sie
409stale_statePOST dpasubprocessor_version ist nicht der aktuelle Stand; current nennt ihn
422bad_confirmationPOST deletionDas Bestätigungswort stimmt nicht; expected nennt es
422no_tenantPOST deletionDer Nutzer gehört zu keinem Konto
409already_deletedPOST deletionDas Konto ist bereits gelöscht
500catalog_emptyPOST deletionDer Datenkatalog enthält keine Tabelle
500catalog_incompletePOST deletionDer Katalog deckt die Datenbank nicht ab; missing_tables, unknown_tables und order_violations nennen die Lücken
500no_settable_retentionPUT retentionEs gibt keine einstellbare Frist
500not_loggedPUT retention, POST dpa, POST subprocessors/object, GET export, POST deletionDer Eintrag im Protokoll kam nicht zustande; nichts wurde gespeichert, exportiert oder gelöscht

Auf der Seite erscheinen Fehler als Meldung. Bei zu vielen Anfragen zeigen Fristen, Vertrag, Widerspruch, Löschung und Export Zu viele Versuche. Bitte warten Sie einen Moment. Bei not_logged erscheint für Fristen, Vertrag, Widerspruch und Löschung Nicht gespeichert: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut., für den Export Der Export wurde nicht erstellt: Der Eintrag ins Protokoll kam nicht zustande. Bitte versuchen Sie es erneut. Eine Datei wird dann nicht gespeichert. Meldet der Dienst beim Export einen anderen Serverfehler, erscheint Der Dienst hat einen Fehler gemeldet. Bitte versuchen Sie es später erneut., erreicht der Export den Dienst nicht, Der Dienst antwortet gerade nicht. Gilt die Anmeldung nicht mehr, endet die Sitzung, und die Anmeldeseite zeigt Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.

Häufige Fragen

Warum kann ich den Vertrag zur Auftragsverarbeitung nicht annehmen?

Annehmen kann nur der Inhaber des Kontos. Für ihn ist der Knopf gesperrt, solange im Vertrag noch Angaben des Betreibers offen sind oder Wortlaut und Fassungsnummer nicht zusammenpassen; die Karte nennt in beiden Fällen den Grund in einer eigenen Meldung.

Wer sieht meinen Widerspruch gegen einen Unterauftragsverarbeiter?

Der Widerspruch wird mit Begründung und Stand der Liste als Eintrag im Protokoll Ihres Kontos festgehalten. Das Protokoll sehen die Rollen Verwaltung und Inhaber. Sobald der Eintrag steht, bestätigt die Seite den Eingang mit der Meldung, dass sich der Betreiber dazu meldet.

Warum steht im Export bei einem Abschnitt ok auf false?

Der Abschnitt ließ sich beim Erstellen nicht lesen. Statt ihn wegzulassen, führt die Datei ihn mit dem Grund im Feld reason auf, nennt ihn unter failed_sections und setzt complete auf false. Starten Sie den Export später erneut.

Warum steht complete auf false, obwohl kein Abschnitt gescheitert ist?

Dann fehlt etwas anderes: Ein Abschnitt ist gekürzt und nennt seine Tabelle in truncated, eine Tabelle des Datenkatalogs steht unter unexported_tables, oder der Datenkatalog ist nicht als vollständig gemessen. Die Karte Datenexport nennt den Grund unter Der Export ist nicht als vollständig belegt.

Warum zeigt die Karte nicht Vollständig, obwohl complete auf true steht?

Dann haben Besucher Dateien angehängt. Ihre Einträge stehen in der Datei, ihr Inhalt nicht; files_complete steht auf false, und die Karte nennt Zahl und Größe. Laden Sie die Dateien mit Anhänge herunterladen als ZIP-Archiv dazu.

Warum zeigt die Tabelle Nicht gemessen statt einer Zahl?

Die Zählung für diese Kategorie ist gescheitert. Ein fehlender Wert wird bewusst nicht als Null gezeigt, weil eine Null einen leeren Bestand behaupten würde. Laden Sie die Seite später neu.

Kann ich eine Kontolöschung zurücknehmen?

Nein, in der Anwendung lässt sich eine Löschung nicht zurücknehmen. Nach der Löschung trägt das Konto den Zustand deleted, und Sie werden abgemeldet. Erstellen Sie vorher einen Datenexport, wenn Sie Daten behalten wollen.

Eine Stelle ist unklar geblieben?

Schreiben Sie uns, welche Seite und welcher Schritt gemeint ist. Wir antworten persönlich.

Anfrage in drei Schritten

  1. 1. Anliegen
  2. 2. Ihr Fall
  3. 3. Kontakt

Worum geht es?

Ein Klick genügt, alles Weitere ist freiwillig.

Erzählen Sie kurz von Ihrem Fall

Alle Angaben in diesem Schritt sind freiwillig. Sie helfen uns, gleich mit etwas Konkretem zu antworten statt mit Rückfragen.

Anfragen im Monat, ungefähr (optional)
Wann soll es losgehen? (optional)
Wie erreichen wir Sie?

Name und E-Mail-Adresse genügen. Wir antworten persönlich.

Wir verwenden Ihre Angaben, um Ihre Anfrage zu bearbeiten. Mehr dazu in der Datenschutzerklärung.