Die Frage wurde mir kürzlich gestellt und ich möchte einen kurzen Einblick in mein kleines Setup werfen, wie ich mein Android Smartphone, ein Xiaomi Redmi Note 4, gegen typische Probleme absichere.

Anti-Virus

Die meisten Gedanken beim Thema „Handy absichern“ gehen vermutlich immernoch Richtung Antivirus-Bemühungen. Ich bin nach wie vor der Meinung, dass Android an sich ein sehr sicheres System ist, wenn es verantwortungsvoll genutzt wird. Grundlegende Sicherheitshinweise:
Apps nur aus dem Google Play Store installieren, Installation von Drittanbietern blocken, Geräteadministratoren regelmäßig prüfen, USB-Debugging deaktivieren, Gerätespeicher verschlüsseln, keine unsicheren Webseiten besuchen, vorsichtig bei Werbung sowie zu guten Werbeangeboten und jederzeit mit Sorgfalt, Achtsamkeit und etwas Skepsis handeln.
(Erfahrene Nutzer können nach eigenem Ermessen anders handeln.)

Nichtsdestotrotz kann eine zusätzliche Sicherheitsebene die potentiellen Gefahren noch weiter minimieren, dagegen ist nichts einzuwenden. Die Liste der möglichen Anbieter ist lang und wie schon seit jeher ist die Wahl des „richtigen“ Anbieters eine Art Glaubensfrage. Ich werde hier also nicht weiter „beraten“ sondern nur meine Wahl kurz zeigen: Sophos Mobile Security (Webseite, Play Store). Ich kenne Sophos aus meinem Arbeitskontext als guten Securityanbieter mit guten Content-Filtern und habe mir daher die kostenlose App installiert. Sie scannt meine installierten Apps, sowie neue App-Installationen und achtet beim Surfen auch auf gefährliche Inhalte. Weitere Features sind möglich, die ich jedoch nicht benutze, darunter App-Sperren, Anruf-Blocker, Anti-Diebstahl, Authenticator, Passwort-Safe und mehr.

Anti-Diebstahl

Ebenfalls wichtig und oftmals unterschätzt, denn diese Sicherheitsmaßnahme wird erst benötigt, wenn es schon zu spät ist: Das Handy irgendwo liegen lassen, gar gestohlen oder sonstiges unbefugter Zugriff hat stattgefunden.
Hier kommt Cerberus zum Zuge und verkörpert das Glück im Unglück. Tracking, Sperren, Löschen, Alarm, über 30 Funktionen stehen zur Verfügung und können es dem unerwünschten Nutzer echt schwer machen. Die Funktionen werden über ein Webinterface gesteuert und per Internet an die App auf dem Handy geschickt. Alternativ können auch SMS Befehle verschickt werden. Das Handy ist also unter Kontrolle, solange die SIM des Besitzers eingelegt oder irgendein Internetempfang aktiv ist. Nun kann ein Dieb natürlich die SIM wechseln – Cerberus sendet beim SIM Wechsel automatisch alle Informationen der neuen SIM an vorher definierte Kontakte, inklusive Standort.
Fehlerhafte Entsperrversuche werden ebenfalls inklusive Foto der Frontkamera an den Besitzer gemeldet, wenn aktiviert.

Hinweis: Für Cerberus auf Xiaomi Smartphones müssen 2, 3 Einstellungen angepasst werden, ich habe das in diesem Artikel zusammengefasst.

Anti-Datenverlust

Ich weiß, ein seltsames Synonym für „Backups„. Die Möglichkeiten sind hier recht abhängig vom Hersteller, den zu sichernden Daten, deinem Datenschutzempfinden und dem Root-Zustand des Geräts.

Meine generelle Vorgehensweise ist an eine „Taktik“ angelehnt: Ich lasse so viel es geht in die Cloud speichern. Android sichert automatisch viel in die Cloud – Kontakte, Notizen, Kalender, Systemeinstellungen, WLAN Passwörter und neuerdings auch App-Daten. Google Fotos schickt jedes neue Foto in die Wolke. In allen Apps aktiviere ich wenn möglich diese Art von Datensicherung.

Lokale Sicherungen mit Root Zugriff eröffnen eine breite Palette von Tools und Apps wie beispielsweise Titanium Backup. Ich habe bisher nur einmal gerootet und Android wenige Monate später neu installiert. Seitdem lasse ich die Finger davon. 

Das Sichern von App-Daten war bis vor einigen Monaten nur recht umständlich mit Helium möglich. Mittlerweile kann das Android aber auch selbst, in den „Sichern & Wiederherstellen“ Einstellungen werden neben 17 Systemeigenschaften jetzt auch App-Daten-Backups angeboten. Alle Apps oder bestimmte Apps lassen sich hier sichern.

Alle Handyhersteller (die ich bisher gesehen habe) haben auch ein eigenes Backup-Tool. Oftmals sind die Backups in einem eigenen Format, teilweise auch mit Backup in die Cloud. Schaut euch einfach mal um, es ist vermutlich eine solche App vorinstalliert. Die Backups können aber vermutlich nicht auf Geräten anderer Hersteller wiederhergestellt werden. Trotzdem ist ein Notfallbackup hier sinnvoll.

Solltet ihr noch weitere dateibasierte Daten haben, die nicht schon durch irgendwelche Apps gesichert werden, geht das natürlich recht einfach über USB und dann entweder direkt über den Explorer oder mit Tools wie MyPhoneExplorer oder ähnliche.

Anti-Werbung

Es ist zwar keine klassische Sicherheitsmaßnahme aber Werbung kann nervig sein, Webseiten verlangsamen, Datenvolumen verbrauchen und eben auch Schadsoftware verbreiten. Mit nur einer App können alle Probleme behoben werden: AdGuard für Android. Einfach installiert und eingerichtet, gefiltert werden Werbungen im Browser und In-App (teilweise) sowohl über HTTP und HTTPS, größere Datenmengen werden gespart und der Webseitenaufbau ist klar erkennbar schneller. Ich kann das nur empfehlen, die Kosten für eine lebenslange Lizenz (vor allem bei 2, 3 oder mehr Lizenzen) sind voll okay.

Bei Kinder- bzw. Jugendschutzprogrammen ist es eine sehr wichtige Funktion: Das Starten einzelner Programme verhindern oder nur bestimmte Programme zulassen und alle anderen blockieren. Das lässt sich händisch jedoch auch ohne eingekaufte Zusatzsoftware in wenigen Minuten einrichten:

Mit der Registry nur bestimmte Programme zulassen

Sucht in der Registry nach dem Schlüssel:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies

Ihr erstellt nun einen Schlüssel „Explorer“ unter „Policies“ und einen DWORD-Wert „RestrictRun“ mit Wert „1“. In „Explorer“ erstellt ihr dann noch einen neuen Schlüssel „RestrictRun“ und könnt hier nun beliebig viele Zeichenfolgen erstellen. Jede Zeichenfolge steht für ein erlaubtes Programm. Alle Programme, die hier jetzt nicht gelistet sind, dürfen auch nicht mehr gestartet werden*. 
Der Name der Zeichenfolge ist eine fortlaufende Nummerierung und als Wert wird der Dateiname des Programms gesetzt. Die Änderungen werden beim Ab- und wieder Anmelden bzw. Neustart für den Nutzer aktiv. 

Einstellungen unter HKEY_CURRENT_USER gelten nur für den gerade angemeldeten Nutzer. Daher muss der Vorgang für jeden Nutzer, der eingeschränkt werden soll, innerhalb dessen Anmeldung gemacht werden. Oder ein Admin setzt die Einstellungen via HKEY_USERS, mehr dazu im letzten Abschnitt. 

Zum Testen empfehle ich, regedit.exe mit einzutragen. Somit könnt ihr auch in dem eingeschränkten Benutzer die Einstellungen noch via regedit.exe anpassen. Für den finalen Einsatz sollte regedit.exe unbedingt nicht erlaubt sein (also nicht auf der Liste stehen), weil der Nutzer sonst die Einstellung aushebeln könnte.

*RestrictRun blockiert nur Programmstarts über den Nutzerkontext des eingeschränkten Nutzers. Heißt: Systemkomponenten, Dienste oder Programme, die über einen anderen Nutzerkontext geladen werden, wie die CMD oder der Taskmanager, werden nicht blockiert. Das ist ganz gut, damit Treiber, Sicherheitsprogramme und andere kritische Windows-Komponenten weiterhin funktionieren. Prüft vorher das eingeschränkte Konto auf die gewünschten Einschränkungen.

Woher bekomme ich die Dateinamen meiner Programme?

Das ist relativ einfach, zwei Wege kurz beschrieben:

  1. Rechtsklick auf jede Verknüpfung, beispielsweise auf dem Desktop oder im Startmenü -> Eigenschaften und dort steht am Ende von „Ziel“ die ausführende Datei.
  2. Während das Programm geöffnet ist im Tastkmanager Rechtsklick darauf -> Eigenschaften und dann steht der Dateiname neben dem Programmicon. Eventuell müsst ihr den Programmlistenpunkt aufklappen und die Dateinamen der Unterpunkte somit auslesen, sollten es mehrere sein.

Via Registry bestimmte Programme blockieren

Das Blockieren einzelner Programme funktioniert nun fast genauso. In „Explorer“ wird nun ein Schlüssel und ein DWORD-Wert namens „DisallowRun“ erstellt. Im Schlüssel dient wieder eine Liste von Zeichenfolgen für die Aufzählung von Programmen bzw. deren ausführbaren Dateien. Die in der Liste eingetragenen Programme dürfen nicht mehr gestartet werden, alle anderen sind noch erlaubt.

  1. regedit.exe, SystemSettings.exe, SystemPropertiesAdvanced.exe, mmc.exe und weitere Systemtools solltet ihr vielleicht sperren. Vor allem, wenn ihr dem eingeschränkten Nutzer zutraut, euren Schutz umgehen zu wollen.
  2. Die Einstellungen setzt ihr beim ersten Login noch über die regedit.exe, ab dem zweiten Login werden Änderungen dann aber via Adminkonto gesetzt, da ja regedit.exe nicht mehr zugelassen sein sollte. Siehe letztes Kapitel.

Administration der Einstellungen außerhalb des eingeschränkten Nutzers

Ist ein Nutzer erst einmal eingeschränkt, wird die Administration schwierig. Wenn nur bestimmte Programme zugelassen sind, regedit.exe jedoch nicht, lässt sich nicht so einfach etwas ändern.
Hier empfiehlt es sich, die Einstellungen vor dem Login dieses Nutzers durch einen anderen Nutzer (mit Administrationsrechten) anzupassen.

Die benutzerspezifischen Inhalte des HKEY_CURRENT_USER können auch über einen anderen Nutzer via HKEY_USERS/[SID] eingesehen und geändert werden. Die SID des gewünschten Nutzers kann über die CMD ausgelesen werden:

REM// aktuell angemeldeter Nutzer:
C:\Users\Hannes>wmic useraccount where name='%username%' get sid
REM// SID
REM// S-1-5-21-3483483838-1959189235-3432330904-1001

REM// beliebiger Nutzername
C:\Users\Hannes>wmic useraccount where name='Hannes' get sid
REM// SID
REM// S-1-5-21-3483483838-1959189235-3432330904-1001

Mit dieser SID könnt ihr dann aus jedem Adminaccount heraus die Registry und den RestrictRun / DisallowRun Eintrag des Nutzers anpassen. Einfach die gewünschten Programme eintragen, als Nutzer anmelden, diese nutzen. So lassen sich die Einstellungen übrigens auch in Masse aus einem Account heraus einstellen und der Prozess auch einfach per Skript automatisieren und auf beliebig viele Nutzer ausrollen.

windows-restrictrun-start-whitelist-einrichten-sid-hkey-users
Über die CMD die SID eines Nutzers auslesen und seine Registry anpassen

Ich hatte letztens den einfachen Wunsch, auf meinem Android Smartphone alle paar Stunden ein anderes Hintergrundbild zu sehen. Ich wollte hierbei möglichst eigene, private Bilder mit beliebigen anderen frei zugänglichen Hintergründen kombinieren. Zudem sollte es möglichst einfach sein, neue private Bilder hinzuzufügen – also ohne PC-Verbindung oder irgendeinen Cloud Account.

android-changing-wallpapers-einfach-einrichten-play-store
QHD Wallpapers im Google Play Store

Mit der App QHD Wallpapers bin ich mittlerweile sehr zufrieden und nutze sie aktiv. Anfangs habe ich drei verschiedene Apps gegeneinander verglichen und QHD Wallpapers ging als Sieger hervor. 

QHD Wallpaper – 10.000+ Bilder in 44 Kategorien und auch noch einfach zu benutzen

Die App ordnet ihre enthaltenen Hintergründe in unterschiedlichen Ansichten: Kategorien, Aktuelle, Zufällig und Beliebt – letzteres jeweils für Woche, Monat und Allzeit. In den Kategorien sind die über 10.000 Bilder in derzeit 44 Gruppen gegliedert, das erleichtert die Suche nach bestimmten Motiven. Jedes Bild ist mit einem Download-Zähler versehen. Leider lässt sich innerhalb von Kategorien nicht nach Downloadanzahl sortieren.
Aktuelle, Zufällig und Beliebt sind soweit klar und ermöglichen interessante Funde und Best Ofs. Insgesamt eine gute Organisation für die große Menge an Bildern.

Die Bilder an sich sind in einer guten Qualität. Trotz „HD Qualität“ und teils großen Auflösungen, legt QHD Wallpapers Wert auf optimierte Dateigrößen. Von 14 Bildern aus der QHD Bibliothek ist das größe 1MB groß und alle 14 Motive zusammen 8MB. Hier kann man sich also schonmal ausreichend mit feinen Gemälden eindecken. Die Bilder können außerdem auch geliked werden und erscheinen dann im Menü unter „Liked images“. Teilen, Tags ansehen und natürlich direkt als Hintergrund einrichten geht natürlich auch.

„Auto Wallpaper“ – regelmäßig automatisch wechselnde Hintergründe

Im Menü findet sich dann noch ein „QHD Auto Wallpaper“ Punkt, über den sich die Auto Wallpaper Funktion einrichten lässt, die in gewünschten Zeitabständen ein anderes Wallpaper aus einem definierten Ordner lädt.
Somit kann hier für rege Abwechslung gesorgt werden.

Alle Bilder werden in einen lokalen Ordner gespeichert, wodurch auch eigene Fotos einfach in den Ordner kopiert werden können. Einzige Voraussetzung, damit es gut funktioniert: Die eigenen Bilder müssen vorher auf den gewünschten hochkant Bildausschnitt zurechtgetrimmt werden, sonst sieht es vermutlich doof aus. 

Eigene Fotos in Wallpaper umwandeln

Der Zuschnitt ist aber gar nicht so schwer. Sowohl die auf vielen Androids bereits vorinstallierte Google Fotos App, als auch QuickPic, mein Bildbetrachter, können Hochkantausschnitte mit festen Seitenverhältnissen erstellen. Hier die Bedienung dazu:

Anschließend wird das neue Hochkant-Foto in den „QHD Wallpapers“ Ordner kopiert, in der obersten Ebene eurer Speicherkarte, zu den anderen Wallpaper von QHD. Der Auto Wallpaper wird dann eure Fotos mitrotieren. 

beliebig-viele-pdf-dateien-auf-einmal-drucken-unsplash-teaser

Das Drucken vieler Dokumente auf einmal klingt simpel, hat im Detail jedoch kleine Tücken. Windows bietet bei mehreren markierte Dateien im Kontextmenü „Drucken“ an, jedoch Vorsicht: Je nach Dateityp und Anzahl der Dateien steht diese Option vielleicht nicht zur Verfügung.

Empfehlung: Software mit vielen Features

Ich war selber überrascht, wie anstrengend es ist, nur mit Windows Boardmitteln viele Dateien auf einmal zu drucken. Fazit: Maximal 15 Dateien eines Dateityp desselben Ordners … sehr limitierte Möglichkeiten. Am besten greift man hier zu Software, mit der das kein Problem mehr ist. Wer das nicht möchte oder keine Installationsrechte hat, kann die folgenden Überschriften für die manuellen Vorgehensweisen lesen.

Ich empfehle an dieser Stelle die Freeware Print Conductor. Diese hat eine besonders einfache Oberfläche, unterstützt über 75 Dateiformate und druckt mit nur 3 Klicks alle gewünschten Dateien aus. Das Tool kann jedoch noch viel mehr: Import/Export von Drucklisten, Druckeinstellungen für jedes Dokument unterschiedlich, Druckeinstellungen in einer .ini Datei und somit übertragbar, Deckblätter, Schätzen der Seitenanzahl, Druck-Berichte – hier bleiben keine Wünsche offen.

beliebig-viele-dokumente-auf-einmal-drucken-print-conductor-freeware
Freeware Print Conductor druckt einfach viele Dokumente auf einmal

Müsst ihr das Drucken von Dokumenten im sehr großen Stil fahren oder gar komplex automatisieren? Dann hilft vielleicht auch 2Printer, ein Kommandozeilentool mit ähnlichen Möglichkeiten. Zwei weitere Artikel meines Blogs zum Thema Drucker in Kommandozeilen hier.

Wie es komplett ohne Helfertools geht? Im Folgenden erläutert für PDF, Word, Excel und Bilder.

Manuell: Mehrere PDFs drucken

Bei PDF-Dokumenten werden alle markierten Dateien auf dem Standarddrucker mit den Standardeinstellungen gedruckt. Weitere Druck-Dialoge oder Druck-Anpassungen vorher sind nicht möglich, der Druck erfolgt sofort. Zusätzlich funktioniert das nur bis maximal 15 selektierten PDFs in einem Ordner, ab 16 markierten Dateien verschindet die Option. Beide Probleme lassen sich aber mit derselben Methode umgehen.

beliebig-viele-pdf-dateien-auf-einmal-drucken-pdf-explorer
Explorer Rechtsklick-Kontextmenü bei 15 und 16 markierten PDFs

Lösung bei PDFs: Hier hilft nur das Zusammenfügen aller Dokumente zu einer einzigen PDF, um diese dann zu drucken. Somit lassen sich beliebig viele PDFs auf einmal mit der Möglichkeit der Druck-Anpassung vorher drucken. Das ist glücklicherweise mit Tools wie der Freeware PDFsam Basic sehr einfach zu bewerkstelligen. So geht es: Einfach im „Zusammenführen“ Modus alle gewünschten PDFs in das Fenster ziehen, Zielordner wählen, „Start“ drücken und fertig. Noch einfacher: Dateien markieren -> Rechtsklick -> Senden an -> PDFsam Basic -> Zusammenführen.

mehrere-beliebig-viele-pdf-dokumente-auf-einmal-drucken-pdfsam
PDFs zusammenführen mit PDFsam

Andere Dateitypen drucken

Bei Office-Dokumenten verhält es sich ähnlich: Bis zu 15 Dokumente desselben Dateityps (z.B. xlsx) im selben Ordner lassen sich über das Kontextmenü jeweils drucken, ab 16 verschwindet die Option. Hier müssen die Dateien wieder kombiniert werden, in Word über Einfügen -> Objekt -> Text von Datei. Excel kann manuell über Daten -> Daten abrufen -> Aus Datei mehrere Dokumente z.B. in seperate Tabellenblätter laden, alternativ gibt es Makros und Skripts für das automatische Mergen vielen Excel-Dateien. Wirklich nutzerfreundlich ist das alles nicht, aber letztlich funktioniert es.

Einfacher ist es dagegen bei Bilddateien unterschiedlicher Dateitypen. Diese können über das Kontextmenü gedruckt werden, selbst wenn mehr als 15 Dateien unterschiedlicher Bildformate ausgewählt wurden. Außerdem erscheint vor dem Druck ein eigener Dialog, der es ermöglicht, Druckeinstellungen anzupassen und z.B. Collagen zu drucken:

mehrere-beliebig-viele-pdf-dokumente-auf-einmal-drucken-bilder
Mehrere Bilddateien drucken mit „Windows Bilder drucken“

Fazit bleibt: Hier könnte Windows unbedingt nachbessern und einen umfangreicheren Druckservice anbieten, unabhängig von Anzahl, Typ und Ort der Datei sowie unabhängig von der Art der Ausgabe (Drucken, „To PDF“ usw.). Bis dahin sind Softwares wie Print Conductor schon die beste Möglichkeit für größere Druckvolumen.

Ich habe leider im Sommer diesen Jahres mein Handy im See versenkt. Nein, es war kein Produkttest eines wasserfesten Telefons – „huch“, weg und futsch. Doof gelaufen. Aber dafür hat man ja schließlich Cloud-Backups, richtig? Nur doof wenn nicht… Ich habe dank Google automatisch schon viele Daten in der Cloud – Systemeinstellungen, Kontakte, WLAN-Logins, den ganzen Kleinkram eben. Aber Fotos, Videos und Whatsapp Medien habe ich aus Speicherplatzmangel und Privatsphärebedenken nicht in die Cloud gehoben. Nun ist alles weg und ich ärgere mich. Zeit für eine Lösung!

luckycloud-sicherer-deutscher-cloud-speicher-im-test-imgix-404361-unsplash

Cloud Services made in Germany

Warum also nicht ein Cloudanbieter, aus Deutschland, datenschutzrechtlich sicher und verschlüsselt, mit flexiblen Kosten, ohne Abstrichen bei den Features? Volltreffer!
luckycloud ist ein junges Berliner Unternehmen und bietet deutsche und sichere Cloud-Dienstleistungen an: Aktuell handelt es sich um sicheren Speicherplatz, E-Mails und Kollaborationstools. Außerdem bietet luckycloud schon eigenes Webhosting an (noch nicht offiziell, schreibt eine Mail bei Interesse) und arbeitet gerade an einem Kalender und einer Kontaktsynchronisation. Im Vergleich zu anderen Anbietern hat luckycloud jedoch ein Fokus auf Datenschutz und Sicherheit. Mehr dazu später. Grundsätzliches Interesse? Aktuelle Angebote ermöglichen noch bis Mitte September einen Rabatt.

Weiterlesen

gmail-mails-aelter-als-x-tage-automatisch-loeschen-labels-banner-nong-vang-427138-unsplash-s

Alte Mails automatisch löschen

Im vorletzten Artikel habe ich über das Aufräumen von Speicherplatz in GMail gesprochen. Es ging darum, Mail-Anhänge herunterzuladen und damit besonders große Speicherfresser loszuwerden. Der heutige Artikel wird primär aufräumen, weniger den Fokus auf Mailgröße.

Es geht im Detail darum, alte Mails loszuwerden, flexibel konfigurierbar. GMail selbst löscht Mails nur aus dem Papierkorb automatisch – Mails älter als 30 Tage werden dauerhaft gelöscht. Leider wird diese Funktionalität nicht für alle anderen Mails angeboten. Dies lässt sich jedoch nachrüsten, mit Google Apps Scripts, einer eigenen Programmiersprache von Google, ähnlich Javascript.

Ziel soll es sein, alte Mails bestimmter Labels automatisch nächtlich löschen zu lassen. Dabei lassen sich die Labels und die Anzahl der Tage für jedes Label beliebig einstellen. Die Reinigung kann entweder manuell oder eben täglich ausgeführt werden, wie es eben gerade gebraucht wird.

Anleitung

Dafür habe ich als Grundlage ein Skript von labnol.org genommen und erweitert. Das neue Skript könnt ihr hier öffnen und anschließend benutzen:

  1. Wartet ein paar Sekunden, bis die Seite mit dem Skript fertig geladen ist.
  2. Startet Run -> Run function -> Initialize: Hierbei wird ein Popup von euch die Berechtigungen erfragen („Review permissions“), die das Skript braucht. Es öffnet sich dann ein Popup, ihr wählt den gewünschten GMail Account aus -> setzt fort mit „Erweitert“/“Advanced“ -> Sicherheitshinweis bestätigen -> Rechte mit „Erlauben“/“Allow“ bewilligen, fertig eingerichtet.
    Genau genommen wird das Bearbeiten eurer GMail Daten bewilligt, was zum automatischen Löschen eurer Mails nötig ist. Keine Sorge, hier passiert kein Mist, kein Datenscreening, der komplette Code ist unten oder im Skriptfenster selbst für euch einsehbar. 
    Die erteilten Berechtigungen könnt ihr jederzeit im Sicherheitscheck „Zugriff durch Drittanbieter-Apps“ nachsehen:
    gmail-mails-aelter-als-x-tage-automatisch-loeschen-labels-permissions
  3. Folgende Funktionsweise:
    Ganz oben die Variable PURGE_SETTINGS enthält, Komma getrennt, alle Labels jeweils mit der Anzahl an Tagen hinter dem Doppelpunkt, alles in einem paar geschweifte Klammern.
    var PURGE_SETTINGS = { „Auto“: 2000, „Deals“: 365 }
    würde demnach im Label Auto alle Mails, die älter sind als 2000 Tage und alle Mails innerhalb von Deals älter als 1 Jahr, löschen.
    Die Zeile
    var TEST_PURGE = „yes“;
    bestimmt, ob die Ausführungen nur testen, also keine Mails tatsächlich löschen. Bei „yes“ wird ein Durchgang simuliert, über den Logger (STRG+Enter oder View->Logs) erhaltet ihr dann alle Infos der Ausführung. Wird hier ein beliebiger anderer Wert eingetragen, z.B. „no“, werden Mails auch gelöscht.
  4. Legt nun also los, schreibt die PURGE_SETTINGS für eure Labels um (es geht auch nur 1 Label, ohne Komma am Ende dann), belasst TEST_PURGE erst einmal auf „yes“ und startet das Skript über Run -> Run functions -> purgeGmail.
    Eine gelbe Infomeldung über dem Code zeigt euch, dass das Tool läuft, solange es läuft. Verschwindet die Info, könnt ihr euch im Logger (STRG+Enter oder View->Logs) die Ergebnisse anschauen. Enthalten sind Infos wieviele Konversationen pro Label gefunden wurden und wieviele Mails gelöscht worden wären. Es sind meist mehr Mails als Konversationen, da GMail Mails mit gleichem Betreff einer Konversation zuordnet. Mögliches Resultat im Logger:
gmail-mails-aelter-als-x-tage-automatisch-loeschen-labels-logger

400 – Limit

Das Bild zeigt direkt die Schwäche des Skripts: Es kann pro Ausführung maximal 400 Konversationen löschen, welche jedoch beliebig viele E-Mails pro Konversation enthalten können. Das Limit ist technisch bedingt durch die API – bis 500 konnte ich gehen, aber ich wollte einen Sicherheitspuffer. Hier kann man mit „paged calls“ ansetzen, also mehrere Aufrufe nacheinander triggern, was jedoch in diesem Aufbau, in dem mehrere Labels bearbeitet werden, zu komplex ist.

In einem Label mit zigtausenden alten Mails, muss das Skript also erst mehrfach durchlaufen. Wenn ein Durchlauf in einem Label mehr als 400 Konversationen findet, wird eine weitere Suche nach der Bereinigung durchgeführt und die Restanzahl angezeigt. Ist diese erneut 400, sind es wohl noch mehr Konversationen und weitere Durchläufe sind nötig.

2 Möglichkeiten:

  1. Wenn ihr es eilig habt, dann könnt ihr einfach mehrfach nacheinander Run -> Run function -> purgeGmail ausführen. Jede Ausführung aber zu Ende arbeiten lassen, bis die gelbe Notification weg ist. Prüft ruhig nach jedem Durchlauf euer GMail parallel, dass dort die Anzahl der Mails weniger wird.
  2. Installiert das Skript einfach über Run function -> Install und lasst es in Ruhe. Nachts wird es ausgeführt und löscht 400 Konversationen. Das macht es nun jede Nacht und irgendwann sind dann alle Mails weg, egal wieviele es waren.


Code

Hier jetzt noch der Code – wenn es Fragen gibt, schreibt ein Kommentar oder mir eine Mail und wir klären das. Die API-Dokumentation von Google ist ein guter Anlaufpunkt bei Fragen zu den Google-basierten Funktionen.

Der Quelltext hier hier einsehbar: Code anzeigen

// Hint: Execution will generate logs for you to see whats going on - view logs with CTRL+Enter or View -> Logs at any time (while execution or after it, Logs are saved until the next run).

// format needed   = { "Barketing": 800, "Auto & mehr": 365 } - would delete mails from label "Barketing" if older than 800 days and from "Auto & mehr" if older than 1 year.
// If you encounter problems detecting label mails: If your Label contains whitespace or other non-alphabetical characters, please go to GMail, open (click on) your label and look into the search bar. 
// Here you will see your label name that you need to put in here. It might be "test-label" for "Test Label" or "car---more" for "Car & more". For me, both label naming types worked well but maybe it helps in special cases.
var PURGE_SETTINGS = { "Barketing": 800, "Auto & mehr": 365, "versicherung---vorsorge": 50 }

// set this to "yes" to run a purge without deleting emails. The function will just detect how many emails would be affected and print the count to Logger (CTRL+ENTER or View -> Logs)
// assign any other value to run a real purge.
var TEST_PURGE = "yes";

/*
  
  For more details, refer https://it-stack.de/15/08/2018/gmail-mails-aelter-als-x-tage-automatisch-loeschen
  
  Original script from: http://labnol.org/?p=276053
  Modified by: Hannes Schurig (Aug 2018), https://it-stack.de
  
  T U T O R I A L
  - - - - - - - - 
  
  Step 1. Update the values of fields PURGE_SETTINGS and TEST_PURGE above.
  
  Step 2. Go to Run -> Run function -> Initialize and authorize the script.
  
  Step 3.  Go to Run -> Run function -> Install to install the script. It will be executed every night.
  Step 3.1 Or run it manually: Run -> Run function -> purgeGmail
  
  Also, you may go to Run -> Uninstall to stop the purging script.

*/

function Intialize() {
  return;
}

function Install() {
  // start right after install, wait a minute to take effect, view Logs (CTRL+Enter) to look for execution
  ScriptApp.newTrigger("purgeGmail")
           .timeBased()
           .at(new Date((new Date()).getTime() + 1000*10))
           .create();
  // install for daily execute (at night around 1am)
  ScriptApp.newTrigger("purgeGmail")
           .timeBased().everyDays(1).create();
}

function Uninstall() {
  var triggers = ScriptApp.getScriptTriggers();
  for (var i=0; i<triggers.length; i++) {
    ScriptApp.deleteTrigger(triggers[i]);
  }
}

function purgeGmail() {
  for(var label in PURGE_SETTINGS) {
    var purgeDays = PURGE_SETTINGS[label],
        count = 0,
        maxAge = new Date();
    maxAge.setDate(maxAge.getDate() - purgeDays); 
    var purgeBefore  = Utilities.formatDate(maxAge, Session.getScriptTimeZone(), "yyyy-MM-dd"),
        search = "label:" + label + " before:" + purgeBefore;
    
    Logger.log("Looking at label '" + label + "' and purge mails older than " + purgeDays + " days (before " + purgeBefore + ")...");
    if (TEST_PURGE === "yes") {
      Logger.log("Test_purge active, no e-mails will be deleted. You can view the amount of affected mails in the Logger (CTRL+ENTER).")
    }
    
    try {
      var threads = GmailApp.search(search, 0, 400);
      
      Logger.log("Threads: "+threads.length);
      if (threads.length == "400") {
        Logger.log("Maximum threads (and possibly more applicable mails) for label '" + label + "' and " + purgeDays + " days, run it multiple times to purge all.");
      }
      
      for (var i=0; i<threads.length; i++) {
        var messages = GmailApp.getMessagesForThread(threads[i]);
        for (var j=0; j<messages.length; j++) {
          var email = messages[j];       
          if (email.getDate() < maxAge) {
            if (TEST_PURGE !== "yes") {
              email.moveToTrash();
            }
            count++;
          }
        }
      }
      
      Logger.log("Label '" + label + "' purged, deleted " + count + " mails.");
      
      if (threads.length == 400) {
        var threads2 = GmailApp.search(search, 0, 400);
        Logger.log("Remaining threads after this purge: "+threads2.length);
        if (threads2.length == "400") {
          Logger.log("Maximum threads of 400 (and possibly more applicable mails) for label '" + label + "' and " + purgeDays + " days even after this purge, run it multiple times to purge all.");
        }
      }
      
    } catch (e) {
      Logger.log("Error: " + e);
    }
    
    Logger.log("############################### Label done");
  }
}

Gibt es noch Privatsphäre bei Google?

Themen wie Datensammler und Privatsphäre bei Google sind immer in der Diskussion. Eines dieser Themen, wenn auch ein alter Hut, möchte ich heute als Einstieg in die Google Privatsphäre-Überprüfung nutzen. Gestern sah ich ein Video, in dem es um die „Anschuldigung“ ging, dass Google dauerhaft und heimlich alle verfügbaren Audioquellen anzapft, verarbeitet und Werbung daraufhin ausrichtet. Laptopmikro, Headset, Android Smartphone, solche Mikros als Quellen. Hier das Video:

Klarer Hinweis: Der Autor hat selbst in seinen Video-Anmerkungen darauf hingewiesen, dass der Test nicht wissenschaftlich genug war. Der Youtube Stream dieses Versuchs könnte Schuld gewesen sein. Ein anderes Video, als Antwort auf den ersten Test, geht wissenschaftlicher vor, hat aber ebenfalls Schwächen in der Ausführung. Der Autor dieses Videos bemerkt die zeitliche Verzögerung der Auswirkungen und die Art des Werbungstests und in den Kommentaren gibt es weitere Hinweise.

Daten kontrollieren und Datensammler einschränken

Google sammelt viele Daten, kein Zweifel. Trotz allem: Einige Datensammler lassen sich konfigurieren oder deaktivieren, viele von euch vorhandenen Daten zeigt euch Google ebenfalls. Dafür gibt es einige Seiten, Tools und Einstellungsdialoge, die ihr unbedingt als starker Google Nutzer kennen und benutzen solltet. Ihr müsst für die folgenden Links mit eurem Google Account angemeldet sein:

  1. Zentrale Schaltstelle ist die Seite eures Google Accounts, in diesem Artikel mit Fokus auf die Kategorie „Persönliche Daten & Privatsphäre“. Schaut euch alles mal an, gibt viel zu Entdecken.
  2. Zum Thema: Die Seite eurer Aktivitätseinstellungen. „Aktivitäten“ sind also Seite und Bereiche, in denen ihr Daten generiert. Hier konfiguriert ihr:
    1. die Unterkategorien Web- und App-Aktivitäten (Chrome-Verlauf und mehr) über alle verbundenen Geräte dieses Google Kontos hinweg,
    2. den Standortverlauf (wann wart ihr wo wie lange usw., Deaktivierung überlegungswert),
    3. die Geräteinformationen (enthält Cloud-Daten eurer Mobilgeräte, sollte aktiviert bleiben), 
    4. die Sprach- & Audioaktivitäten, vor allem mit Blick auf diesen Artikel zu überdenken, ob man Google das erlaubt – wobei es offiziell nur aktiv ist, wenn „Ok Google“ oder das Mikrofonsymbol benutzt wird, also mit Nutzerinteraktion,
    5. sowie zwei Youtube Settings, den Suchverlauf und Wiedergabeverlauf.
  3. Diesen Punkt habe ich in einem anderen Artikel schon einmal im Detail beschrieben und Tipps gegeben, aber der Vollständigkeit halber und da es leichte Änderungen gibt: Der Privatsphärecheck durchläuft 6 Schritte: Die genannten Aktivitätseinstellungen von Punkt 2, Einstellungen von Youtube Settings und Google Fotos, Erreichbarkeit/Auffindbarkeit, Google Plus sowie Werbungseinstellungen (Personalisierte Werbung usw.)
  4. Diese Übersicht enthält alle eure Aktivitäten (also von Google gesammelte und frei einsehbare Daten), schaut hier mal durch, ob ihr Inhalte findet, die ihr nicht gesammelt haben wollt. Anpassungen dann siehe Punkt 2 und 3.
  5. Weiter unten auf der „Persönliche Daten & Privatsphäre“ Seite werden weitere Informationen über euch angezeigt, damit verbunden einige weitere Einstellungsseiten. Unter anderem eure „Über mich“ Seite, Sozialen Empfehlungen und allgemeine Sucheinstellungen.
  6. Außerdem: Das Dashboad – ein großes Tool mit zentraler Bedeutung. Es enthält noch einmal alle Daten und Einstellungen eures Accounts in einer großen Übersicht, von der aus ihr schnell und einfach diese Daten einsehen könnt.
  7. Ihr könnt sehr einfach von allen Daten ein Backup erstellen – einfach so zur Sicherheit oder bevor ihr beispielsweise eure Google Einstellungen ändern oder den Google Account schließen wollt.
  8. Letzter interessanter Punkt, den ich auch noch nicht kannte: Der Kontoinaktivitäts-Manager. Diese(r) Manager, also letztlich Personen/Kontakte, erhält Zugriff auf deinen Google Account, wenn du diesen für eine definierte Zeit (3-18 Monate) nicht verwendest. Die schlüssigsten Erklärungen dafür sind: Google komplett den Rücken zugekehrt ohne vorher zu löschen, schwere Krankheit / Gedächtnisverlust o.Ä. und Tod. Ich halte es also für keine schlechte Idee, die wichtigste(n) Person(en) von euch (Eltern, Familie, Frau/Mann…) dort zu registrieren. Es könnte den „Hinterbliebenden“ (in welcher Form auch immer) in dem Moment weiterhelfen.

Soweit… Ich denke mal die wichtigsten Punkte der Privatsphäre sind angesprochen. Über den Bereich „Anmeldung & Sicherheit“ in eurem Konto lässt sich ebenfalls viel erzählen, aber das in einem gesonderten Artikel.