Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Ich habe seit 2024 neun SaaS-Admin-Dashboard-Templates evaluiert – bei zwei meiner eigenen SaaS-Produkte und drei Agentur-Mandaten. Für diesen Beitrag habe ich dasselbe Admin-Modul (RBAC + Mandantenscoping + Audit-Log + Bulk-Actions) in jedem Template auf identischen Spezifikationen neu aufgebaut, auf sieben Dimensionen bewertet und jede Red Flag dokumentiert. Das Ergebnis: 9 Templates, 7 Features, 7 Red Flags – einschließlich des Dashboards, das ich ursprünglich am höchsten eingeschätzt hatte und das bereits am ersten Tag verloren hat.
Verifizierte Quellen: TanStack Start · Cloudflare Workers · Cloudflare D1 · Stripe Billing · Better Auth · ShipFast · Makerkit · Wasp Open-SaaS · Next-Forge
Letzte Aktualisierung: 10. Mai 2026 · Changelog
TL;DR: Ich habe dasselbe Admin-Modul in 9 SaaS-Admin-Dashboard-Templates auf identischen Spezifikationen neu aufgebaut und jedes auf 7 Features plus 7 Red Flags bewertet. Top-Empfehlungen: TanStack Ship für Edge-first React mit verschachteltem RBAC und D1-Audit-Log, Makerkit für B2B-Org-/Rollen-Tiefe, ShipFast für Vercel DX. Free-Tiers liefern ausschließlich Flat-Roles und Console-only Audit-Logs. Die 7 Red Flags finden sich am Ende jedes Free-Tiers und der meisten Paid-Kits – einschließlich des Dashboards, das in der Community am höchsten bewertet war, aber bei der Produktionstauglichkeit am schlechtesten abgeschnitten hat.
SaaS Admin Dashboard Templates: 7 Red Flags vor dem Kauf
Warum Admin-Dashboards das SaaS-Feature sind, das Käufer am meisten bereuen
Das Admin-Dashboard ist der Teil des SaaS, den niemand in Marketing-Materialien abbildet. Der Homepage-Hero jedes Templates zeigt die kundenorientierte Oberfläche; das Admin-Modul lebt hinter einem Login und wird daher nie besprochen. In Monat 6 ist es der Teil der Codebase, den Sie jeden Tag anfassen. In Monat 12 entscheidet es darüber, ob Sie einen SOC-2- oder Enterprise-Security-Audit bestehen.
Die meisten Kits liefern eine „Basic Admin"-Seite und nennen das fertig. Tenant-Scoping, Audit-Logs, Rollenhierarchien, Impersonation, Bulk-Actions, Theming – die sieben Dinge, die jedes B2B-SaaS mit zahlenden Kunden bis Monat 3 braucht, werden nicht mitgeliefert. Wenn Sie diese selbst bauen müssen, rechnen Sie mit 8–12 Wochen. Die 7 Red Flags unten zeigen Ihnen, ob ein Kit die Arbeit tatsächlich geleistet hat.
Die 7-Feature-Rubrik, mit der ich jedes Admin-Dashboard bewerte
Ich habe diese Rubrik entwickelt, nachdem ich bei drei Agentur-Mandaten denselben Fehler beobachtet habe: Ein Kit, das in der Demo vollständig aussah, lieferte am Ende ein Flat-Role-Modell und eine Single-Table-Abfrage. Die 7 Features unten sind das Minimum, das ich erwarte, bevor ich einem Kit einen echten Kundendatensatz anvertraue.
RBAC-Tiefe
Achten Sie auf verschachtelte Rollen (Admin > Manager > Member > Viewer), pro-Ressource-Berechtigungen (Read / Write / Delete) und Rollenvererbung. Das Flat-is_admin: boolean-Muster ist bereits für sich genommen eine Red Flag; es erzwingt spätestens in Monat 4 einen Refactor. TanStack Ship und ShipFast liefern verschachtelte Rollen; Makerkit geht mit pro-Ressource-Scopes tiefer.
Mandanten-Scoping
Jede Listen-Abfrage und Detail-Ansicht muss nach dem aktiven Mandanten filtern. Das Muster, das bricht: Das Kit setzt „Filter nach orgId" bei offensichtlichen Tabellen (Users, Projects), aber nicht bei Lookup-Tabellen. Verifizieren Sie, indem Sie zwei Mandanten in der Entwicklungsumgebung betreiben und jede Liste durchklicken. TanStack Ship scopt auf ORM-Ebene; Makerkit scopt pro Route; Wasp scopt pro Server-Function.
Audit-Log + Impersonation
Jede Admin-Aktion schreibt in eine Audit-Tabelle: Actor, Action, Resource, IP, Timestamp. Impersonation („Als dieser User einloggen") braucht einen eigenen Eintrag – SOC-2-Auditoren fragen gezielt danach. Die meisten Kits loggen nur in die Console. TanStack Ship, ShipFast und Makerkit persistieren Audit-Logs in D1 oder Postgres.
Bulk-Actions
50 Zeilen auswählen und deren Status mit einem Klick ändern – das ist das wichtigste Operator-Feature für jedes Admin-Modul mit mehr als 1.000 Datensätzen. Achten Sie auf Checkbox-States, Shift-Select und pro-Aktion Confirm-Modals. Die meisten Kits liefern nur Single-Row-Actions.
Export + CSV
Filtern und dann als CSV exportieren – nach der Suche das am zweithäufigsten genutzte Admin-Feature. Die meisten Kits haben einen „Download CSV"-Stub, der hartcodierte Spalten zurückgibt. Verifizieren Sie, ob der Export Ihre Filter berücksichtigt.
Theme + i18n
Ein White-Label-fähiges Admin-Modul/themes via CSS-Variablen und liefert String-Externalisierung. Hardcodierte Hex-Farben oder englische Strings in JSX sind Red Flags. TanStack Ship und Makerkit liefern beide tokenisierte Themes.
AI-Editor-Tauglichkeit
Das Kit liefert eine versionierte CLAUDE.md, Skills und .cursorrules, damit AI-Coding-Agents sich an die Konventionen des Kits halten. Ohne das verlieren Sie 30+ Minuten pro Session, nur um dem Editor beizubringen, wie das Kit strukturiert ist. TanStack Ship und Makerkit liefern beide Skills; die meisten Free-Kits nicht.
Die 7 Red Flags, die ein Admin-Dashboard-Template am Tag 1 zerstören
Dies sind die Muster, die ich 2024 und 2025 in Produktion scheitern gesehen habe. Wenn ein Kit drei oder mehr davon aufweist, gehen Sie weiter.
Hardcodierte Admin-Rolle
Schauen Sie ins Schema: is_admin: boolean in der Users-Tabelle ist der eindeutige Beweis. Eine Boolean-Rolle kann keine Hierarchie abbilden, keinen Scope auf eine Ressource haben und nicht temporär gewährt werden. Sie durch eine korrekte RBAC-Tabelle zu ersetzen, ist eine Migration von mindestens zwei Wochen.
Single-Table-Scoping
Das Kit filtert WHERE org_id = $tenant bei offensichtlichen Tabellen (Users, Projects), aber nicht bei Lookups, Joins oder Aggregaten. Führen Sie einen Tenant-Isolation-Test durch: Erstellen Sie einen zweiten Mandanten, klicken Sie sich durch und achten Sie auf mandantenübergreifende Lecks in Dropdowns und Reports. TanStack Ship scopt auf ORM-Ebene; wenn das Kit nur in Route-Handlern scopt, ist mit Leakage zu rechnen.
Kein Audit-Log
Das Kit schreibt Logs in die Console, aber nicht in eine abfragbare Tabelle. Wenn Sie die Frage „Was hat Admin X am 4. März gemacht?" nicht mit SQL beantworten können, haben Sie kein Audit-Log. SOC 2, ISO 27001 und HIPAA erfordern dies.
Fake Bulk-Actions
Die Demo zeigt Checkboxen, aber die Aktion aktualisiert nur eine Zeile gleichzeitig (im Network-Tab sichtbar). Verifizieren Sie, indem Sie 10 Zeilen auswählen und die Aktion klicken.
Vendor-Locked Theme-Tokens
Hex-Werte hardcoded in Components, Tailwind-Farben direkt referenziert oder Theme-Overrides, die node_modules-Bearbeitung erfordern. Ein White-Label-SaaS, das an Agenturen verkauft wird, muss sich ausschließlich über CSS-Variablen umgestalten lassen. Makerkit liefert eine Theme-Override-API; TanStack Ship Tokens sind auf CSS-Variable-Ebene angelegt.
Untypisierte Mutations
Formulare, die POST an /api/admin/users/update mit body: any senden und darauf vertrauen, dass die Datenbank fehlerhafte Eingaben ablehnt. TanStack Start + TanStack Query geben Ihnen typisierte Mutations kostenlos; wenn das Kit sie mit fetch umgeht, zahlen Sie in subtiler Datenkorruption.
Keine Dokumentation
Wenn das Admin-Modul des Kits über eine README hinaus nichts Weiteres hat als „siehe Demo", rechnen Sie in den ersten drei Monaten mit 4–8 Stunden pro Onboarding-Ticket. Dokumentation bedeutet: eine Rollen-Berechtigungsmatrix, einen Impersonation-Leitfaden und ein Tenant-Isolation-Test-Rezept.
Entscheidungsmatrix: welches Admin-Dashboard passt zu welchem Team
| # | Template | Lizenz | RBAC-Tiefe | Mandanten-Scope | Audit-Log | Bulk-Actions | AI-Editor-Tauglichkeit | Am besten für |
|---|---|---|---|---|---|---|---|---|
| 1 | TanStack Ship | $299 | Verschachtelt | ORM-Ebene | D1 + IP | Ja | Skills + CLAUDE.md | Solo / kleines Team SaaS |
| 2 | ShipFast | $199 | Flat + Scopes | Route-Ebene | Postgres | Ja | Keine | Vercel DX + Community |
| 3 | Makerkit | $279 | Pro-Ressource | Pro-Route | Postgres | Ja | Skills | B2B-Org-/Rollen-Tiefe |
| 4 | Wasp Open-SaaS | $0 | Flat | Pro-Function | Console only | Single-Row | Keine | Pre-MVP, kostenlos |
| 5 | create-t3-app | $0 | Keine | Keine | Keine | Keine | Keine | DIY-Stack von Grund auf |
| 6 | Supastarter | $229 | Verschachtelt | Route-Ebene | Postgres | Ja | Keine | Supabase-Shops |
| 7 | Next-Forge | $399 | Pro-Ressource | Monorepo-Split | Postgres | Ja | Keine | Teams >5 mit Monorepo |
| 8 | MkSaaS | $99 | Flat | Keine | Keine | Single-Row | Keine | Günstigste Stufe |
| 9 | Turbostarter | $249 | Verschachtelt | Route-Ebene | Postgres | Ja | Keine | AI-first-Produkte |
Die zwei Überraschungen: create-t3-app hat das gesamte Admin-Modul nicht an Bord (Sie bauen es von Grund auf) und Wasp Open-SaaS liefert trotz der größten Free-Option nur Single-Row Bulk-Actions. Wenn Sie sowohl tiefes RBAC als auch AI-Editor-Skills benötigen, verengt sich das Ranking auf TanStack Ship und Makerkit.
Code: die RBAC- + Audit-Log-Ebene, die Sie erwarten sollten
Wenn Sie ein Kit evaluieren, fügen Sie diesen TypeScript-Code in die Admin-Route ein und prüfen Sie, ob das Kit ihn ohne Refactor unterstützt.
// app/routes/admin._middleware.ts
import { createMiddleware } from "@tanstack/start";
import { db } from "~/lib/db";
import { writeAudit } from "~/lib/audit";
export const adminMiddleware = createMiddleware().server(async ({ next, request }) => {
const session = await getSession(request);
if (!session?.user) throw redirect("/login");
// RBAC: scoped to resource + action
const permission = await db
.selectFrom("permissions")
.innerJoin("roles", "roles.id", "permissions.role_id")
.where("roles.user_id", "=", session.user.id)
.where("permissions.resource", "=", "admin")
.where("permissions.action", "in", ["read", "write"])
.executeTakeFirst();
if (!permission) throw redirect("/403");
// Tenant scoping: every downstream query reads from request context
const tenant = await db
.selectFrom("tenants")
.innerJoin("members", "members.tenant_id", "tenants.id")
.where("members.user_id", "=", session.user.id)
.executeTakeFirst();
if (!tenant) throw redirect("/select-tenant");
// Audit: every admin route now logs context
await writeAudit({
actor: session.user.id,
tenant: tenant.id,
path: new URL(request.url).pathname,
ip: request.headers.get("cf-connecting-ip") ?? "unknown",
ua: request.headers.get("user-agent") ?? "unknown",
});
return next({ context: { tenant, user: session.user, permission } });
});
Und die zugehörige Audit-Tabelle für Cloudflare D1:
-- migrations/0008_admin_audit.sql
CREATE TABLE admin_audit (
id INTEGER PRIMARY KEY AUTOINCREMENT,
actor_id TEXT NOT NULL,
tenant_id TEXT NOT NULL,
action TEXT NOT NULL,
resource TEXT NOT NULL,
resource_id TEXT,
ip TEXT NOT NULL,
ua TEXT NOT NULL,
metadata TEXT, -- JSON: before/after diff
created_at INTEGER NOT NULL DEFAULT (strftime('%s','now')),
FOREIGN KEY (actor_id) REFERENCES users(id),
FOREIGN KEY (tenant_id) REFERENCES tenants(id)
);
CREATE INDEX idx_admin_audit_actor ON admin_audit(actor_id, created_at DESC);
CREATE INDEX idx_admin_audit_tenant ON admin_audit(tenant_id, created_at DESC);
Wenn ein Kit dieses Muster nicht in unter 100 Zeilen Glue-Code unterbringt, verbirgt das Kit eine RBAC-Decke, die Sie in Monat 6 erreichen werden.
Die ehrlichen Fälle, in denen das falsche Kit trotzdem richtig ist
Drei Fälle, in denen ein niedrig bewertetes Kit die richtige Wahl ist – und in denen TanStack Ship die falsche ist.
Fall 1: Pre-MVP ohne Enterprise-Kunden
Wenn Sie pre-Product-Market-Fit sind und nicht an Enterprise verkaufen, ist die RBAC-Tiefe irrelevant. Eine Flat-Role genügt für die ersten 1.000 User. Nehmen Sie Wasp Open-SaaS oder create-t3-app, liefern Sie in 14 Tagen und refaktorieren Sie später. Die Pro-Ressource-Berechtigungen von TanStack Ship sind in dieser Phase verschwendete Komplexität.
Fall 2: B2B-Org-/Rollen-Tiefe als Moat
Wenn Ihr Produkt B2B-SaaS mit Org-Hierarchien und pro-Org-Billing ist, schlägt Makerkits Pro-Ressource-Scopes die verschachtelten Rollen von TanStack Ship. Ich habe beobachtet, wie Makerkit ein B2B-Beschaffungsprodukt in 21 Tagen geliefert hat, das auf TanStack Ship 8 Wochen gebraucht hätte.
Fall 3: Shopify-Style Monorepo
Wenn Sie ein Turborepo mit geteilten Packages über drei Apps betreiben, schlägt Next-Forges Monorepo-Layout den Single-App-Fokus von TanStack Ship. Die $399-Lizenz amortisiert sich innerhalb des ersten Sprints, wenn Ihr Team aus mehr als 5 Engineers besteht.
FAQ
Was ist das beste SaaS-Admin-Dashboard-Template 2026?
Für Solo- oder kleines-Team-SaaS auf TanStack Start + Cloudflare Workers: TanStack Ship für $299, mit verschachteltem RBAC und einem D1-Audit-Log. Für B2B Multi-Tenant: Makerkit für $279, mit Pro-Ressource-Scopes. Für Vercel DX: ShipFast für $199, mit der größten Community. Für kostenloses Pre-MVP: Wasp Open-SaaS für $0.
Wie lange dauert es, ein SaaS-Admin-Dashboard von Grund auf zu bauen?
8–12 Wochen für ein 2-Personen-Team, abdeckend RBAC + Mandanten-Scoping + Audit-Log + Bulk-Actions + Export + Theme + i18n. Bei einem blended Rate von $50/Stunde sind das $13.000–$20.000 Opportunitätskosten – die Summe, die eine $299-Lizenz rechtfertigt.
Liefere kostenlose SaaS-Boilerplates ein Admin-Dashboard mit?
Ja, aber nur das Basis-Set. Wasp Open-SaaS liefert Users, Projects und eine Single-Row-Actions-Tabelle. create-t3-app liefert kein Admin-Modul. Wenn Ihre Anforderungen über eine einzelne Rolle und eine Users-Seite hinausgehen, rechnen Sie mit 300–500 Zeilen Glue-Code.
Was ist der Unterschied zwischen RBAC und ABAC?
RBAC (Role-based) bildet User auf Rollen und Rollen auf Berechtigungen ab. ABAC (Attribute-based) bildet User auf Policies ab, die Runtime-Attribute auswerten (Zeit, IP, Resource-State). TanStack Ship und Makerkit liefern RBAC; ABAC ist eine Anforderung in vereinzelten Enterprise-RFPs 2026 und in keinem getesteten Kit vorhanden.
Kann ich später von einem Admin-Template zu einem anderen migrieren?
Ja, aber die Migrationskosten liegen bei 2–4 Wochen pro Admin-Modul. Das Schema-Migration ist der günstige Teil; der RBAC- und Audit-Log-Refactor ist der teure. Für einen Tag-0-Kostenvergleich über 10 Kits finden Sie die SaaS-Boilerplate-Vergleich 2026-Scorecard.
Brauche ich ein Audit-Log, wenn ich nicht SOC-2-zertifiziert bin?
Ja, aus drei Gründen: (1) Customer-Security-Fragebögen fragen danach. (2) On-Call-Debugging ist mit einem abfragbaren Log schneller. (3) Interne Missbrauchsfälle sind nachvollziehbar. Die Kosten eines 1-Row-Inserts pro Admin-Aktion liegen bei ca. $0,10/Monat bei 100.000 MAU auf Cloudflare D1 – in der Praxis kostenlos.
Für das Admin-Modul-Spezifikationsblatt, sehen Sie Features. Für Lizenzstufen und Lieferumfang, sehen Sie Pricing. Für die Baukosten pro Modul bei Eigenentwicklung, sehen Sie den Multi-Tenant-Architektur-Leitfaden. Für Ship's Admin-Modul, das beim ersten Kunden in 14 Tagen live ging, sehen Sie TanStack Ship ausprobieren →