Trust & Compliance
Sicherheitsarchitektur
Technisches Whitepaper — Stand: 11.07.2026
Hinweis zur Transparenz
Dieses Dokument beschreibt ausschließlich Maßnahmen, die tatsächlich implementiert und aus dem Quellcode bzw. der Datenbankarchitektur ableitbar sind. Es werden keine Zertifizierungen (ISO 27001, SOC 2, Pentest) behauptet, die zum aktuellen Stand nicht vorliegen.
1. Infrastruktur und Hosting
SalamJobs läuft auf der Vercel-Infrastruktur (Next.js App Router, Serverless Functions, Edge Network). Die Anwendungslogik wird serverseitig in isolierten Serverless-Umgebungen ausgeführt; Client-seitiger Code enthält keine Datenbankzugangsdaten.
Die Datenbank wird von Supabase (PostgreSQL) betrieben. Alle Verbindungen zwischen Anwendung und Datenbank erfolgen über TLS. Sämtliche öffentlichen Endpunkte der Plattform sind ausschließlich über HTTPS erreichbar (TLS 1.2/1.3, HSTS).
Dateiuploads (Lebensläufe/CVs) werden in einem dedizierten, privaten Supabase Storage Bucket gespeichert, der nicht öffentlich zugänglich ist. Zugriff erfolgt ausschließlich über signierte, zeitbegrenzte URLs.
2. Verarbeitete Datenkategorien
SalamJobs verarbeitet folgende Kategorien personenbezogener Daten:
| Datenkategorie | Betroffene Personen | Speicherort |
|---|---|---|
| Stammdaten (Name, E-Mail) | Talente, Arbeitgeber | Supabase DB (EU) |
| Profildaten (Erfahrung, Ausbildung, Skills) | Talente | Supabase DB (EU) |
| Bewerbungsunterlagen (CV, Anschreiben) | Talente | Supabase Storage (privater Bucket) |
| Islamfreundliche Präferenzen (freiwillig) | Talente | Supabase DB (EU) |
| Zahlungsdaten (Employer-Abonnement) | Arbeitgeber | Stripe (nicht bei SalamJobs gespeichert) |
| Nutzungsanalyse (anonymisiert) | Alle | Google Analytics (nur bei Einwilligung) |
| Vercel Analytics (aggregiert) | Alle | Vercel |
Zahlungsdaten werden ausschließlich von Stripe verarbeitet und nie auf SalamJobs-Systemen im Klartext gespeichert. SalamJobs erhält nur einen tokenisierten Zahlungsnachweis.
3. Zugriffskontrolle und Row Level Security (RLS)
Die Datenbank verwendet Row Level Security (RLS) auf allen nutzerbezogenen Tabellen. RLS wird auf Datenbankebene erzwungen und kann nicht durch Anwendungscode umgangen werden.
Betroffene Tabellen mit aktivierter RLS (verifiziert aus Migration 001):
profilesjobscompaniesapplicationsfavoriteseducationexperienceportfolioscontactscategoriestagsjob_tagsskillsRollen im System (aus Datenbankschema):
- TALENT: Kann das eigene Profil lesen/schreiben, eigene Bewerbungen senden und einsehen. Kein Zugriff auf Daten anderer Nutzer.
- EMPLOYER: Kann eigene Stellenanzeigen und Unternehmensprofil verwalten, eingehende Bewerbungen für eigene Stellen einsehen. Kein Zugriff auf Bewerbungen anderer Arbeitgeber.
- ADMIN: Plattformverwaltung. Zugriff wird in der Anwendungslogik zusätzlich zur Datenbankebene geprüft.
RLS-Policies folgen dem Prinzip minimaler Rechte: Schreibzugriffe sind ausnahmslos auf den eigenen Datensatz beschränkt (auth.uid() = user_id / id). Lesezugriff auf öffentliche Inhalte (Stellen, Unternehmensprofile) ist für alle zulässig — entsprechend der Natur eines öffentlichen Jobportals.
4. Authentifizierung und Tokens
Die Authentifizierung wird vollständig von Supabase Auth verwaltet (JWTs mit konfigurierbarer Ablaufzeit). Passwörter werden ausschließlich als gehashter Wert gespeichert (bcrypt über Supabase Auth) — SalamJobs hat keinen Zugriff auf Klartextpasswörter.
Verifikations-Token (z. B. für E-Mail-Bestätigung, Passwort-Reset) werden ausschließlich als Hash in der Datenbank gespeichert; der Klartext-Token wird nur einmalig per E-Mail an den Nutzer übermittelt.
Sitzungen werden serverseitig über Supabase Auth verwaltet. Refresh-Tokens werden in HttpOnly-Cookies gesetzt.
5. Datenaufbewahrung und Löschung
Das Profil-Schema enthält dedizierte Felder zur Steuerung der Datenaufbewahrung (verifiziert aus der Datenbankarchitektur):
data_retention_expires_at: Datum, nach dem Nutzerdaten automatisch zur Löschung vorgemerkt werden.deletion_scheduled_at: Zeitpunkt einer nutzer-initiierten Löschanfrage.deletion_grace_period_days: Karenzfrist vor endgültiger Löschung (Standard: 30 Tage). Nutzer können die Löschung innerhalb dieser Frist widerrufen.
Nutzer können über das Dashboard eine vollständige Datenlöschung beantragen. CVs werden im privaten Storage Bucket getrennt von Profildaten aufbewahrt und separat gelöscht.
6. Backup und Verfügbarkeit
Supabase führt automatische tägliche Backups der PostgreSQL-Datenbank durch. Die Aufbewahrungsdauer und Recovery-Point-Objective (RPO) richten sich nach dem Supabase-Servicelevel. Details sind in der Supabase-Dokumentation und im DPA mit Supabase geregelt.
Kein eigenes Disaster-Recovery-Konzept ist zum aktuellen Zeitpunkt dokumentiert. Bei kritischen Anforderungen an RTO/RPO wenden Sie sich bitte an info@salamjobs.co.
7. Meldung von Sicherheitslücken (Responsible Disclosure)
Wenn Sie eine Sicherheitslücke in SalamJobs entdecken, melden Sie diese bitte vertraulich an:
E-Mail: security@salamjobs.co
Bitte nennen Sie in Ihrer Meldung: Beschreibung der Schwachstelle, betroffene URL oder Funktion, Schritte zur Reproduktion, potenzielle Auswirkungen. Wir bestätigen den Eingang innerhalb von 3 Werktagen und informieren Sie über den Bearbeitungsstand.
Hinweis: Das Postfach security@salamjobs.co muss noch eingerichtet werden. Bis dahin bitte Meldungen an info@salamjobs.co mit Betreff „Security Disclosure“ senden.
8. Zertifizierungen und Bewertungen
SalamJobs verfügt zum aktuellen Zeitpunkt über keine externen Sicherheitszertifizierungen (ISO 27001, SOC 2 Type II) und hat keinen formalen Penetrationstest durch einen unabhängigen Dritten durchgeführt. Diese Maßnahmen sind für zukünftige Ausbaustufen geplant.
Unternehmen mit erhöhten Sicherheitsanforderungen sind eingeladen, ihre spezifischen Anforderungen direkt an info@salamjobs.co zu richten.
Stand: 11.07.2026 — Entwurf, keine Rechtsberatung
Dieses Whitepaper wird bei wesentlichen Änderungen der Sicherheitsarchitektur aktualisiert. Kontakt: info@salamjobs.co