LiveSL-03Faszienyoga mit Melanie

Eine Kursplattform mit Bezahlung, geschützten Videos und einer Prüfung gegen mich selbst

Für Faszienyoga mit Melanie steht eine eigene Kursplattform bereit. Teilnehmerinnen bezahlen direkt dort, die Videos lassen sich nicht einfach weitergeben, und die Daten bleiben bei der Kursleiterin statt bei einer fremden Plattform. Vier Wochen nach dem Start habe ich das laufende System gründlich geprüft. Dabei fand ich drei Schwächen, die ich selbst eingebaut hatte.

Projekt ansehen

SL-03Live

Faszienyoga

3 schwere · Schwächen, die ich selbst gefunden und behoben habe

4 · Schriftlich begründete Grundentscheidungen

Belegte Zahlen

Schwächen, die ich selbst gefunden und behoben habe
3 schwereQuelle: docs/audit/, Prüfung vom 04.08.2026
Schriftlich begründete Grundentscheidungen
4Quelle: docs/adr/, Videoanbieter, Backend, Deployment, Zahlungen
Dateien mit automatischen Tests
40Quelle: Projektcode, Stand 11.08.2026
Einzelne Änderungen am Programm
125Quelle: git log, 05.07.2026 bis 11.08.2026
Zeilen Programmcode
22.640Quelle: Projektcode ohne fremde Bausteine, Stand 11.08.2026

Ausgangslage

Eine Kursleiterin wollte ihre Faszienyoga-Kurse im Internet anbieten. Sie wollte dafür keine fremde Plattform nutzen, die einen Teil des Umsatzes behält und den Kontakt zu den Kundinnen übernimmt. Gebraucht wurde also ein eigener Verkauf mit eigener Bezahlung. Dazu Videos, die sich nicht einfach weitergeben lassen, und ein Verwaltungsbereich, den sie selbst bedienen kann.

Ergebnis

Eine laufende Plattform, die für den Verkauf bereitsteht. Jedes Video wird über eine Adresse abgespielt, die nur kurz gilt. Die Daten werden automatisch an einem zweiten Ort gesichert. Und die Kursleiterin kann die Daten einer Kundin selbst löschen, wenn diese das verlangt. Vor meiner Prüfung ging das nicht.

Warum nicht einfach eine fertige Plattform

Es gibt Plattformen, auf denen man Kurse im Internet verkaufen kann. Sie behalten dafür einen Teil des Umsatzes. Und sie stellen sich zwischen die Kursleiterin und ihre Kundinnen. Die Kundendaten gehören der Plattform, und die Nachrichten laufen über sie. Je besser es läuft, desto mehr kostet es.

Bei regelmäßigem, aber überschaubarem Umsatz ist das eine dauernde Belastung. Für eine Kursleiterin ist der Kontakt zu ihren Kundinnen außerdem das Wertvollste, was sie hat. Deshalb eine eigene Plattform.

Das ist ausdrücklich keine Empfehlung für alle. Ist die Nachfrage unklar oder gibt es nur sehr wenige Verkäufe, ist die fertige Plattform die günstigere Antwort.

Vier Entscheidungen, die alles andere bestimmt haben

Vor dem Bau standen vier Entscheidungen. Zu jeder habe ich aufgeschrieben, was zur Wahl stand und warum ich so entschieden habe. Es ging um die Videos, um die Grundlage der Plattform, um das Einspielen neuer Versionen und um die Bezahlung.

Am spannendsten ist die Entscheidung zu den Videos. Man kann Videos selbst ausliefern. In der Praxis ist das eine schlechte Idee. Jedes Video muss in mehreren Qualitäten vorliegen und auch bei schwachem Handy-Empfang laufen. Das übernimmt deshalb ein Anbieter, der darauf spezialisiert ist. Sein Standort ist Frankfurt.

Die eigentliche Frage war der Schutz. Kopierschutz lässt sich umgehen und stört die Kundinnen, die bezahlt haben. Die Lösung ist einfacher: Für jedes Abspielen entsteht eine Adresse, die nur kurz gilt. Wer sie weitergibt, gibt etwas weiter, das bald nicht mehr funktioniert.

Für Kenner: die Technik dahinter

Next.js mit TypeScript strict, PostgreSQL mit Drizzle, better-auth, Stripe Checkout, Bunny Stream mit serverseitig signierten, kurzlebigen URLs. Ausgeliefert über Docker Compose hinter Caddy, Datenbank-Backups nach Backblaze B2. Vier Architekturentscheidungen liegen als ADR im Repository.

Vier Wochen nach dem Start: die Prüfung gegen mich selbst

Am 04.08.2026 habe ich das laufende System gründlich geprüft. Ich habe mir nicht angesehen, was ich bauen wollte. Ich habe mir angesehen, was im Betrieb tatsächlich passiert.

Dabei fand ich drei Schwächen, die ich selbst eingebaut hatte:

Es gab keinen Weg, eine Kundin zu löschen. Keinen einzigen. Verlangt eine Kundin, dass ihre Daten gelöscht werden, hätte die Kursleiterin das ohne mich nicht erfüllen können. So eine E-Mail kann jederzeit kommen. Das ist behoben, und zwar so, dass sie es selbst kann.

Die Sicherungen enthielten Kundendaten in lesbarer Form. Die automatischen Sicherungen liefen wie geplant an einen zweiten Ort. Aber E-Mail-Adressen und Käufe lagen darin unverschlüsselt.

Eine Preisänderung hätte die Vergangenheit überschrieben. Wer einen Kurs von 49 € auf 79 € anhebt, hätte damit auch alte Verkäufe nachträglich verändert. Für die Buchhaltung und für Erstattungen ist das ein echtes Problem.

Zu jedem Fund habe ich aufgeschrieben, welche Folgen er hat, wie sicher ich mir bin und mit welcher Änderung er behoben ist.

Warum ich das öffentlich aufschreibe

Weil es der ehrlichste Teil dieses Berichts ist. Man kann ihn so erzählen, als wäre alles von Anfang an richtig gewesen. Dann glaubt ihn niemand, denn so arbeitet niemand. Oder man erzählt, wie die Fehler gefunden wurden.

Wem man ein System anvertrauen kann, entscheidet sich nicht an der Zahl der Fehler. Es entscheidet sich daran, ob jemand sie selbst sucht. Vier Wochen nach dem Start das eigene System noch einmal so zu prüfen, ist nicht selbstverständlich. Gerade weil das Ergebnis unbequem ist.

Genauso bin ich bei der Website von Malex Fotografie vorgegangen. Auch dort hat die Abschlussprüfung einen Fehler gefunden, den ich selbst eingebaut hatte. Das ist kein Zufall, so arbeite ich.

Was noch offen ist

Nutzerzahlen und Umsätze stehen hier bewusst nicht. Sie gehören der Kundin, nicht mir. Belegen kann ich: Die Plattform läuft, sie steht für den Verkauf bereit, und die Kursleiterin kann sie ohne mich bedienen.

Häufige Fragen

Wie verhindert man, dass gekaufte Videos weitergegeben werden?
Nicht mit Kopierschutz. Der lässt sich umgehen und stört die Kundinnen, die bezahlt haben. Die Videos liegen stattdessen bei einem Anbieter, der darauf spezialisiert ist. Abspielen lassen sie sich nur über eine Adresse, die kurz gilt. Gibt jemand diese Adresse weiter, ist sie bald wertlos. Das hält die meisten ab, ohne den normalen Ablauf zu stören.
Was heißt Datenschutz bei einer Verkaufsplattform ganz praktisch?
Vor allem, dass jemand die Daten einer Kundin wirklich löschen kann, wenn sie es verlangt. Das klingt selbstverständlich. In der ersten Fassung gab es aber keinen einzigen Weg dafür. Dazu kommen Verträge mit allen beteiligten Diensten, Standorte in der EU, wo es geht, und Sicherungen, in denen keine Kundendaten offen lesbar liegen.
Warum eine eigene Plattform statt einer fertigen Kursplattform?
Weil fertige Plattformen einen Teil des Umsatzes behalten und sich zwischen die Kursleiterin und ihre Kundinnen stellen. Schon bei wenigen Verkäufen macht das schnell einen dreistelligen Betrag im Monat aus. Und der Kontakt zu den Kundinnen bleibt dort, wo er hingehört. Geht die Rechnung anders aus, empfehle ich die fertige Plattform. Das sage ich dann auch.
Warum prüft man ein System, das man selbst gebaut hat?
Weil man die eigenen blinden Flecken sonst nicht findet. Vier Wochen nach dem Start habe ich das laufende System gründlich geprüft: Können Daten verloren gehen? Sind die Pflichten des Datenschutzes erfüllt? Stimmen die Zahlungen? Zu jedem Fund habe ich die Folgen und die Behebung aufgeschrieben. Drei schwere Funde kamen dabei heraus.

Alle Referenzen