AVV-Grundlage und TOM-Verzeichnis
Der technische Ist-Zustand von Zeffio: welche Daten wir wie bearbeiten und mit welchen technischen und organisatorischen Massnahmen (Art. 32 DSGVO) wir sie schützen. Diese Seite ist Anhang 1 unseres Auftragsverarbeitungsvertrags (AVV).
Diese Seite selbst ist kein Vertrag, keine Rechtsberatung und keine Zusicherung; die vertraglichen Pflichten stehen im AVV. Es enthält keine Fristen und keine Haftungsregelung und trifft keine Aussage darüber, ob eine Massnahme für Ihren Fall rechtlich genügt. Eine anwaltliche Prüfung dieses Dokuments steht noch aus.
Stand 08.10.2026. Diese Seite wird mit der Software weitergeführt – ändert sich, was Zeffio verarbeitet oder wie, wird sie mitgeführt. Fragen zu diesem Dokument oder zum Datenschutz allgemein: hallo@zeffio.app.
Rahmenbedingungen, die den Aussagewert begrenzen
- Zeffio ist noch nicht im produktiven Grosseinsatz. Die folgenden Angaben beschreiben die Software, nicht eine über Jahre geübte Betriebspraxis.
- Der Betrieb liegt bei einer einzelnen natürlichen Person (Angaben im Impressum). Es gibt aktuell keine Rollentrennung im Betrieb – dazu mehr unter «Was noch fehlt».
Zwei Verantwortlichkeiten
Unsere Datenschutzerklärung unterscheidet zwei Datenkreise, und diese Unterscheidung ist die Grundlage jedes Auftragsverarbeitungsvertrags:
- Ihre Kontodaten — Name, E-Mail, Anmeldungen, Einstellungen. Dafür sind wir als Betreiber verantwortlich.
- Ihre Geschäftsdaten — Ihre Kundinnen und Kunden, deren Kontakte, Ihre Rechnungen, Zeiten und Belege, Ihre Projekte samt Dateien, Ihre Aufgaben samt Kommentaren und Dateien, die Abwesenheiten Ihres Teams. Diese Daten geben Sie ein; Sie sind dafür verantwortlich (Art. 4 Nr. 7 DSGVO), wir verarbeiten sie in Ihrem Auftrag.
Der Auftragsverarbeitungsvertrag betrifft den zweiten Kreis: dort sind Sie Verantwortliche, Zeffio ist Auftragsverarbeiter. Diese Trennung ist im Datenmodell selbst verankert und wird serverseitig durchgesetzt: praktisch jede Geschäftstabelle trägt einen Mandantenschlüssel, nach dem jede Anfrage gefiltert und geprüft wird, bevor eine Zeile zurückgegeben oder verändert wird — nicht nur in der Oberfläche verhindert, sondern in jeder Serviceschicht verankert.
Ein Drittes, das in keinen dieser beiden Kreise gehört: Meldungen aus der App. Die Anwendung hat einen Meldeknopf («Fehler oder Vorschlag melden»). Wer ihn drückt, einen Text schreibt und auf «Senden» klickt, erzeugt damit einen Eintrag bei uns. Er sagt etwas über Ihre Erfahrung mit der Software, nicht über Ihre Kundinnen und Kunden: dafür sind wir verantwortlich, nicht Sie, und er gehört deshalb nicht in den Auftrag, den ein Auftragsverarbeitungsvertrag beschreibt. Technisch ist das auch so gebaut — die Meldung hängt an der meldenden Person, nicht am Mandanten, und ein Teammitglied kann melden, ohne dass die Meldung dem Kontoinhaber zugeschrieben wird.
Eine Meldung entsteht nur auf diese Handlung hin; es gibt keinen Weg, der ohne diesen Klick schreibt. Was mitgeht, zeigt der Dialog vorher: Ihr Text, eine freiwillige Kontaktadresse (vorbelegt mit Ihrer Kontoadresse, löschbar), die Seite, auf der Sie standen, Version und Stufe der App, Browserkennung, Fenstergrösse, Sprache und Zeitzone — dazu die letzten Fehler: die im Browser aufgetretenen und die Serverfehler Ihres eigenen Kontos. Keine besuchten Seiten, keine Klicks, nichts, was Sie eingetippt haben, und keine Bildschirmaufnahme. Die Liste der Browserfehler liegt bis zum Absenden nur im Arbeitsspeicher Ihres Browsers und verlässt ihn erst, wenn Sie selbst senden. Weil Ihr Text ein Freitext ist, bittet die App direkt am Feld darum, keine Kundennamen und keine Daten aus Ihren Belegen hineinzuschreiben. Dieselben Angaben führt auch die Datenschutzerklärung unter den Datenarten.
Unterauftragnehmer
Die massgebliche, laufend gepflegte Liste unserer Dienstleister führen wir an einer Stelle: in der Datenschutzerklärung unter «Auftragsverarbeiter». Wir duplizieren sie hier bewusst nicht — zwei getrennt gepflegte Listen laufen sonst irgendwann auseinander, und genau das wäre für einen Vertragsanhang das grössere Risiko als eine fehlende Kopie.
Diese Liste umfasst neben den unmittelbar sichtbaren Diensten (Hosting, Mailversand, optionale KI-Textvorschläge) auch die beiden Dienste, die nur bei entsprechender Einrichtung durch den Betreiber überhaupt zum Einsatz kommen (ausgelagerte Datenbanksicherung, Alarmierung bei fehlgeschlagener Sicherung) sowie den Transportweg für Zustellereignisse Ihrer versendeten Mails. Für einen belastbaren Vertragsanhang gehört zu jedem dieser Dienste zusätzlich eine eigene, dokumentierte Auftragsverarbeitungsvereinbarung mit uns — die steht noch aus (siehe «Was noch fehlt»).
Der Mailversand trägt seit dem 18./19.09.2026 auch Post, die nicht an Ihre Kundinnen und Kunden geht. Schickt jemand eine Meldung aus der App ab, geht darüber zusätzlich ein Hinweis an uns als Betreiber: er trägt die Kontoadresse der meldenden Person, ihren Text, die Seite, auf der sie stand, und die Kennung der Meldung; die erste Zeile des Textes steht zusätzlich im Betreff (auf 80 Zeichen gekürzt). Antworten führen an die freiwillige Kontaktadresse, und wenn das Feld leer blieb, an uns selbst — nie an jemanden, der keine Rückfrage wollte. Ein weiterer Dienstleister kommt dafür nicht hinzu: es ist derselbe Maildienstleister in Frankreich, der auch Ihre Rechnungsmails versendet, und damit dieselbe Rechtsgrundlage (siehe «Übermittlung ins Ausland»). Die Meldung selbst steht in unserer Datenbank; scheitert der Versand dieses Hinweises, geht sie nicht verloren. Auch auf unserer Seite bleibt der Empfang in der Schweiz. Das Postfach hallo@zeffio.app liegt bei Infomaniak — demselben Anbieter, der auch Anwendung und Datenbank betreibt —, und zwar zum Empfangen wie zum Antworten. Es wird nicht an einen dritten Anbieter weitergeleitet. Ein neuer Dienstleister und ein neues Land kommen damit auf unserer Seite nicht hinzu, und unsere Antwort auf eine Auskunftsanfrage wird in der Schweiz geschrieben. Was wir nicht bestimmen, ist der Weg dahin und zurück: welchen Weg Ihre Nachricht bis zu unserem Postfach nimmt, entscheidet Ihr eigener Anbieter; und liegt Ihr Postfach im Ausland, wird unsere Antwort dorthin zugestellt. Belegt ist jeweils der Endpunkt bei uns, nie die ganze Strecke — das kann keine Angabe über ein Postfach leisten. Zwei Belege: der Mailwegweiser der Domain (der sogenannte MX-Eintrag, mta-gw.infomaniak.ch) zeigt seit der Messung vom 19.09.2026 auf Infomaniak; dass das Postfach dort auch liegt, ist eine Angabe des Betreibers vom 20.09.2026 — wie beim Hosting-Standort steht sie in keiner technischen Unterlage.
Ein zweiter Weg, der ebenfalls keinen Dienstleister hinzufügt: Ein Konto, dessen E-Mail-Adresse nie bestätigt wurde, erhält nach 7 Tagen eine Erinnerung und wird nach 30 Tagen gelöscht. Diese Erinnerung geht über denselben Versandweg. Meldet der Maildienstleister irgendeine Mail an die eigene Adresse dieses Kontos als unzustellbar — Bestätigung, Erinnerung oder Link zum Zurücksetzen des Passworts, und gleich, ob es die Adresse nicht gibt oder die Mail endgültig verworfen wurde —, löschen wir bereits 3 Tage danach, ohne Erinnerung. Fristen und Einzelheiten stehen in der Datenschutzerklärung unter «Speicherdauer».
Ein dritter Weg bringt keinen Dienstleister von Zeffio, sondern einen, den Sie selbst wählen: die eigene Absenderadresse (seit dem 05.10.2026). Ist in den Einstellungen eine eigene Absenderadresse verbunden und aktiv, gehen Ihre Rechnungen, Gutschriften, Stornierungen, Mahnungen und Offerten nicht mehr über unseren Maildienstleister in Frankreich, sondern über den Anbieter Ihres Postfachs — über dessen SMTP-Server oder, nach Ihrer Anmeldung, über Microsoft 365 bzw. Outlook.com oder über Gmail bzw. Google Workspace (seit dem 08.10.2026). Dieser Anbieter erhält die vollständige Mail samt Anhängen, dazu den Bestätigungscode beim Verbinden (bei Microsoft nur für ein geteiltes Postfach) und die Testmail. Er ist kein Unterauftragnehmer von Zeffio: Sie wählen ihn, für die Daten dort gilt Ihr Vertrag mit ihm, und Zeffio sendet über ihn auf Ihre Weisung — dieselbe Einordnung wie beim Kalender-Abo (siehe Datenschutzerklärung › Eigene Absenderadresse). Liegt Ihr Postfach bei Microsoft oder Google, wird die Mail in der Regel auch ausserhalb der Schweiz bearbeitet; das entscheiden Sie mit der Wahl Ihres Postfachs. Alle übrigen Mails — Bestätigung, Passwort, Einladung, Sicherheitshinweise und die Warnung bei einem getrennten Absender — gehen weiterhin über unseren Maildienstleister. Zustellereignisse wie unzustellbare Mails erhält auf diesem Weg Ihr Postfach, nicht Zeffio.
Technische und organisatorische Massnahmen (Art. 32 DSGVO)
Gegliedert nach den vier in Art. 32 genannten Schutzzielen, ergänzt um Wiederherstellbarkeit und regelmässige Überprüfung. Jeder Abschnitt nennt auch, was nicht zutrifft — eine Massnahme, die nur teilweise oder nie greift, gehört nicht unkommentiert in ein TOM-Verzeichnis.
Vertraulichkeit
- Verschlüsselte Übertragung für die Anwendung selbst (HTTPS), für den Mailversand und für alle Aufrufe an eingesetzte Fremddienste über deren eigene, serverseitig gehaltene Zugangsschlüssel.
- Die Datenbank ist von aussen nicht erreichbar — kein offener Netzwerkport, Zugriff nur aus dem internen Netz des Betriebs.
- Passwörter werden ausschliesslich als Hash gespeichert (bcrypt), nie im Klartext.
- Sitzungen als signierte, zeitlich befristete Zugriffstoken; einzeln einsehbar und widerrufbar in Ihren Kontoeinstellungen. Ein Widerruf beendet die Sitzung sofort; der Eintrag selbst (u. a. mit IP-Adresse und Browserkennung) bleibt bis zum Ablauf seiner Aufbewahrungsfrist bestehen — die noch nicht dokumentiert ist, siehe «Was noch fehlt». Ein Passwortwechsel oder ‑zurücksetzen widerruft automatisch alle übrigen Sitzungen.
- Optionale Zwei-Faktor-Anmeldung (TOTP) mit Wiederherstellungscodes, die als Hash gespeichert und beim Gebrauch verbraucht werden.
- Rollen- und Rechtemodell im Team: mehrere abgestufte Rollen mit granularen Berechtigungen, serverseitig durchgesetzt — inklusive automatischer Ausblendung sensibler Felder (z. B. Bankverbindung, interne Kostensätze) für Rollen ohne entsprechende Berechtigung.
- Vier-Augen-Prinzip optional aktivierbar für heikle Aktionen (Rechnungsversand, Storno, Periodenexport, Zahlungskorrekturen).
- Abwesenheiten im Team — für das Team sichtbar, darum ohne Gesundheitsangaben (seit 07.10.2026). Zeffio hält fest, wer an welchen ganzen Tagen nicht da ist: die Art (Ferien, Feiertag, Weiterbildung, Sonstiges), den Zeitraum und eine freiwillige Notiz von höchstens 200 Zeichen; eine Abwesenheit kann auch für das ganze Team gelten, etwa ein Feiertag. Lesen darf jede Rolle, die Aufgaben sieht — alle ausser «Buchhaltung» —, denn eine Abwesenheit, die die Planung nicht sieht, nützt nichts. Die eigene trägt ein, wer Aufgaben bearbeiten darf; für andere und für das ganze Team nur, wer das Team verwaltet (Inhaberin bzw. Inhaber und Administration). Beides prüft der Server, und eine Person ausserhalb des Teams lässt sich nicht eintragen. Eine Art «krank» gibt es bewusst nicht: Gesundheitsdaten sind besonders schützenswert (Art. 5 lit. c Ziff. 2 DSG), und das ganze Team liest mit; am Notizfeld bittet der Dialog darum, dort keine Gesundheitsangaben einzutragen. Feiertage je Kanton schlägt Zeffio aus einer festen Tabelle im eigenen Code vor, ohne Abruf bei einem fremden Dienst; eingetragen wird erst, was jemand bestätigt. Abwesenheiten stehen nicht im Kalender-Abo, gehen an keine KI und lösen keine Mail aus. Ein Jahr nach ihrem letzten freien Tag löscht Zeffio eine Abwesenheit von selbst.
- Pensum im Team — die Sollzeit je Woche (seit 18.10.2026). Zeffio kann je Teammitglied eine Sollzeit in Stunden je Woche speichern; das Feld ist freiwillig, leer heisst «nicht gesetzt», einen Vorgabewert gibt es nicht. Setzen dürfen sie nur Inhaberin bzw. Inhaber und Administration. Sehen kann sie jede Rolle, die Aufgaben sieht — alle ausser «Buchhaltung» —, als Kapazität in der Teamübersicht: geplante Stunden aus den Schätzungen der offenen Aufgaben gegen die Sollzeit, abzüglich freier Tage. Die gebuchte Zeit fliesst nicht ein, und die Auslastung wird bei jedem Abruf neu gerechnet, nicht gespeichert. Eine Änderung steht im Team-Protokoll, ohne den Wert. Die Sollzeit liegt an der Mitgliedschaft und verschwindet mit ihr.
- Schutz gegen automatisierte Angriffe: Ratenbegrenzung pro Herkunfts-IP, unauffälliges Antwortverhalten bei Login-Versuchen auf unbekannte Adressen.
- Sicherheits-Header (u. a. gegen das Einbetten der Anwendung in eine fremde Seite) werden auf jeder Antwort der Anwendung und der Programmierschnittstelle gesetzt.
- Meldungen aus der App sind im Betreiberbereich lesbar, für den eine eigene Berechtigung nötig ist; eine Mandantenansicht gibt es nicht. Den einen Lesepfad in der Anwendung hat die meldende Person selbst: Meine Daten herunterladen gibt ihre eigenen Meldungen samt unserer internen Notiz dazu heraus — das ist ihr Auskunftsrecht, keine Ausnahme davon. Fremde Meldungen sind darin nie enthalten. Von den Serverfehlern, die einer Meldung beiliegen, wird ausschliesslich die Sicht des eigenen Kontos gespeichert — Zeitpunkt, Methode, Pfad, Status und eine Anfrage-Kennung, nie der rohe Fehlertext des Servers, der Tabellen- und Spaltennamen nennen kann; dieser bleibt im Serverprotokoll und ist über dieselbe Kennung auffindbar.
- Kalender-Abo — ein Abruf ohne Anmeldung. Eine Person kann in den Einstellungen einen privaten Kalender-Link (iCal) erzeugen, den ihr Kalenderanbieter ohne Anmeldung abruft. Er ist aus, bis sie ihn einschaltet. Geschützt ist er durch ein zufälliges Geheimnis im Link (32 Zufallsbytes); gespeichert wird davon nur ein Hash (SHA-256), der Link selbst wird genau einmal angezeigt. Wer den Link hat, sieht die Termine — darum gilt der alte Link nicht mehr, sobald die Person ihn abschaltet, einen neuen erzeugt, ihr Passwort ändert oder es zurücksetzt. Nicht beendet wird er durch einen Wechsel der E-Mail-Adresse oder durch «alle anderen Sitzungen abmelden». Der Abruf ist gedrosselt (60 je Minute und Herkunfts-IP), antwortet auf jeden unbekannten oder beendeten Link gleich, wird nicht zwischengespeichert, und das Geheimnis wird im Anfrageprotokoll des Servers unkenntlich gemacht. Erzeugen und Abschalten stehen im Sicherheitsprotokoll; im Demo-Zugang lässt sich kein Link erzeugen. Der Link gehört der Person, nicht dem Team. Er gibt nur heraus, was die Person in der App lesen darf: Projektnamen mit Deadline, Meilensteine und Aufgaben mit Fälligkeits- oder Beginndatum (bei einer Aufgabe mit Uhrzeit auch diese) samt Projektname und, wenn erledigt, dem Vermerk «erledigt», bei Aufgaben den Abschnitt im Projekt und die Namen aller Personen, die daran arbeiten, bei mehreren Teams den Teamnamen und einen Link ins Projekt — ab 90 Tagen in der Vergangenheit, nach vorne ohne Grenze, ohne archivierte Projekte. Abwesenheiten gibt er nicht heraus. Der Kalenderanbieter ist kein Unterauftragnehmer von Zeffio; die Person wählt ihn selbst (siehe Datenschutzerklärung › Kalender-Abo).
- Eigene Absenderadresse — ein fremder Server und ein gespeichertes Geheimnis. Wer eine eigene Absenderadresse verbindet, gibt Zeffio das Passwort eines Postfachs bzw. bei Microsoft oder Google die Zustimmung, in seinem Namen zu senden. Dafür gilt: Das Passwort bzw. der erneuerbare Zugangsschlüssel von Microsoft oder Google liegt verschlüsselt in der Datenbank (AES-256-GCM, mit einer Kennung des verwendeten Schlüssels, damit sich der Schlüssel wechseln lässt), wird nie angezeigt und steht in keiner Antwort der Anwendung; kurzlebige Zugriffsschlüssel von Microsoft und Google liegen nur im Arbeitsspeicher. Bei Microsoft fragt Zeffio nur Rechte zum Senden an — in Ihrem Namen (
Mail.Send) und, nur für ein geteiltes Postfach eines Firmen- oder Schulkontos, aus diesem Postfach, für das Sie in Exchange «Senden als» oder «Senden im Auftrag von» haben (Mail.Send.Shared, in einer zweiten Anmeldung) — und Ihr Profil (Name, Adresse); kein Lesezugriff auf das Postfach. Bei Google fragt Zeffio nur das Recht zum Senden an (gmail.send) und die Adresse des Kontos (openid,email), verbindet nur diese Adresse selbst und nimmt keine Anmeldung an, bei der das Senderecht abgewählt wurde; auch hier kein Lesezugriff. Bei beiden läuft die Anmeldung mit PKCE und einem einmaligen, zehn Minuten gültigen Prüfwert, und sie gilt nur im Browser, der sie begonnen hat. Einen SMTP-Server, den Sie eintragen, spricht Zeffio nur über Port 465 oder 587 an, nur mit TLS (ab Version 1.2, Zertifikat geprüft), und nur, wenn jede seiner Adressen im öffentlichen Internet liegt: interne Netze, die eigene Maschine und die Metadaten-Adresse der Cloud sind gesperrt, und verbunden wird mit genau der geprüften Adresse (Schutz gegen sogenannte SSRF-Angriffe, bei denen ein eingetragener Servername den Server auf interne Dienste lenken soll). Bevor eine Adresse sendet, wird sie bestätigt: mit einem 6-stelligen Code, der über den neuen Weg an sie geht — gespeichert wird nur ein Prüfwert des Codes, er gilt 30 Minuten, nach fünf falschen Versuchen ist er gesperrt —, oder, wenn ein Microsoft- oder Google-Konto von seiner eigenen Adresse sendet, durch die Anmeldung beim Anbieter selbst. Verbinden, Ändern und Trennen darf nur, wer die Einstellungen ändern darf; Verbinden, Bestätigen, Ändern und Trennen stehen im Team-Protokoll. Trennen löscht Passwort bzw. Zugangsschlüssel sofort; bei Google zieht Zeffio zudem die Freigabe beim Anbieter zurück, sofern dasselbe Google-Konto nicht noch anderswo in Zeffio als Absender verbunden ist. Verlässt die Person, die verbunden hat, das Team oder löscht sie ihr Konto, trennt Zeffio die Adresse ebenso und meldet es der Inhaberin bzw. dem Inhaber — ihr Zugang bleibt nicht im Team zurück. Lehnt der Anbieter die Anmeldung ab, weicht Zeffio nicht still auf seine eigene Versandadresse aus, sondern hält den Versand an und meldet es. Im Demo-Zugang lässt sich keine Absenderadresse verbinden. - Einschränkung: Auf Anwendungsebene ist ruhende Verschlüsselung an zwei Stellen implementiert: Das Geheimnis der Zwei-Faktor-Anmeldung und das Passwort bzw. der Zugangsschlüssel einer eigenen Absenderadresse liegen verschlüsselt ab (AES-256-GCM). Der dafür nötige Schlüssel liegt ausserhalb der Datenbank und ist im Produktivbetrieb zwingend: ohne ihn startet die Anwendung nicht. Ein Klartext-Rückfall wie früher besteht nicht mehr. Bankverbindung, Steuernummern und die gespeicherten Dateien — Belege, Anhänge an Rechnungen, an Aufgaben und an Projekten, versendete PDFs — liegen unverschlüsselt in der Datenbank. Ob die zugrunde liegende Infrastruktur beim Hosting-Anbieter (Speicher, Datenträger) verschlüsselt ist, lässt sich aus unserem eigenen Code nicht belegen und ist eine Frage an den Hosting-Anbieter. Der optionale Transfer der Datenbanksicherung an ein externes Auslagerungsziel erzwingt TLS (FTPS): kann das Ziel keine verschlüsselte Verbindung, scheitert der Transfer und löst den Alarm aus. Ein stiller Rückfall auf einen unverschlüsselten Transportweg besteht nicht mehr.
Integrität
- Serverseitige Eingabevalidierung; unbekannte oder unerwartete Felder werden abgewiesen, nicht stillschweigend ignoriert.
- Geldbeträge mit einer fest benannten Obergrenze, in mehreren unabhängigen Schichten geprüft.
- Bereits versendete Belege werden nicht rückwirkend umgeschrieben — Adress- und Absenderangaben sind zum Versandzeitpunkt eingefroren; das ist Belegtreue, keine Weigerung, Fehler zu korrigieren.
- Belegnummern bleiben nach einer Löschung dauerhaft verbraucht und werden nie erneut vergeben.
- Änderungen an sicherheitsrelevanten Stammdatenfeldern (u. a. Bankverbindung, Adresse, Steuernummer) werden protokolliert. E-Mail-Adresse, Telefonnummer, Logo und Freitextfelder sind davon ausdrücklich ausgenommen und derzeit nicht protokolliert — auch nicht, wenn sie sich ändern.
- Änderungen an der Datenbankstruktur laufen ausschliesslich über nachvollziehbare, versionierte Migrationen, nie manuell.
- Einschränkung: Die Protokolltabellen sind gewöhnliche Datenbanktabellen ohne technischen Manipulationsschutz — kein erzwungenes „Nur-Anhängen“, keine Signatur. Die Protokollierung selbst ist „best effort“: Ein Fehler beim Schreiben eines Protokolleintrags unterbricht die eigentliche Aktion nicht, kann im Einzelfall aber dazu führen, dass ein Eintrag fehlt. Ausgenommen ist das Zugriffsprotokoll des Betreiberbereichs (siehe «Was noch fehlt»): Lässt sich dort die Zeile nicht schreiben, scheitert der Aufruf. Von einer lückenlosen Protokollierung darf nicht gesprochen werden.
Verfügbarkeit
- Automatisierte Gesundheitsprüfungen für alle Dienste; ein abgestürzter Dienst wird automatisch neu gestartet.
- Wiederkehrende Aufgaben (Vertragsabrechnung, Mahnwesen, Bereinigung) laufen zu festen, dokumentierten Zeiten.
- Einschränkung: Der Betrieb läuft aktuell auf einem einzelnen Server ohne Redundanz — keine Datenbankreplikation, kein automatisches Failover, keine zweite Verfügbarkeitszone. Ein Dienst, der zwar läuft, aber als «ungesund» erkannt wird (etwa weil er nicht mehr antwortet, ohne abzustürzen), wird dadurch allein nicht automatisch neu gestartet. Ein Ausfall des Servers ist ein Ausfall des Dienstes.
Belastbarkeit
- Ratenbegrenzung pro Herkunfts-IP gegen Überlastung und automatisierten Missbrauch.
- Grössenbegrenzung für versendete Anhänge und eine Höchstzahl Empfänger je Mail, je Versandweg eigens festgelegt und vor dem Versand geprüft.
- Tageslimit für KI-gestützte Textvorschläge pro Konto — diese Funktion läuft ausschliesslich auf Ihren ausdrücklichen Klick, nie automatisch, und zeigt vor dem Absenden den Text, der übermittelt wird. Diese Vorschau ist nicht auf jedem Versandweg vollständig — an einzelnen Stellen wird mehr an den Dienst übertragen, als die Vorschau zeigt.
- Mengenbegrenzung für Meldungen aus der App: fünf je Minute und Herkunfts-IP — nicht je Person: wer sich ein Netz teilt, teilt sich dieses Kontingent. Dazu feste Längengrenzen je Feld (Text höchstens 4000 Zeichen, höchstens 25 Einträge in der Fehlerliste, Browserkennung 300 Zeichen). Ihr Text wird nie stillschweigend gekürzt — ist er zu lang, wird die Meldung abgewiesen und Sie sehen es. Gekürzt werden nur die Angaben, die der Browser über sich selbst meldet, damit eine ungewöhnliche Umgebung eine Meldung nicht scheitern lässt.
- Einschränkung: Weitergehende, im Code bereits vorbereitete Mengenbegrenzungen für den Mailversand (Tages- und Monatskontingente) sind aktuell nicht aktiv geschaltet. Wirksam bleiben in jedem Fall die Sicherheitsprüfungen — bestätigte Kontoadresse, Sperrlisten für unzustellbare Adressen —, auch auf dem Weg über eine eigene Absenderadresse.
Wiederherstellbarkeit
- Tägliche vollständige Datenbanksicherung, komprimiert, standardmässig mit einer Aufbewahrung von 14 Tagen auf dem Server und von höchstens 60 Tagen für die ausgelagerte Kopie.
- Die Wiederherstellung ist geprobt, dokumentiert und mit gemessenen Zeiten hinterlegt; die Übung wird in einem festen Turnus wiederholt.
- Einschränkung: Es gibt kein kontinuierliches Sicherungsverfahren — im Ernstfall sind bis zu 24 Stunden Datenverlust möglich. Die Sicherungsdateien auf dem Server sind komprimiert, aber nicht verschlüsselt — sie liegen auf demselben Server wie die Datenbank selbst. Die ausgelagerte Kopie wird vor der Übertragung zusätzlich verschlüsselt, sobald der Betreiber dafür einen Sicherungsschlüssel hinterlegt hat (asymmetrisch: der Server hält nur den öffentlichen Schlüssel, der private liegt offline beim Betreiber). Schlägt diese Verschlüsselung fehl, wird nichts ausgelagert und der Betreiber alarmiert; eine unverschlüsselte Ersatzübertragung gibt es nicht. Ohne hinterlegten Schlüssel liegt die ausgelagerte Kopie beim Ziel unverschlüsselt.
Regelmässige Überprüfung
- Automatisierte Qualitätsprüfungen (Tests, Typprüfung) werden vor jedem Merge lokal ausgeführt.
- Ein dokumentiertes, turnusmässiges Verfahren prüft eingesetzte Softwarebausteine auf bekannte Schwachstellen.
- Die Erzeugung der deutschen E-Rechnung (XRechnung) wird gegen den unabhängigen KoSIT-Referenzvalidator geprüft. Die Schweizer QR-Rechnung wird gegen einen eigenen, unabhängig entwickelten Decoder geprüft, der den gedruckten Zahlteil zurückliest und gegen die Swiss Payment Standards prüft — das ist kein SIX-Validatorlauf, sondern eine Vorbereitung darauf.
- Einschränkung: Es gibt aktuell keinen automatisch erzwungenen Prüfnachweis pro einzelner Codeänderung und keine laufende automatisierte Sicherheits-Scan-Pipeline. Die genannten Verfahren sind dokumentiert und terminiert, aber manuell ausgelöst — sie ersetzen kein automatisches Prüftor.
Wie Zeffio Sie bei Betroffenenrechten unterstützt
Weil Sie im zweiten Datenkreis Verantwortliche sind, sind letztlich Sie es, der Auskunfts-, Berichtigungs- und Löschungsersuchen Ihrer eigenen Kundinnen und Kunden beantwortet. Zeffio stellt dafür folgende technische Mittel bereit:
- Auskunft und Datenübertragbarkeit (Art. 15, 20 DSGVO; Art. 25, 28 DSG): Unter Einstellungen → Konto löschen gibt «Meine Daten herunterladen» sofort und ohne Wartezeit einen Export Ihres Kontos als ZIP-Datei mit CSV-Dateien heraus — samt Belegpositionen, Aufgaben mit ihren Kommentaren, den Abwesenheiten Ihres Teams, Mail-, Sicherheits- und Zugriffsprotokoll. Die beiliegende LIESMICH-Datei enthält seit dem 03.09.2026 die Angaben, die eine Auskunft nach Art. 25 DSG in jedem Fall umfassen muss: Verantwortlicher, Zweck, Herkunft, Aufbewahrungsdauer, Empfänger samt Staat und Rechtsgrundlage, das Fehlen automatisierter Einzelentscheidungen — und den Zeitpunkt des vorherigen Exports. Was die App nicht beantwortet, beantworten wir auf Anfrage an hallo@zeffio.app innert 30 Tagen (Art. 25 Abs. 7 DSG; Art. 12 Abs. 3 DSGVO: ein Monat), kostenlos.
Einschränkungen, offen benannt: Für Teammitglieder (nicht die Kontoinhaberin oder den Kontoinhaber) ist dieser Export aktuell weitgehend leer, weil er technisch an die anfragende Person statt an das gesamte Konto gebunden ist — arbeiten Sie im Team, ist eine vollständige Auskunft derzeit nur über den Kontoinhaber möglich. Eine Ausnahme: die Kommentare, die eine Person an Aufgaben geschrieben hat, stehen in ihrem Export, auch die aus den Teams anderer Konten. Dasselbe gilt für ihre eigenen Abwesenheiten und für ihre Mitgliedschaften in Teams — Team, Rolle, seit wann und Sollzeit je Woche; der Export der Kontoinhaberin bzw. des Kontoinhabers enthält dazu die Mitgliedschaften des eigenen Teams. Ausserdem fehlen die übrigen Team-Tabellen (Einladungen, Team-Protokoll, Freigaben) und bei Dateien der Inhalt selbst (nur die Grösse in Bytes) — das gilt auch für die Dateien an Projekten. Für eine vollständige Buchhaltungsübergabe mit Belegdateien steht daneben der separate Periodenexport zur Verfügung. Die Dateien an Aufgaben und an Projekten enthält auch er nicht; sie lassen sich an der Aufgabe bzw. am Projekt einzeln herunterladen. - Berichtigung (Art. 16): Stamm- und Geschäftsdaten sind jederzeit direkt änderbar. Änderungen an sicherheitsrelevanten Feldern werden protokolliert, mit den oben unter «Integrität» genannten Ausnahmen (E-Mail, Telefon, Logo, Freitext). Bereits versendete Belege werden bewusst nicht rückwirkend umgeschrieben.
- Löschung (Art. 17 DSGVO; Art. 32 DSG): Einzelne Daten löschen Sie selbst; bei Rechnungen entscheidet der nachweisbare Zustellstatus, nicht ein blosser Status-Vermerk, was «Löschen» bewirkt: Ein Beleg ohne Zustellnachweis, den auch keine der unter «Aufbewahrungspflicht» genannten Sperren hält, wird gelöscht; ein Beleg, den der Kunde hat oder der abgeschlossen ist, kommt in ein Archiv innerhalb Ihres Kontos (siehe unten).
Das Archiv, offen benannt: Ein Beleg, den der Kunde hat, wird auf «Löschen» hin nicht entfernt. Ist er noch offen, wird er zuerst storniert (eine Offerte: zurückgezogen); bei einer Rechnung geht dem Kunden auf Wunsch die Stornierung per Mail zu. Danach kommt er, wie jeder bereits abgeschlossene Beleg, in ein Archiv innerhalb Ihres Kontos. Dort ist er aus den Arbeitslisten ausgeblendet und nur lesbar, zählt aber in MWST-Abrechnung, Berichten, Exporten und im Kundenkonto weiter, und Sie können ihn jederzeit zurückholen. Zeffio rechnet das Ende der Aufbewahrungsfrist aus: zehn Jahre ab Ende des Geschäftsjahres (Art. 958f OR). Als Geschäftsjahr nimmt Zeffio das Kalenderjahr an — fällt das Ereignis in ein Geschäftsjahr, das in der Buchhaltung erfasst ist, dessen Ende — und setzt das Fristende beim Archivieren auf das Ende des Geschäftsjahres, in das das letzte Ereignis am Beleg fällt (etwa Ausstellung, letzte Zahlung, Abschreibung oder Storno) plus zehn Jahre — bei einer Ausgabe plus zwanzig Jahre, weil Art. 70 Abs. 3 MWSTG Unterlagen zu Liegenschaften zwanzig Jahre verlangt und Zeffio nicht erkennt, welche Ausgabe eine Liegenschaft betrifft. Gelöscht wird ein Jahr später, in einem nächtlichen Lauf ab dem 1. Januar danach — das eine Jahr ist die Reserve für ein abweichendes Geschäftsjahr (Beispiel: Fristende 31. Dezember 2036, Löschung ab 1. Januar 2038). Belege, die aufeinander verweisen (etwa Rechnung und Gutschrift), werden nur gemeinsam gelöscht; ein noch laufender Dauervertrag oder ein Kundenguthaben mit offenem Rest hält die Gruppe zurück. Mit dem Beleg werden unter anderem seine Positionen, Zahlungen, Mahnungen, versendeten Mails samt PDF, Portal-Zugriffe, Anhänge, Abschreibungen und die auf der Rechnung verrechneten Zeiteinträge gelöscht; bestehen bleiben die Belegnummer als verbrauchte Nummer (siehe «Integrität») und eine Protokollzeile mit den Belegnummern und ihrer Anzahl, ohne Beträge und ohne Kundendaten; aus den früheren Zeilen des Team-Protokolls zu diesen Belegen entfernt Zeffio dabei den Namen des Kunden bzw. des Lieferanten. Die Aufbewahrungspflicht selbst übernimmt Zeffio damit nicht: Aufbewahren müssen Sie, und mit der Löschung des Kontos wird auch das Archiv gelöscht. Anleitung: Belege löschen und das Archiv.
Löschbegehren Ihrer Kundinnen und Kunden — «Kunde löschen»: Verlangt jemand von Ihnen die Löschung seiner Daten, während Sie Belege aufbewahren müssen, zeigt Zeffio vor der Bestätigung, was geschieht: Entwürfe und Belege ohne Zustellnachweis werden gelöscht — auch solche, die nur als versendet markiert sind; der Plan nennt sie vorher —, sofern keine Zahlung darauf gebucht ist, sie in keiner abgeschlossenen MWST-Periode liegen und keine Schlussrechnung sie abzieht (dieselbe Regel wie beim einzelnen Löschen), offene Offerten zurückgezogen, alle übrigen Belege ins Archiv gelegt, und der Kunde wird archiviert und zur Löschung vorgemerkt. Zugleich widerruft Zeffio die Portal-Links zu seinen Belegen und Verträgen: sie zeigen danach nichts mehr, und die Zugriffe davor bleiben als Zustellnachweis beim Beleg. Solange der Kunde vorgemerkt ist, nimmt Zeffio auf seinen Projekten keine neuen Zeiten, Aufgaben, Ausgaben und Dateien an, und neue Portal-Links für ihn lassen sich nicht anlegen. Sobald keiner seiner Belege mehr übrig ist, löscht der nächtliche Lauf auch den Kunden samt Kontakten, Verträgen, Preisen und seinen Projekten mit Zeiteinträgen und Aufgaben; aus den Zeilen des Team-Protokolls zu dem, was er dabei löscht, entfernt er die Namen des Kunden und seiner Projekte. Zeilen zu Belegen, Zeiteinträgen oder Projekten, die schon vorher einzeln gelöscht wurden, behalten den Namen — der Lauf kennt sie nicht mehr. Zeffio lehnt die Funktion ab, solange eine Rechnung offen ist, ein Dauervertrag aktiv oder pausiert ist, ein Guthaben des Kunden einen Rest hat, eine Überzahlung nicht als Guthaben gebucht ist, eine Gutschrift, die aufbewahrt werden muss oder schon im Archiv liegt, nicht als Guthaben gebucht ist oder verrechenbare Zeiten oder Auslagen zum Weiterverrechnen noch auf keiner ausgestellten Rechnung liegen. Die Löschung ist damit vorgemerkt, nicht sofort vollzogen: Bis zum Ablauf der Frist bleibt in Ihrem Konto archiviert, was Sie aufbewahren müssen. Ob das ein Löschbegehren im Einzelfall erfüllt, beurteilen Sie als Verantwortliche bzw. Verantwortlicher. Unsere Einschätzung vom 06.10.2026 — die gesetzliche Aufbewahrungspflicht rechtfertigt es, die Belege für diese Dauer zu behalten (Art. 31 Abs. 1 DSG) — ist keine anwaltliche.
Das ganze Konto lässt sich unter Einstellungen → Konto löschen mit Passwortbestätigung selbst und endgültig löschen — ausser für einen Demo-Zugang oder für die Kontoinhaberin bzw. den Kontoinhaber eines Teams mit weiteren Mitgliedern; dort ist die Selbstlöschung bewusst gesperrt.
Eine Vorbedingung, offen benannt: Enthält das Konto Belege — eine ausgestellte Rechnung, eine Ausgabe, ein Kundenguthaben —, verlangt die Löschung zuerst einen Datenexport aus der letzten Stunde («Meine Daten herunterladen», ein Klick). Grund ist Ihre eigene Aufbewahrungspflicht nach Art. 958f OR: Nach der Löschung sind die Unterlagen hier nicht mehr zu holen. Die Löschung wird niemandem verweigert oder aufgeschoben, und ein Konto ohne Belege lässt sich ohne diesen Schritt löschen. Ob diese Ausgestaltung mit dem Löschrecht vereinbar ist, haben wir am 03.09.2026 geprüft und bejaht — unsere Einschätzung, keine anwaltliche.
Was eine Löschung nachweislich nicht erreicht: ein bereits geschriebenes Datenbank-Backup (standardmässig bis zu 14 Tage, ausgelagerte Kopien bis zu 60 Tage; hochgeladene Dateien liegen nach dem Löschen höchstens 21 Tage im getrennten Speicher und danach höchstens 60 Tage in dessen ausgelagerter Kopie), ein Prüfwert (Hash) der E-Mail-Adresse der gelöschten Person im Server-Betriebsprotokoll (seit dem 03.09.2026 nicht mehr die Adresse selbst; ohne dokumentierte Aufbewahrungsfrist), sowie Beiträge der Person im Team eines anderen Kontos. Sie gehören dort zu den Unterlagen dieses Teams, bleiben bestehen und verlieren den Verweis auf das gelöschte Konto — etwa erfasste Zeiteinträge mit ihrem Freitext, Freigabeentscheide, Dateien an Aufgaben und an Projekten und Abwesenheiten, die die Person dort für andere eingetragen hat. Ihre eigenen Abwesenheiten gehören nicht dazu: sie werden gelöscht, sobald die Person das Team verlässt oder daraus entfernt wird, spätestens mit ihrem Konto. Zwei Arten behalten dabei den Namen der Person, weil er beim Schreiben festgehalten wird: Kommentare an Aufgaben, samt ihrem Text, und Einträge im Team-Protokoll. Einzeln entfernen kann einen solchen Kommentar danach nur, wer dieses Team verwaltet.
Und eine Meldung aus der App: Sie bleibt bestehen und verliert dabei den Verweis auf das gelöschte Konto. Text und technische Angaben bleiben; eine Kontaktadresse, die im Meldedialog stand, bleibt in der Meldung stehen (sie ist dort mit Ihrer Kontoadresse vorbelegt — wer sie leert, sendet ohne). Der Grund ist der Zweck: Wer sein Konto wegen eines Fehlers löscht, ist genau die Person, deren Meldung diesen Fehler noch beschreibt. Wer auch diese Zeile restlos gelöscht haben will, schreibt an hallo@zeffio.app — wir löschen sie von Hand; in der App gibt es dafür keinen Knopf. - Einschränkung der Verarbeitung (Art. 18): Dafür gibt es aktuell kein eigenes technisches Merkmal. Das Archivieren von Kundendaten ist ausdrücklich nur eine Sichtbarkeitsfunktion für Listen, keine Verarbeitungseinschränkung.
- Widerspruch (Art. 21): Kein technischer Schalter innerhalb der Anwendung; wenden Sie sich in einem solchen Fall an hallo@zeffio.app.
- Rückgabe bei Vertragsende: Der Kontoexport (mit obiger Einschränkung) und der Periodenexport stehen jederzeit selbständig zur Verfügung. Eine vertraglich zugesicherte Löschfrist nach Vertragsende gibt es noch nicht — nur die sofortige Selbstlöschung des Kontos.
Schweiz: DSG neben der DSGVO
Der Betrieb von Zeffio liegt laut Impressum bei einer natürlichen Person mit Sitz in Basel — Schweizer Recht gilt darum zusätzlich zur DSGVO, nicht ersatzweise. Die Abschnitte oben sind an der DSGVO entlang geschrieben; hier die Stellen, an denen das Schweizer Datenschutzgesetz (DSG, revidierte Fassung in Kraft seit 1.9.2023) von der DSGVO abweicht — geprüft am 03.09.2026 gegen Gesetz, Verordnung und unseren Code.
- Meldung von Verletzungen der Datensicherheit: Die DSGVO kennt eine feste Frist von 72 Stunden. Das DSG verlangt Meldung «so rasch als möglich» (Art. 24 DSG) — eine unbestimmte, aber nicht beliebig dehnbare Frist. Seit dem 03.09.2026 besteht ein dokumentiertes Meldeverfahren, das beide Massstäbe trägt: Als Auftragsverarbeiter melden wir Ihnen als Verantwortlicher so rasch als möglich; für die Kontodaten melden wir dem EDÖB, wenn ein hohes Risiko wahrscheinlich ist, und informieren die Betroffenen, wenn es zu ihrem Schutz nötig ist. Das Verfahren ist dokumentiert, aber noch nicht geübt.
- Besonders schützenswerte Personendaten, geprüft: Das DSG zieht diese Kategorie weiter als die DSGVO — zusätzlich zählen genetische und biometrische Daten, die eine Person eindeutig identifizieren, Daten über verwaltungs- und strafrechtliche Verfolgungen und Sanktionen, Daten über Massnahmen der sozialen Hilfe sowie die Intimsphäre. Gegen unser Datenmodell geprüft, mit der vollständigen Liste: Zeffio hat kein solches Feld; das Geheimnis der Zwei-Faktor-Anmeldung ist ein geteiltes kryptografisches Geheimnis, kein körperliches Merkmal. Ein Feld verdient trotzdem Sorgfalt: Der frei formulierte Grund einer Rechnungsabschreibung («Konkurs», «Betreibung erfolglos») ist eine Angabe über die Zahlungsfähigkeit eines Kunden — nach dem Gesetz ein Bonitätsdatum, nicht besonders schützenswert; die App bittet beim Erfassen um einen sachlichen, knappen Grund. Für die Abwesenheiten im Team (seit 07.10.2026) gibt es bewusst keine Art «krank»: ein solches Feld lüde dazu ein, Gesundheitsdaten (Art. 5 lit. c Ziff. 2 DSG) in ein Werkzeug zu schreiben, das das ganze Team liest. Ein Rest bleibt, und wir benennen ihn: die freie Notiz an einer Abwesenheit kann trotzdem eine Gesundheitsangabe aufnehmen. Dagegen stehen der Hinweis am Feld und die Grenze von 200 Zeichen — eine Sperre ist das nicht.
- Datenschutz-Folgenabschätzung: Das DSG kennt einen eigenen Auslösetatbestand (Art. 22), unabhängig von der DSGVO-Pflicht. Unsere Verarbeitung — gewöhnliche Rechnungs- und Projektdaten, kein Profiling, keine systematische Überwachung — löst ihn nach unserer Einschätzung nicht aus; dasselbe gilt für das Verzeichnis der Bearbeitungstätigkeiten nach Art. 12 DSG, von dem natürliche Personen ohne umfangreiche Bearbeitung besonders schützenswerter Daten ausgenommen sind. Für Kunden in der EU führen wir seit dem 22.09.2026 ein Verzeichnis nach Art. 30 DSGVO; es ist intern und wird der Aufsichtsbehörde auf Anfrage vorgelegt.
- Übermittlung ins Ausland: Massgeblich ist Anhang 1 der Datenschutzverordnung (DSV), die Liste der Staaten mit angemessenem Datenschutz, die der Bundesrat festlegt (Art. 16 Abs. 1 DSG). Frankreich und die übrigen EU-Staaten stehen darauf; unsere Unterauftragnehmer in Frankreich (Mailversand, Zustellereignisse) sind damit ohne zusätzliche Garantien zulässig — geprüft am 03.09.2026. Über denselben Mailweg geht seit dem 18./19.09.2026 auch der Hinweis auf eine Meldung aus der App und die Erinnerung an ein nie bestätigtes Konto: derselbe Dienstleister, derselbe Staat, dieselbe Grundlage — kein neuer Empfänger und kein neuer Staat. Die optionalen KI-Funktionen laufen seit dem 15.09.2026 bei Infomaniak AI Tools in der Schweiz — keine Übermittlung ins Ausland. Mit einer eigenen Absenderadresse geht die Kundenmail über den Anbieter Ihres Postfachs; in welchem Staat er sie bearbeitet, bestimmen Sie mit dessen Wahl, nicht wir (siehe «Unterauftragnehmer»). Das Auslagerungsziel für Datenbanksicherungen liegt bei der unaxus GmbH in der Schweiz (Angabe des Betreibers) — keine Übermittlung ins Ausland.
- Auskunft und Herausgabe (Art. 25 und 28 DSG): Der Kontoexport liefert die Daten in gängigem elektronischem Format (Art. 28) und mit der LIESMICH-Datei die Angaben, die eine Auskunft in jedem Fall umfassen muss (Art. 25 Abs. 2). Zeffio trifft keine automatisierten Einzelentscheidungen (Art. 21 DSG). Was offen bleibt, beantworten wir innert 30 Tagen, kostenlos.
- Aufbewahrungspflicht (Art. 958f OR): Das Schweizer Obligationenrecht verlangt eine zehnjährige, unveränderliche Aufbewahrung der Geschäftsbücher und Belege — ein eigenständiges Gesetz, keine Ausprägung der GoBD. Zeffio berechnet und nennt die Frist und hält sie im Archiv ein, setzt die Pflicht aber nicht für Sie durch: Aufbewahren müssen Sie, und über die Lebensdauer des Kontos hinaus gibt es keine Mindestaufbewahrungsdauer für Datensätze. Vier Sperren verhindern das zu frühe Löschen dort, wo ein Beleg nachweislich zugestellt ist, eine Zahlung trägt, in einer eingereichten MWST-Periode liegt oder eine Belegdatei hat; ein ausgestellter Beleg ohne dies alles bleibt löschbar, seine Nummer bleibt verbraucht. Was beim Kunden ist, wird beim Löschen archiviert und erst ein Jahr nach Ablauf der Frist automatisch gelöscht (siehe «Löschung» oben). Vor der Kontolöschung verlangt Zeffio darum den Datenexport (siehe «Löschung» oben).
- Strafbestimmungen: Anders als die DSGVO büsst das DSG die verantwortliche natürliche Person, nicht das Unternehmen — bis CHF 250 000 bei vorsätzlicher Verletzung bestimmter Pflichten (Art. 60–63 DSG). Für den Betreiber von Zeffio ist das die Person im Impressum.
- Aufsichtsbehörde: Für die Schweiz ist das der Eidgenössische Datenschutz- und Öffentlichkeitsbeauftragte (EDÖB), bereits in der Datenschutzerklärung genannt; sein Meldeportal ist der Kanal des Meldeverfahrens.
Wie die übrige Seite: technische und rechtstextliche Angaben, keine Rechtsberatung. Die Prüfung vom 03.09.2026 hat ein KI-Assistent im Auftrag des Betreibers durchgeführt und dokumentiert; eine förmliche revDSG-Prüfung durch eine dazu befugte Person steht noch aus.
Was noch fehlt
Dieser Abschnitt ist der wichtigste auf dieser Seite. Er beschreibt, was für einen belastbaren Auftragsverarbeitungsvertrag noch nicht vorhanden ist — und liegt in der Verantwortung des Betreibers und der jeweils zuständigen rechtlichen Prüfung.
- Erledigt (22.09.2026): es gibt einen eigenständigen AVV-Vertragstext. Der Auftragsverarbeitungsvertrag regelt die Vertragsinhalte nach Art. 9 DSG und Art. 28 Abs. 3 DSGVO — Weisungsbindung, Vertraulichkeit, Unterstützung bei Betroffenenrechten, Meldepflichten, Löschung oder Rückgabe bei Vertragsende, Nachweis- und Prüfrechte. Er ist Bestandteil unserer AGB und gilt mit der Registrierung.
- Zum Teil erledigt (22.09.2026): Verträge mit unseren eigenen Unterauftragnehmern. Mit Infomaniak besteht seit dem 22.09.2026 eine Vereinbarung nach Art. 9 DSG und Art. 28 DSGVO. Bei Scaleway ist die Auftragsverarbeitungsvereinbarung Teil der Vertragsbedingungen, die mit dem Konto gelten. Offen: mit unaxus GmbH (Ziel der ausgelagerten Sicherung) liegt noch keine solche Vereinbarung vor. Wie Sie über einen Wechsel informiert werden und widersprechen können, regelt jetzt der AVV unter «Unterauftragsverarbeiter» (30 Tage im Voraus).
- Es fehlen organisatorische Dokumente rund um den AVV — seit dem 03.09.2026 weniger: Ein Verfahren für Verletzungen der Datensicherheit besteht (dokumentiert, nicht geübt, ohne Mailvorlage für die Meldung an Sie). Eine Datenschutz-Folgenabschätzung und ein Verzeichnis nach Art. 12 DSG sind nach unserer Einschätzung nicht erforderlich, ein Datenschutzberater ist für Private freiwillig. Das Verzeichnis nach Art. 30 DSGVO besteht seit dem 22.09.2026 (intern, auf Anfrage einsehbar). Offen bleiben der Vertreter in der EU (Art. 27 DSGVO) und — sobald es Beschäftigte gibt — deren Verpflichtung auf Vertraulichkeit.
- Verschlüsselung ruhender Daten auf Anwendungsebene nur an zwei Stellen (siehe «Vertraulichkeit» oben). Bankverbindungen, Steuernummern und die gespeicherten Dateien (Belege, Anhänge an Rechnungen, an Aufgaben und an Projekten, versendete PDFs) liegen unverschlüsselt in der Datenbank; das Geheimnis der Zwei-Faktor-Anmeldung und das Passwort bzw. der Zugangsschlüssel einer eigenen Absenderadresse sind verschlüsselt, und der dafür nötige Schlüssel ist im Produktivbetrieb zwingend.
- Datenbank-Sicherungen sind nicht verschlüsselt, nur komprimiert — für die ausgelagerte Kopie erledigt, sobald der Betreiber den Sicherungsschlüssel hinterlegt hat (seit dem 22.09.2026 technisch vorhanden, siehe «Wiederherstellbarkeit»); die Kopien auf dem Server selbst bleiben unverschlüsselt. Und es gibt kein kontinuierliches Sicherungsverfahren — bis zu 24 Stunden Datenverlust sind im Ernstfall möglich. Eine gelöschte Person bleibt zudem so lange in bereits geschriebenen Sicherungen enthalten, wie diese aufbewahrt werden: auf dem Server 14 Tage, in ausgelagerten Kopien höchstens 60 Tage.
- Es gibt noch keine dokumentierten Aufbewahrungsfristen für mehrere Protokolltabellen (u. a. Sitzungs-, Sicherheits- und Mailprotokoll). Sie bestehen aktuell, solange das Konto besteht. Für Meldungen aus der App gilt dasselbe — und sie sind der einzige Fall, der die Kontolöschung überdauert (ohne Verweis auf das Konto, siehe «Löschung» oben). Einen automatischen Aufräumlauf gibt es für keine dieser Tabellen.
- Erledigt (07.10.2026): vergangene Abwesenheiten löscht Zeffio von selbst — ein Jahr nach ihrem letzten freien Tag, in einem nächtlichen Lauf, auch die Tage des ganzen Teams. Vorher löscht eine Abwesenheit, wer sie eintragen darf; die Abwesenheiten einer Person gehen ausserdem mit, wenn sie das Team verlässt, daraus entfernt wird oder ihr Konto löscht.
- Erledigt (20.09.2026): wo das Postfach liegt, in dem die Meldungen aus der App ankommen. Es liegt bei Infomaniak in der Schweiz, zum Empfangen und zum Antworten, ohne Weiterleitung an einen Dritten. Damit liegt Ihre Nachricht an uns in der Schweiz, und unsere Antwort wird dort geschrieben. Nicht mehr: welchen Weg Ihre Nachricht bis zu uns nimmt, entscheidet Ihr eigener Anbieter, und zugestellt wird unsere Antwort an die Adresse, die Sie genannt haben — liegt Ihr Postfach im Ausland, geht sie dorthin. Belegt ist der Endpunkt bei uns, nicht die ganze Strecke. Der Versand des Hinweises aus der App war schon vorher belegt: derselbe Maildienstleister in Frankreich wie bei Ihren Rechnungsmails, auf der Grundlage von Anhang 1 DSV. Was offen war und nun beantwortet ist: der MX-Eintrag zeigte nur, wer die Mail annimmt — dass sie dort auch liegen bleibt, ist eine Angabe des Betreibers und steht in keiner technischen Unterlage. Dort liegen danach der Text der meldenden Person, ihre Kontoadresse und die erste Zeile ihrer Meldung im Betreff. Neu ist nicht die Adresse — sie steht seit immer als Kontakt für Auskunft und Widerspruch in der Datenschutzerklärung —, neu ist, dass dort bei jeder Meldung automatisch etwas ankommt. Dieser Punkt ist durch eine Angabe des Betreibers zu schliessen, nicht durch Software.
- Betreiberzugriff auf Produktionsdaten ist organisatorisch nicht geregelt. Der Betrieb liegt bei einer einzelnen Person (siehe «Rahmenbedingungen» oben); es gibt keine Rollentrennung und kein Vier-Augen-Prinzip. Teilweise erledigt (07.10.2026): Zugriffe im Betreiberbereich werden protokolliert. Jeder Aufruf dort, der Daten von Konten zeigt oder für alle Konten handelt — die Kontenliste, die Zustell-, Fehler- und Betriebsübersicht, die Liste der Meldungen aus der App, das Setzen ihres Bearbeitungsstands und ihrer internen Notiz, das Anstossen eines Hintergrundlaufs —, schreibt eine Zeile: wer, wann, welche Aktion und mit welchem Filter bzw. welcher Kennung; bei einer Meldung nur die Namen der geänderten Felder, nie den Text der Notiz. Ausgenommen ist das Lesen dieses Protokolls selbst: es zeigt auch die Suchbegriffe der Kontenliste, also womöglich einen Namen oder eine Adresse, hinterlässt aber keine Zeile. Scheitert das Schreiben, scheitert der Aufruf. Eine Löschfrist für diese Zeilen gibt es noch nicht. Nicht protokolliert wird, was an der Anwendung vorbei geschieht: Befehle des Betreibers auf der Konsole des Servers (etwa das Löschen eines Kontos) und ein direkter Zugriff auf die Datenbank. Die interne Notiz zu einer Meldung wird der meldenden Person in der App nicht gezeigt; sie bleibt aber eine Aufzeichnung über eine benannte Person — Auskunft darüber geben wir auf Anfrage.
- Kein automatisch erzwungener Prüfnachweis pro Codeänderung und keine laufende automatisierte Sicherheits-Scan-Pipeline (siehe «Regelmässige Überprüfung» oben). Die vorhandenen Verfahren sind dokumentiert und terminiert, aber manuell ausgelöst.
- Der Datenexport ist für Auskunft und Übertragbarkeit noch nicht vollständig — Dateiinhalte und die meisten Team-Tabellen fehlen, und für Teammitglieder ist er praktisch unbrauchbar (siehe oben).
- Keine förmliche revDSG-Prüfung durch eine dazu befugte Person. Die Punkte unter «Schweiz: DSG neben der DSGVO» sind am 03.09.2026 gegen Gesetz, Verordnung und Code geprüft und dokumentiert — durch einen KI-Assistenten im Auftrag des Betreibers, nicht durch eine Anwältin oder einen Anwalt. Was bleibt, ist genau diese Prüfung.
Diese Liste wird nicht beschönigt, wenn sich die Software ändert — offene Punkte werden entfernt, sobald sie tatsächlich behoben sind, nicht schon, wenn ein Zwischenschritt begonnen wurde. Fehlt hier etwas, das für Ihre Prüfung wichtig ist, oder haben Sie Fragen zu einem der genannten Punkte: hallo@zeffio.app.