Arbeit

Chief Operations & Security Officer bei Postiz

Postiz ist die Open-Source-Plattform zur Planung von Social-Media-Beiträgen. Das hier ist eine Rolle mit den Händen im Code, keine verwaltende.

#2
Beitragsrang, Postiz-Kern
405
Commits im Postiz-Kern
33
Advisories im öffentlichen Bestand
1.201
Commits über diese Repositories hinweg
15
Zugewiesene CVE-Kennungen

Every figure here is read from the system that owns it. Checked just now. Wie sie gezählt werden

Chief Operations & Security Officer

at Postiz · Remote, Germany

Aktuell 2024 - Present

Drei Maintainer. Fast die gesamte Umsetzung, dazu die vollständige Sicherheitsverantwortung.

Meine Verantwortungsbereiche

Security Engineering
Schwachstellenforschung, Architekturentscheidungen für sichere Voreinstellungen und die Prüfung, die stattfindet, bevor etwas ausgeliefert wird. Bisher 33 veröffentlichte Advisories und 15 CVEs, davon drei kritisch.
CNA-Betrieb
Postiz als CVE Numbering Authority mit MITRE als TL-Root betreiben. Zuweisung, Bewertung nach einem erklärten Maßstab, Verfassen von CWE-Ketten, Datensätze direkt gegen CVE JSON 5.1 und koordinierte Offenlegung über GHSA.
Trust, Fraud und Abuse
Missbrauch der Plattform erkennen und abstellen, dazu die Richtlinienarbeit, die festlegt, wo die Grenzen liegen.
Support und Community
Die gesamte Supportfunktion. Werkzeuge, Besetzung und die Antworten selbst. Die Brücke von Discord zu Intercom, die SLA-Uhr und die Abrechnungskonsole sind meine, und die Warteschlange auch.
CI/CD und Releases
Build-, Test- und Release-Pipelines und der Auslieferungsweg, den sie speisen. Die Dokumentationsseite und der Compose-Stack für die Auslieferung gehören ebenfalls hierher.
Überwachung
Fehlererfassung und Metriken, dazu die Alarmierungsrichtlinie darüber. Sentry für Fehler, eigene Prometheus-Exporter für das, was Sentry nicht sieht. Ob davon etwas nützt, entscheidet die Richtlinie.
Personalführung
Einstellung, Richtung und der Alltag eines kleinen Teams mit großer Fläche.

Detail

Was der Titel umfasst

Postiz lief rund zwei Jahre mit zwei Maintainern. Inzwischen sind es drei. In dieser Größe bedeutet ein C-Level-Titel kein Delegieren. Er bedeutet, dass die Arbeit deine ist.

Weiterhin im Code

Ich bin der zweitgrößte Beitragende zu postiz-app, mit 405 Commits. Die operative und die technische Rolle sind derselbe Job. Ich unterschreibe keinen Release-Prozess, den ich nicht gebaut habe, und kein Advisory, das ich nicht bewertet habe.

Der Sicherheitsbestand

33 veröffentlichte Advisories und 15 CVEs, davon drei kritisch, das höchste mit 10.0.

Zwei Häufungen dominieren. Acht Advisories betreffen Server-Side Request Forgery — was dabei herauskommt, wenn die Kernfunktion eines Produkts darin besteht, im Auftrag von Nutzern URLs abzurufen, die ein Angreifer beeinflussen kann. Drei betreffen Zahlungs-Callbacks, bei denen einem nicht authentifizierten Webhook zugetraut wurde, Berechtigungen zu vergeben.

Beide Häufungen brauchten strukturelle Antworten statt Korrekturen je Endpunkt. Das ist der Unterschied zwischen Funde schließen und die Rate senken, mit der sie eintreffen.

Die Plattform

Jede Postiz-Installation führt ihre Abläufe auf Temporal aus. Geheimnisse und Identität laufen über Vault: Raft-Speicher, eine vollständige PKI mit Root- und Intermediate-CAs, ACME-Ausstellung, dynamische Secrets Engines, OIDC über selbst betriebenes Authentik.

Die Überwachung ist Sentry plus selbst geschriebene Prometheus-Exporter, so eingestellt, dass eine Warnung bedeutet, dass tatsächlich jemand aufstehen sollte.

Support ist ein Engineering-Problem

Ich habe den Support-Stack bewertet, uns darauf umgestellt und dann einen Discord-Support-Bot von Grund auf geschrieben. Abrechnungssperre, Erstattungsabläufe, CSAT, Ratenbegrenzung, vorgefertigte Antworten.

Inzwischen ist daraus eine Brücke zwischen Discord und Intercom geworden, die die Inaktivitäts-Automatisierung, die SLA-Uhr und eine vollständige Stripe-Abrechnungskonsole trägt. Sein größtes Release hat den Großteil seiner eigenen Funktionen gelöscht, weil jeder Befehl auf Agentenseite eine schlechtere Fassung von etwas war, das Intercom bereits ordentlich konnte.

Das Supportaufkommen sagt einem, was am Produkt nicht stimmt. Das ordentlich zu erfassen lohnt sich.

Aktuell 2025 - Present

Das Dach für die GHub-Produktreihe und alles, was ich außerhalb von Postiz betreibe. Eine Person für Produkt, Code, Lizenzierung, Infrastruktur und Support.

Meine Verantwortungsbereiche

Produktrichtung
Was gebaut wird, in welcher Reihenfolge, und wichtiger noch, was draußen bleibt.
Engineering
Jede Zeile davon. Es gibt niemanden, an den sich die Arbeit abgeben ließe.
Plattform und Infrastruktur
Ein Proxmox-Cluster aus vier Knoten, in VLANs getrennt und durch Firewalls abgesichert. Vault für PKI und Geheimnisse mit Raft-Speicher und dynamischen Engines, selbst betriebenes Authentik für Identität über OIDC, und das Ansible, das alles reproduzierbar hält.
Sicherheit
Derselbe Maßstab, den ich an Postiz anlege, angewandt auf den eigenen Code. Advisories gegen die eigenen Produkte werden unter dem GSSA-Präfix veröffentlicht, mit Datum.
Lizenzierung und Kommerzielles
Wo die Open-Core-Linie verläuft, wie die Stufen geschnitten sind, und die rechtliche Seite davon, proprietäre Software auszuliefern.
Support
Denen antworten, die es benutzen — zugleich der schnellste Weg, herauszufinden, was kaputt ist.

Detail

Was es ist

Gelhaus Solutions ist das Dach für alles, was ich außerhalb von Postiz baue. Die GHub-Produktreihe erscheint darunter, die Community-Projekte gehören dazu, und die Infrastruktur, auf der das alles läuft, ebenfalls.

Es gibt kein Team. Produktrichtung, Code, Lizenzierung, Support und Rechnungen sind dieselbe Person.

Die Produktreihe

GHub ist der Grund, aus dem es das Unternehmen gibt. Sieben Apps unter diesem Namen, in sehr unterschiedlichen Stadien: GAdvisory ausgeliefert und im Produktivbetrieb, GeGroups ausgeliefert, GAnalytics berechnet sein erstes Modul, GControl und GPlatform sind gemeinsam im aktiven Bau, und GBoarse und DAnalytics sind gebaut, stehen aber nicht vorn in der Reihe.

Das Modell ist Open Core. Die Basisversion jeder App ist kostenlos, Pro und Enterprise sind es nicht, und alles steht unter einer proprietären Lizenz, an der ich sämtliche Rechte halte. Es ist nicht AGPL, und ich nenne es nicht Open Source.

Die Infrastruktur

Ein Proxmox-Cluster aus vier Knoten, in VLANs getrennt und durch Firewalls abgesichert.

HashiCorp Vault übernimmt Geheimnisse und PKI. Raft-Speicher, eine vollständige Zertifizierungsstelle mit Root und Intermediates, ACME-Ausstellung für alles, was ein Zertifikat will, und dynamische Secrets Engines, damit Zugangsdaten von vornherein kurzlebig sind statt nachträglich.

Authentik übernimmt die Identität, selbst betrieben, über OIDC mit Vault verbunden. Ansible hält das Ganze reproduzierbar statt liebevoll von Hand nachjustiert.

Es ist kein Labor im Sinne von übers-Wochenende-mal-aufsetzen. Dort läuft, worauf ich mich verlasse, und deshalb ist es wie Produktion gebaut.

Am selben Maßstab gemessen

GAdvisory veröffentlicht Advisories gegen meine eigenen Produkte unter dem Präfix GSSA-, aufgeschrieben genauso, wie ein Fund von außen aufgeschrieben würde.

Die eigenen Funde zu veröffentlichen ist unangenehm, und genau das ist der Punkt. Eine Sicherheitsseite ist eine Behauptung. Ein Advisory mit einem Datum darauf ist ein Beleg.

Warum es von Postiz getrennt ist

Andere Eigentümerschaft, andere Lizenz, anderes Geld.

Postiz ist Open Source, hat eine Community und trägt eine Lizenz, über die ich nicht bestimme. GHub ist Open Core und meins. Die beiden auseinanderzuhalten ist für alle einfacher, als die Überschneidung hinterher zu erklären.

Die Sicherheitsarbeit hat eine eigene Seite

CNA-Betrieb, Schwachstellenforschung, Offenlegung.