ORN #48 Drei unverzichtbare Werkzeuge zum Verschlüsseln
... und nie mehr Frust bei der Terminsuche fürs Bürgeramt.
Hey, willkommen zur neusten Ausgabe des Online-Recherche Newsletters! Lebt ihr auch an einem Ort, an dem man sich Termine im Bürgeramt nicht einfach so buchen kann, sondern sie in einem nervenzehrenden Prozess ergattern muss? Der Journalist Johannes Gille hat daraus eine spannende Datenrecherche gemacht.
Die Werkzeug-Tipps drehen sich dieses Mal um Verschlüsselung: Ihr bekommt eine Portion Motivation, um eure E-Mails, Passwörter und Dateien abzusichern. Keine Sorge, es nervt nur ein bisschen und man fühlt sich danach gleich besser!
Sicherer E-Mail-Verkehr: PGP, so einfach wie nie
🔑 Wofür braucht man das? E-Mails sind wie Postkarten, das wusste schon der damalige CDU-Innenminister Thomas de Maizière im Jahr 2011. Ihre Inhalte sind zwar nur an bestimmte Leute gerichtet. Aber wer sie in die Finger kriegt, kann sie einfach lesen. Gerade Journalist*innen sollten E-Mails vor fremden Augen schützen. Dafür gibt es PGP.
⚙️ Wie funktioniert das? Die Abkürzung steht für "Pretty Good Privacy". Dahinter steckt ein Verschlüsselungssystem mit zwei kleinen Dateien: einem öffentlichen und einem privaten Schlüssel. Den öffentlichen Schlüssel teilt man mit der Außenwelt. Er verwandelt E-Mails in Zeichensalat, den niemand entschlüsseln kann. Fast niemand. Denn diese Entschlüsselung klappt nur mit dem privaten Schlüssel – und den muss man deshalb für sich behalten.
📌 Was muss man beachten? PGP gilt als frickelig und frustrierend. Aber in den letzten Jahren ist es viel einfacher geworden. Gerade bei Anbietern wie Thunderbird (gratis) oder ProtonMail (Freemium) braucht es nur noch wenige Klicks, die die Anbieter Schritt für Schritt erklären. Zwar wird es immer Leute geben, die bei PGP nicht mitmachen. Aber je mehr Menschen es einrichten, desto eher kommt eine kritische Masse zusammen.
Sicheres Datenarchiv: Verschlüsseln mit VeraCrypt
🔑 Wofür braucht man das? Das Tool VeraCrypt schützt Dateien und Datenträger vor Schnüffelei. Dank VeraCrypt muss man sich nicht mehr fragen: Was wird wohl passieren, wenn meine Festplatten in fremde Hände geraten? Die Antwortet lautet nämlich: nix. Ohne Passwort lassen sich die Inhalte nicht entschlüsseln. Über ein Programm wie VeraCrypt nachdenken sollten alle, die vertrauliche Dokumente gespeichert haben.
⚙️ Wie funktioniert das? VeraCrypt kann man sich für Windows, MacOS und Linux herunterladen. Mit dem Programm lassen sich etwa Festplatten und USB-Sticks verschlüsseln und mit einem Passwort versehen. Wer die Datenträger ohne Passwort auslesen will, sieht nur Zeichensalat. Bei der Einrichtung helfen Schritt-für-Schritt-Tutorials.
📌 Was muss man beachten? Für den aktiv genutzten Laptop kann die Betriebssystem-eigene Festplatten-Verschlüsselung praktischer sein. Sobald ich Dateien und Ordner nicht mehr brauche, etwa weil die Recherche nicht mehr aktuell ist, schiebe ich sie jedoch auf sicher verschlüsselte Festplatten. Zum Schutz vor Bränden oder Hausdurchsuchungen empfehlen sich Back-ups an mehreren Orten.
Sichere Passwörter: KeePassXC als bombenfester Tresor
🔑 Wofür braucht man das? Manchmal ist die einzige Hürde zwischen Schnüffler*innen und vertraulichen Daten nicht mehr als ein sehr schwaches Passwort. Die Gefahr ist real: Online-Kriminelle sammeln geleakte Passwörter, um sie automatisiert auf allen möglichen Plattformen durchzutesten. Wer sich davor schützen will, nutzt einzigartige, sichere Passwörter, die auch noch sicher gespeichert werden. Dafür gibt es Passwortmanager wie das quelloffene KeePassXC.
⚙️ Wie funktioniert das? KeePassXC erstellt sichere Passwörter (sowas wie "6#b=z3\#|<`LD,!iK6Am) und bewahrt sie in einer winzigen Datei auf, dem Passwort-Tresor. Dieser Tresor ist mit einem Hauptpasswort gesichert – das einzige, das man sich im Kopf merken muss. Nutzen lässt sich der Passwort-Tresor auf allen gängigen Betriebssystemen.
📌 Was muss man beachten? Sichere und merkbare Hauptpasswörter lassen sich beispielsweise mit der Diceware-Methode erstellen. Sie bestehen aus zusammengewürfelten Begriffen, etwa: rasen.zahlte.panne.reist.gurren.spatel. Klar, es kostet Zeit, die eigene Passwort-Routine zu ändern. Ich kann nur dazu ermuntern, einfach anzufangen. Und wenn man als ersten Schritt nur eine paar Accounts per Passwortmanager sichert.
Interview: Die knappen Ressourcen von Bürgerämtern messen
Johannes Gille hat eine gefühlte Wahrheit messbar gemacht: Die Online-Terminsuche bei Berliner Bürgerämtern liefert Nieten wie sonst nur Losbuden. Für seine Recherche hat er einen Scraper programmiert und Daten ausgewertet. Im Werkstatt-Interview berichtet Johannes, welche Werkzeuge er genau genutzt hat – und wie Interessierte die Recherche für andere Städte wiederholen können.
ORN: Johannes, was konntest du Neues über den Terminmangel bei Berliner Bürgerämtern herausfinden?
Johannes Gille: Ich habe diesen Mangel das erste Mal mess- und zählbar gemacht. Wenn dein Personalausweis abläuft oder du in eine neue Wohnung gezogen bist, dann musst du einen Termin beim Bürgeramt machen. Also versuchst du auf deren Website, einen zu finden. Man hört oft von Menschen in Berlin, wie nervenzehrend das sein kann. Durch die Recherche wissen wir: Die Online-Terminsuche wird bei zwei von drei Versuchen nicht klappen. Dann bekommst du gar keinen Termin angeboten. Und in einem von drei Versuchen bekommst du einen Termin irgendwo in Berlin, für den du oft quer durch die Stadt fahren musst, oft noch am selben Tag.
ORN: Wie hast du das gemessen?
Johannes: Ich habe einen Scraper programmiert, also ein Programm, das automatisch Daten von einer Website sammelt. Die Grundlage dafür kam vom Entwickler Nicolas Bouliane. Er hat ein Browser-Tool für Termin-Suchende entwickelt, das alle drei Minuten nach einem neuen Bürgeramts-Termin in Berlin sucht. Den kompletten Code hat er auf GitHub veröffentlicht. Ein Hoch auf open source! Den Code habe ich mir geschnappt und erweitert.
ORN: Warum, was hat an dem Code nicht gepasst?
Johannes: Ich musste für die Recherche ein paar Features hinzufügen. Wenn du einen Termin anklickst, ist der nicht gleich für dich reserviert. Das passiert erst, wenn du dich weiter durchklickst. Es kommt deshalb immer wieder vor, dass andere schneller sind und dir den Termin wegschnappen. Ich wollte aber herausfinden, wie groß der Mangel wirklich ist. Also musste ich dem Scraper beibringen, sich automatisch weiterzuklicken. Dafür habe ich Selenium genutzt.
ORN: Was ist Selenium?
Johannes: Selenium ist ein Werkzeug, um mit einer Website zu interagieren. Ich kann damit automatisch Dinge tun, die ich sonst händisch im Browser tun müsste. Zum Beispiel Buttons anklicken oder Dinge in ein Textfeld tippen.
Hürden gegen automatisierte Abfragen überwinden
ORN: Ist das schwer zu programmieren?
Johannes: Ich hätte gedacht, dass es schwerer ist! Es war mein erster Scraper. Ich habe das Skript mit Python geschrieben und gegoogelt, wenn ich nicht weiterwusste. Die Bürgerämter haben ein paar Hürden eingebaut, um automatisierte Abfragen zu verhindern. Ich musste zum Beispiel simulieren, dass mein Skript ein von einem Menschen bedienter Browser ist. Es gibt auch gute Gründe, dass es solche Hürden gibt. Vor Jahren haben Menschen damit Geld verdient. Sie haben automatisch Termine bei den Bürgerämtern gebucht und für bis zu 45 Euro verkauft. Wir haben für unsere Recherche natürlich keine Termine gebucht, auch wenn es trivial wäre, das Programm entsprechend zu erweitern.
ORN: Ich ahne, das ist auch er Grund, warum du den Scraper nicht veröffentlicht hast?
Johannes: Genau, auch wenn ich mich ansonsten sehr stark dafür einsetze, Materialien und Methoden zugänglich zu machen. Hier war es mir aber wichtiger, dass mein Scraper nicht genutzt wird, um automatisiert Termine zu buchen und zu verkaufen.
ORN: Wie lange hast du Daten erfasst?
Johannes: Ich habe den Scraper gut zwei Wochen lang laufen lassen, 24 Stunden am Tag. Alle fünf Minuten hat er nach verfügbaren Terminen gesucht und notiert, zu welcher Uhrzeit und in welchem der Bürgerämter diese Termine angeboten wurden. Die erste Woche waren es Termine, um einen Personalausweis zu verlängern, die zweite Woche, um eine Wohnung an- oder umzumelden. Die Daten legen aber nahe, dass die Termine für beide Dienstleistungen aus demselben Terminpool stammen, deshalb haben wir die Ergebnisse zusammen ausgewertet.
ORN: Warum eigentlich zwei Wochen?
Johannes: Wir wollten herausfinden, wie sich die Verfügbarkeiten von Terminen im Verlauf eines Tages und im Verlauf der Woche ändern. Zugleich wollten wir das nicht allzu sehr in die Länge ziehen. Die Ergebnisse wären bei einer Untersuchung über mehrere Monate hinweg sicher belastbarer gewesen. Ich glaube aber nicht, dass wir dabei andere Erkenntnisse erlangt hätten.
ORN: Was muss ich tun, wenn ich so ein Skript laufen lassen will – einfach meinen Laptop tagelang rödeln lassen?
Johannes: Dass könntest du machen, aber das wäre irgendwann nervig und fehleranfällig. Praktischer ist es, wenn du dir online einen Server buchst. Wir haben das bei Hetzner gemacht. Das hat in diesem Fall um die zehn Euro gekostet. Du loggst sich dann dort per Browser ein. Es fühlt sich an, wie ein vollwertiger Rechner.
ORN: Wie hast du die gesammelten Daten verarbeitet?
Johannes: Erst einmal habe ich nach einer Woche gemerkt, dass ich einen Fehler gemacht habe und nochmal neu anfangen musste.
ORN: Passiert.
Johannes: Das lag an der Art, wie ich die Daten gespeichert habe. Ich habe dafür innerhalb des Dokuments eine falsche Stelle ausgewählt, sodass manche Daten später von anderen Daten überschrieben wurden. Deshalb waren sie unbrauchbar. Beim zweiten Durchlauf hat dann alles geklappt.
ORN: Wie wurden aus den Daten dann Grafiken?
Johannes: Die Daten lagen zuerst in JSON-Dateien vor, eine Datei für jeden Tag. Daraus habe ich mit einem weiteren Skript die Daten gezogen, die ich darstellen möchte. Zum Beispiel: Zu welchen Tageszeiten gab es wie viele Termine? Das habe ich dann in einer Tabelle gespeichert und bei Datawrapper hochgeladen. Das ist ein sehr beliebtes Tool, um aus rohen Daten schöne Grafiken zu basteln. Was mir bei Datawrapper sehr gefallen hat: Dort gibt es viele Karten, unter anderem von Berlin und seinen Bezirken. So konnte ich einen Vergleich darstellen: Die Verfügbarkeit von Terminen in den Bezirken, gewichtet nach Einwohner*innenzahl.
ORN: Jetzt kannst du mir sicher auch verraten, wie ich am besten an einen Termin komme?
Johannes: Klar! Es hängt davon ab, was für ein Typ du bist. Hast du gelegentlich den ganzen Tag frei und könntest auch kurzfristig quer durch die Stadt? Oder hast du einen langen Atem und kannst dich mehrere Wochen lang gedulden? Alle Tipps haben wir in einem separaten Artikel aufgeschrieben. Manchmal ist das ja schon eine ernste Sache, wenn eine Behörde, zu deren Besuch man verpflichtet ist, es nicht schafft, Leuten einfache Termine anzubieten. Das hat auch dein Text mit den Erfahrungsberichten von Berliner*innen gezeigt.
“Bestimmt ähnliche Probleme in anderen großen Städten”
ORN: Ja, an dieser Stelle kann ich kurz offenlegen, dass ich zumindest ein Stück weit an der Recherche beteiligt war: Ich hatte Leute im Internet gefragt, ob sie mir von ihren Erfahrungen bei der Terminsuche berichten können. Danach bin ich einfach in Urlaub gefahren, und du hast den Hauptteil der Recherche ohne mich gemacht. Gab es noch weitere Learnings?
Johannes: Ja, ich habe zum Beispiel gelernt, dass ich meine Daten besser strukturieren muss. Ich hatte zu viel auf menschliche Lesbarkeit gesetzt, obwohl die Daten ohnehin maschinell ausgewertet werden mussten. Das hat mich dann bei der Auswertung Zeit gekostet. Und ich habe gelernt, wie man Anti-Bot-Maßnahmen entgeht, das hat Spaß gemacht.
ORN: Welche Inspiration für andere Recherchen kann man aus deiner ziehen?
Johannes: In anderen großen Städten gibt es bestimmt ähnliche Probleme. Auch da könnte man messen, wie groß der Terminmangel ist. Man müsste dafür wohl komplett neue Scraper schreiben, weil jede Stadt andere Buchungssysteme nutzt. Ich wollte auch eine Recherche zur Terminnot beim Landesamt für Einwanderung in Berlin machen, aber das war eine Vollkatastrophe.
ORN: Eine Vollkatastrophe?
Johannes: Ja, die Website hat so schlecht funktioniert, dass wir nicht einmal nachmessen konnten, wie wenige Termine es gibt. Erst einmal muss man sich auf der Website etliche Male weiterklicken und sehr viele Angaben machen. Dabei gibt es nicht nachvollziehbare Ladezeiten, oft mehr als eine Minute lang.
ORN: Man muss der Website mehr als 60 Sekunden beim Laden zusehen?!
Johannes: Ja, das ist absolut unzumutbar. Ich habe versucht, das in meinem Scraper zu berücksichtigen. Doch das lief darauf hinaus, dass der Versuch einer einzelnen Terminanfrage mehr als zehn Minuten lang gedauert hat. Und es erschienen mehrere Fehlercodes, die ich nicht nachvollziehen konnte. Offenkundig ist der Notstand hier viel größer als bei den Bürgerämtern. Und die Schicksale dahinter sind viel dringender. Menschen können ihren Aufenthaltsstatus verlieren, ihre Arbeitsberechtigung nicht verlängern, oder sie müssen monatelang warten, bis sie ihre Kinder ins Land holen dürfen. Mit einem Scraper lässt sich das Thema jedenfalls kaum angehen.
Das war’s für diese Ausgabe. 💫 Wenn du mir auf Mastodon folgst, liest du regelmäßig Neuigkeiten rund um Netzpolitik, KI und digitale Gewalt.
Vor der Online-Veröffentlichung erscheint dieser Newsletter zuerst gedruckt und teils gekürzt im Medium Magazin. Für deinen Recherche-Alltag habe ich ein verschlagwortetes Online-Archiv aller Beiträge zusammengestellt und eine Linkliste mit noch mehr Tools.
Danke fürs Lesen, viel Erfolg bei der Recherche und bis zum nächsten Mal 💛
Sebastian