CluPilotCloud/docs/superpowers/specs
nexxo d257deae01 Entwurf: Mitarbeiterverwaltung im Userpanel (Projekt A)
Die Sitzverwaltung im Portal ist vollstaendig gebaut und erreicht die
Nextcloud nie — resend() traegt seit jeher "Invite delivery is mocked for
now.". Das Modul wird verkauft und tut nichts.

Beim Nachsehen kam der groessere Fund: die Kunden-Nextcloud hat ueberhaupt
keinen Mailversand eingerichtet. Keine Freigabe-Benachrichtigung, kein
"Passwort vergessen", nichts. Das ist die Voraussetzung und wird zuerst
gebaut — ueber eine EIGENE Absenderdomain (clupilot.cloud), damit der Ruf der
Domain, ueber die Rechnungen und Sicherheitsmeldungen gehen, nicht am
Mailaufkommen der Kunden haengt.

Tragende Entscheidung: niemand kennt ein fremdes Passwort. Nextcloud erzeugt
es selbst (user:add --generate-password --email) und mailt dem Mitarbeiter
einen Link, an dem er sein eigenes setzt. Ein Wechselzwang beim ersten Login
ist in Nextcloud fuer einen EINZELNEN Benutzer nicht moeglich — das steht so
im Entwurf, statt es zu umschreiben.

Anlegen und Einladen sind getrennt, wie gewuenscht. Entziehen sperrt und
loescht nichts. Ratelimit 10 je Kunde und 3 je Sitz pro Stunde.

Eine technische Unsicherheit ist benannt statt angenommen: ob Speicherplatz
0 B "nichts" oder "unbegrenzt" heisst, bekommt einen eigenen Nachweisschritt
im Plan.
2026-08-03 18:14:43 +02:00
..
2026-07-25-host-onboarding-design.md fix(engine): fail on unresolvable pipeline step; make worker the WG hub 2026-07-25 10:53:40 +02:00
2026-07-27-mailboxes-design.md Design mailboxes as records, not as one more secret 2026-07-27 20:51:03 +02:00
2026-07-27-operator-identity-design.md Delete the users row once the operator has moved out of it 2026-07-27 20:44:56 +02:00
2026-07-30-betriebsmodus-und-betriebsbereitschaft-design.md Design a test/live switch and a page that says what is missing 2026-07-30 10:11:26 +02:00
2026-07-30-host-uebernahme-statt-installation-design.md Write down the network boundary, the subdomain, and two decided follow-ups 2026-07-30 19:05:23 +02:00
2026-07-30-stripe-adoption-followups-design.md Name the recurring filter, and stop the spec contradicting itself 2026-07-30 19:24:18 +02:00
2026-07-30-stripe-price-adoption-design.md Give the operator something to do about an orphan nobody can adopt 2026-07-30 18:36:06 +02:00
2026-07-31-zahlungsmittel-und-mahnlauf-design.md Hetzner-Cloud-DNS, Bereitschaftsseite aus sich heraus behebbar 2026-07-31 19:50:01 +02:00
2026-08-01-host-detailseite-last-design.md Release v1.3.93 — die Seite konnte den Host gar nicht fragen 2026-08-01 11:23:00 +02:00
2026-08-01-host-konsole-zertifikat-design.md Der Tunnel bekommt einen eigenen Container 2026-08-03 07:49:29 +02:00
2026-08-01-hostname-vergabe-design.md Fix-Runde 2: Warnung fuer nicht reparierte Hosts, case-sichere Vorabpruefung, wiederholbare Migration 2026-08-01 14:52:15 +02:00
2026-08-01-network-bridge-design.md Entwurf: vmbr0 automatisch bauen 2026-08-01 11:47:38 +02:00
2026-08-01-neue-pakete-design.md Entwurf: geprueft, dass ein laufender Vertrag seine Version einfriert 2026-08-01 11:55:30 +02:00
2026-08-01-vorlagenbau-design.md Release v1.3.88 — die Vorlage baut sich selbst 2026-08-01 05:01:44 +02:00
2026-08-02-terminal-container-design.md Terminal-Bruecke: ein Container, eine Aufgabe, ein Ticket 2026-08-02 19:09:15 +02:00
2026-08-02-versandtakt-design.md Entwurf: der Versandtakt 2026-08-03 15:18:47 +02:00
2026-08-03-fruehwarnsystem-design.md Spec richtiggestellt: Gaeste werden ueber den Proxmox-Gastagenten gelesen, nicht ueber SSH 2026-08-03 12:23:41 +02:00
2026-08-03-mitarbeiterverwaltung-design.md Entwurf: Mitarbeiterverwaltung im Userpanel (Projekt A) 2026-08-03 18:14:43 +02:00