Stefan Lehmann
Veröffentlicht am in Apps

Öffentliche, private und vertrauliche Kalenderereignisse und wie man sie richtig nutzt

Wer heute ein Kalenderprogramm zur Verwaltung von Ereignissen nutzt, kann diese über einen iCal-Server auf verschiedenen Geräten verfügbar machen. Jederzeit hat man so seine Termine im Griff. Die Funktion des Servers übernehmen dabei häufig entsprechende Kalenderdienste von Apple, Google, Microsoft und vielen anderen Anbietern. Möchte man seine Kalender mit Kollegen oder Freunden teilen, bekommt man hier jedoch früher oder später ein gravierendes Problem in Sachen Privatsphäre.

So wie ich wird man sich fragen: Soll dieses oder jenes Ereignis meines geteilten Kalenders wirklich öffentlich sein oder was sagen die Kollegen, wenn ihre Kalender mit Terminen überschwemmen werden, die für sie keine Relevanz haben? Nach kurzem Überlegen hatte ich eine scheinbar simple Lösung. Ich nutzte einfach einen zweiten Kalender, in den alle Ereignisse wandern, von denen keiner zu wissen braucht. Sollen die Kollegen aber trotzdem wissen, dass ich an einem bestimmten Tag für eine gewisse Zeit nicht zur Verfügung stehe, habe ich mit diesem Lösungsansatz keine Chance. Ich müsste den betreffenden Termin schließlich doppelt im privaten und geteilten Kalender pflegen, was zwangsläufig zu Durcheinander bei Änderungen führt.

Eigentlich gibt es für dieses Szenario in der Spezifikation RFC 5545 dem Standard-Austauschformat aller Online-Kalenderlösungen, einen sinnvollen Ansatz. Hier wird die Accessclassification, also die Zugriffseinstellung genannt. Als Teil des grundlegenden Sicherheitssystems soll diese Eigenschaft dem Besitzer ermöglichen, den Zugriff auf einen bestimmten Kalendereintrag zu steuern. Dabei sind folgende drei Werte vorgesehen: „PUBLIC“ für öffentliche, „CONFIDENTIAL“ für vertrauliche oder „PRIVATE“ für private Events. Leider ist hier nicht klar definiert wie die programmseitige Umsetzung erfolgen muss, damit dieses Ziel erreicht wird oder was ein vertrauliches Kalenderereignis letztlich ist. Entsprechend unterschiedlich ist die Umsetzung in den Kalenderdiensten erfolgt.

Im Google-Kalender, also auch bei Android, kann man bei Events zwar den sog. „Datenschutz“-Status „Öffentlich“, „Standard“ und „Privat“ zuweisen. Der Google-Dienst auf der Serverseite interpretiert diese Eingaben jedoch nach ganz eigenem Gusto. Obwohl der „Standard“ dem Event die Eigenschaft CONFIDENTIAL zuweist, kann ein Abonnent mit entsprechenden Rechten im betreffenden Kalender alle Event-Details einsehen und diesen sogar updaten.

Apple macht es nicht besser, im Gegenteil. Aus welchem Grund auch immer, hält man hier seinen Kunden die Auswahlmöglichkeit für private und vertrauliche Events komplett vor. Es existieren auch keine alternativen Programme oder Apps zur Appleeigenen Kalenderverwaltung, die das Feature verfügbar machen würden. Alle potentiellen Alternativen setzen auf dieselbe Kalenderverwaltung von OS X und iOS auf und bieten insofern keinen Mehrwert.

Dabei ist es eigentlich naheliegend, wie die Funktionsweise umgesetzt werden sollte, um der Spezifikation zu genügen und mein eingangs beschriebenes Problem zu lösen. Anhand des Wertes „CONFIDENTIAL“ liefert der iCal-Server allen Abonnenten des geteilten Kalenders vertrauliche Ereignisse in „geschwärzter“ Form aus. Diese erscheinen im Kalender-Client als Einträge bei denen der Titel durch „XY ist beschäftigt“ ersetzt wurde. Außerdem werden die Angaben zum Ort sowie die Beschreibung, die ja Rückschlüsse auf das Ereignis erlauben würden, nicht ausgeliefert. Der Server verhindert eine Aktualisierung des betreffenden Kalenderereignisses, und zwar unabhängig von den individuellen Bearbeitungsrechten des Abonnenten im geteilten Kalender. Private Ereignisse werden überhaupt nur dem Besitzer des Kalenders ausgegeben. Auf diese Weise wird sichergestellt, dass die als nicht öffentlich deklarierten Event-Informationen den Server nicht verlassen, wenn es sich beim anfragenden Kalender-Client nicht um den Besitzer handelt.

Auf der Suche nach einer Lösung, die diese Funktionsweise zur Verfügung stellt, stolperte ich schon vor einiger Zeit über ownCloud. Bei dem aufstrebenden Open-Source Projekt auf Basis von PHP handelt es sich nach eigener Aussage um eine „Filesync- und -share-Lösung für Unternehmen und Organisationen“, die über eine Kalender-Schnittstelle (Cal-DAV) verfügt. Seit der Version 5 werden auch Privatsphäre-Einstellungen im Kalender unterstützt, allerdings auch hier noch nicht ganz ohne Inkonsistenzen. Dafür ermöglicht der frei verfügbare Source Code die Funktionsweise wie gewünscht anzupassen und für die fehlende Unterstützung durch Mac-Clients einen Workaround zu erstellen. Weiterer positiver Nebeneffekt: Man bleibt Herr seiner Daten, da das System auf einem eigenen Webspace/Server gehostet wird. Und neben der Kalender-Funktion bietet ownCloud noch einige weitere interessante Funktionen, die vielleicht ganz nützlich sind.

Eine angepasste Version der ownCloud-Calendar-Erweiterung (intern als App bezeichnet) kann hier heruntergeladen werden. Sie funktioniert mit der aktuellen ownCloud-Version (5.0.5). Zur Installation muss die mitgelieferte Calendar-App einfach ersetzt werden.

Für Kalender-Programme, die das CLASS-Attribut bereits unterstützen, muss man zur Funktionsweise eigentlich nicht viel sagen. Über die Einstellungsmöglichkeiten des Programms ändert man die Privatsphäre-Einstellung wie gewünscht ab. Das funktioniert für die Kalender-App unter Android 4 und im Thunderbird ganz wunderbar.

Für Mac-Nutzer, die keine Privatsphäre-Einstellungen vornehmen können, habe ich zwei Kürzel eingeführt, die dem Event-Titel vorangestellt werden. Der modifizierte ownCloud-Kalender-Server erkennt anhand des Kürzels „P: “ für PRIVATE und „C: “ für CONFIDENTIAL welche Privatsphäre-Einstellung definiert werden soll. Möchte man einen Privaten Event erstellen, den man im geteilten Kalender für sich behalten/geheim halten möchte, muss man z.B. „P: Mein privater Event-Titel“ als Titel angeben. Für Vertrauliche Ereignisse, bei denen alle anderen Abonnenten, nur erfahren sollen, dass man beschäftigt ist, aber nicht womit, muss man dagegen z.B. „C: Mein vertraulicher Event-Titel“ in das Titelfeld eintragen. Wird keines der Kürzel verwendet, erhält man ein öffentliches Kalender-Ereignis. Die Privatsphäre-Einstellung kann vom Besitzer jederzeit durch Hinzufügen, Entfernen oder Abändern der Kürzel angepasst werden.

Die Kürzel können übrigens auch in allen anderen Kalender-Clients genutzt werden.

Dieser Artikel wurde in Apps veröffentlicht.
Permalink speichern
Mehr Artikel von Stefan Lehmann

2 Kommentare zu “Öffentliche, private und vertrauliche Kalenderereignisse und wie man sie richtig nutzt

  1. Hallo,

    ich finde es super, dass sich endlich jemand darum gekümmert hat, dass die Umsetzung der Privatsphäre Modi möglich sind. Allerdings stellt sich die Frage in wiefern Updates mit dieser variierten Version möglich sind?
    Außerdem wäre es interessant, ob bzw. wie die Daten anderen Leuten angezeigt werden, die ebenfalls Schreibrechte haben – eigentlich würde man erwarten, dass aller Personen mit vollen Rechten (Lesen/Erstellen/Variieren/Löschen) auch alle Termine vollstänädig angezeigt bekommen. Wie ist das hier gelöst?
    Wenn das nicht der Fall ist: Wie können Termine verwaltet werden, die für eine Gruppe von Personen (bspw. den Vorstand und sein Sekretariat) vollständig eingesehen und bearbeitet werden können und von einer zweiten Gruppe nur eingesehen werden können – dann natürlich ohne Einblick in geschützte Termine, die jedoch von Sekretariat wie auch Vorstand eingesehen werden müssen…

    Vielen Dank

    Christopher

  2. Hallo!
    Funktioniert die Erweiterung auch mit der aktuellen Version? Bietet ihr die Einrichtung und Konfigurierung als Service an? Freu mich auf eine Nachricht 🙂

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *