Sicherheit, klar benannt.
Keine Badge-Wand: die konkreten, überprüfbaren Kontrollen, die heute im Produkt stecken. Stellen Sie harte Fragen: hello@pauli.xyz.
Transport & Authentifizierung
- Nur-TLS-Ingress. Die API bindet an Loopback; der einzige öffentliche Einstiegspunkt terminiert TLS, Bearer-Schlüssel reisen also nie im Klartext.
- Schlüssel werden gehasht, einmal angezeigt. SHA-256-Hashes im Ruhezustand; Klartext genau einmal zurückgegeben, bei Erstellung oder Rotation. Rotation und Widerruf wirken sofort.
- Workspace-Isolation bei jeder Abfrage. Auf der Persistenzschicht gescopet; mandantenübergreifende Lesezugriffe liefern 404, nicht 403.
- Ratenbegrenzung pro Schlüssel. Token-Buckets in Redis; fail-open oder fail-closed ist eine Betreiberentscheidung.
Webhooks
- Signierte Payloads. Zeitgestempeltes HMAC-SHA256 (
X-Pauli-Signature) über die exakten Payload-Bytes, sodass eine mitgeschnittene Zustellung nur innerhalb Ihrer Prüf-Toleranz wiederholbar ist; Rotationen signieren während eines Übergangsfensters mit altem und neuem Secret.X-Pauli-Event-Iddedupliziert. - SSRF-Wächter, zweifach. Nur-https-Webhook-URLs, abgelehnt, wenn sie nicht-öffentlich auflösen (Loopback, RFC 1918, Link-Local, Cloud-Metadaten) — beim Einreichen geprüft und bei der Zustellung erneut, gegen DNS-Rebinding. Immer aktiv; kein Ausschalter.
Geld & Datenintegrität
- Decimal von Ende zu Ende. Geld durchläuft nie Gleitkommazahlen; API-Beträge sind exakte Dezimal-Strings.
- Genau-einmal-Abrechnung, von der Datenbank erzwungen. Partielle Unique-Indizes sichern Berechnungen, Abbuchungen und Erstattungen; Wiederholungen und erneute Zustellungen können weder doppelt belasten noch doppelt gutschreiben.
- Zahlungen werden nur bei bestätigtem Geldeingang gutgeschrieben. Stripe-Webhooks werden signaturgeprüft mit Replay-Toleranz; ein Status-Compare-and-Swap macht die Gutschrift idempotent.
- Append-only-Audit-Log. Schlüssel-Lebenszyklus, Job-Ereignisse, Abrechnung, Compliance-Entscheidungen und fehlgeschlagene Authentifizierung, geschrieben in derselben Transaktion wie die Aktion.
Betrieb
- Eine einzige Quelle der Wahrheit. Postgres hält den gesamten Zustand; der Verlust der Queue verliert keine Jobs, Ergebnisse oder Gelder.
- Crash-sichere Verarbeitung. Worker beanspruchen Jobs mit Leases und committen an jeder Phasengrenze; Sweeps leiten jede Arbeit neu ab, die ein toter Prozess fallen ließ.
- Verifizierte Backups. Wiederherstellungs-getestet nach Zeitplan (ein nicht wiederhergestelltes Backup ist kein Backup); verschlüsselte Kopien verlassen den Host.
- Fehler geben nie Interna preis. 5xx-Bodies enthalten nur einen stabilen Code und eine Request-ID; Details bleiben in serverseitigen Logs.
- Öffentliche Statusseite. Außerhalb unserer Infrastruktur gehostet unter status.pauli.xyz, damit sie erreichbar bleibt, wenn wir es nicht sind.
Compliance-Haltung
- Exportkontroll-Gate im Router. Kontrollierte Hardware routet nur zu geprüften Workspaces mit deklarierter Jurisdiktion; jede Ablehnung wird auditiert.
- Denied-Party-Screening. Jede Screening-Entscheidung wird auditiert; das Routing liest sie bei jeder Anfrage.
Zu SOC 2: Wir zertifizieren, sobald Kunden es
verlangen, und beantworten Sicherheitsfragebögen auf Anfrage.
Eine Schwachstelle melden
Schicken Sie Reproduktionsschritte an hello@pauli.xyz. Wir bestätigen den Eingang innerhalb von zwei Werktagen und gehen nicht rechtlich gegen Forschung in gutem Glauben vor.