Identität · Metering · Abrechnung
Anmelden lassen. Nutzung messen. Dafür abrechnen.
Base316 vereint Identität und nutzungsbasierte Abrechnung in einer Control Plane. Ein einziger Aufruf beantwortet, ob ein Konto etwas tun darf und wer dafür bezahlt – so können Berechtigungen, Metering und Rechnungen nicht auseinanderlaufen.
- Free inklusive Produktion
- Keine Karte nötig
- SDKs in 7 Sprachen
- externalId
- "acct_northwind"
- feature
- "ai.tokens"
- externalUserId
- "usr_ada"
- permission
- "reports.export"
- requested
- 2.000
Verbleibend in diesem Zeitraum
237.600
- Genutzt in diesem Zeitraum812.400
- Kontingent laut Plan1.000.000
- Prepaid-Guthaben50.000
- Berechtigende Rolleadmin · direct
Beispielzahlen. Die Felder sind die echte Antwort einer einzigen Zugriffsprüfung: die Entscheidung, die Nutzung dahinter und die Rolle, die sie gewährt hat.
Produktion mit Free
Live-Schlüssel ab dem ersten Tag, keine Sandbox.
Sie sind der Händler
Zahlungen gehen auf Ihr Stripe-Konto.
Keine Doppelabrechnung
Jedes Nutzungsereignis trägt einen Pflichtschlüssel.
Exakte Beträge
Dezimal berechnet, einmal gerundet.
7 offizielle SDKs
Keines mit Fremdabhängigkeiten.
Warum eine Plattform
Zwei Systeme, die meist auseinanderlaufen
Identität und Abrechnung sind normalerweise getrennte Produkte, verbunden über Webhooks, und sie widersprechen sich, sobald eines davon hinterherhinkt. Hier teilen sie ein Modell – und ein Aufruf beantwortet beide Hälften der Frage.
Der übliche Stack
Drei Datensätze, verbunden über Webhooks
- Ein gekündigter Plan schaltet weiter Funktionen frei, bis ein Webhook ankommt.
- Ein neuer Benutzer existiert in der Auth, bevor die Abrechnung das Konto kennt.
- Nutzung wird in Ihrem Code gezählt und für die Rechnung noch einmal.
Base316
Ein Datensatz, dreifach gelesen
Ein Konto · eine Planversion · ein Nutzungsjournal
Identität
Benutzer, Mandanten, Rollen und Sitzungen
Berechtigung
Was der Plan gewährt, live gemessen
Abrechnung
Rechnungen aus derselben Nutzung
- Die Prüfung, die eine Funktion freischaltet, liest den Plan, der sie abrechnet.
- Nutzung wird einmal gemessen, und die Rechnung wird daraus berechnet.
- Ein Recht und ein Kontingent werden im selben Aufruf beantwortet.
Produkttour
Von der Anmeldung bis zum verbuchten Umsatz, in einem Dashboard
Sechs Stationen einer Anfrage, jeweils mit dem Screen, der sie steuert. Aufgenommen im laufenden Produkt mit Demodaten.
01 · Identität
Unsere Anmeldeseite oder Ihre eigene
Schicken Sie Ihre Benutzer auf eine gehostete Seite, die Base316 in Ihrem Branding betreibt und pflegt, und sie kommen angemeldet zurück. Passwörter, Passkeys, ein Magic Link oder der Identity Provider des Arbeitgebers – dieselbe Seite, dieselbe Sitzung. Oder behalten Sie Ihre eigenen Screens und steuern dieselben Flows über das SDK: Sitzung, MFA-Faktoren und SSO-Routing sind in beiden Fällen identisch.
Plattform
Wofür Sie sonst vier Anbieter bräuchten
Identität, Abrechnung, Mandanten und Prepaid-Nutzung – auf einem gemeinsamen Modell Ihrer Konten.
01 · Identität
Der Identity Provider, kein Wrapper um einen
Ein Issuer pro Umgebung, bewusst nach dem Vorbild von Cognito gestaltet, sodass eine Anwendung, die bereits auf einen User Pool zeigt, ohne Codeänderung umgestellt werden kann.
- OIDC und SAML 2.0. Authorization Code mit PKCE, Refresh-Rotation, JWKS und Userinfo. SAML nur SP-initiiert, weil eine unaufgeforderte Assertion an keine Anfrage gebunden werden kann.
- Enterprise-SSO nach E-Mail-Domain. Eine geschäftliche Adresse wird an den Identity Provider des Arbeitgebers weitergeleitet statt an eine Passwortprüfung, und Just-in-Time-Provisioning legt das Konto bei der ersten Anmeldung an.
- Eigene Felder, typisiert. Legen Sie einmal fest, was Sie über Ihre Benutzer wissen müssen. Das SDK liefert es typisiert zurück – generiert aus einer echten Umgebung statt von Hand geschrieben.

02 · Abrechnung
Nutzungsbasierte Abrechnung, die korrekt abschließt
Die Grundgebühr im Voraus nach einer Testphase, Nutzung im Nachhinein, anteilige Berechnung beim Planwechsel und eine Gutschrift für den ungenutzten Teil. Geldbeträge werden dezimal berechnet und einmal gerundet.
- Ein Aufruf entscheidet über die Berechtigung. Er beantwortet, ob ein Konto eine Funktion nutzen darf – gemessen an seinem Limit plus Guthaben – und sagt bei einer Ablehnung, warum, statt nur false zurückzugeben.
- Sie bleiben Merchant of Record. Direct Charges über Stripe Connect werden auf Ihrem eigenen Konto abgerechnet. Sie behalten Ihr Stripe-Dashboard, und Rückbuchungen landen auf Ihrem Saldo, nicht auf unserem.
- Angebote, Zahlungsziele und Offline-Zahlung. Der Großteil des B2B-Umsatzes läuft nie über eine Karte. Erstellen Sie ein Angebot, geben Sie es zur Freigabe, und verbuchen Sie die Überweisung auf der Rechnung – auch als Teilzahlung.

03 · Mandanten und Rollen
Die Benutzer, Mandanten und Rollen Ihrer Kunden
Ein Endnutzer gehört über eine Mitgliedschaft zu einer Organisation, und die Mitgliedschaft trägt eine Rolle. Rollen vergeben Rechte aus einem Berechtigungskatalog, den Ihre eigene Anwendung definiert – so ist die Frage, was eine Person darf, eine Frage mit Antwort statt einer Konvention.
- Ein Aufruf für beide Fragen. `access.check` nimmt eine Funktion oder ein Recht entgegen. Derselbe Aufruf beantwortet „Ist dieses Konto berechtigt?“ und „Darf dieser Benutzer das?“, sodass Autorisierung und Abrechnung bei derselben Anfrage nie uneins sein können.
- Rollen, die Sie definieren. Owner, Admin und Member sind nur ein Ausgangspunkt. Eine Rolle ist ein Schlüssel und eine Liste von Rechten, und die Rechte-Schlüssel sind Strings, die Ihr Code bereits prüft.
- Ein Mandant ist kein Kunde. Die Organisation, bei der sich Ihr Benutzer anmeldet, und das Konto, dem Sie Rechnungen stellen, sind getrennte Datensätze, verknüpft, wo sie übereinstimmen. Ein Unternehmen kann mehrere Mandanten sein – oder mehrere Unternehmen eine Rechnung.

04 · Prepaid-Nutzung
Nutzung verkaufen, bevor sie anfällt
Nicht jedes Produkt rechnet einen Monat im Nachhinein ab. Verkaufen Sie ein Paket Tokens, ein Kontingent an Minuten oder ein Aufladeguthaben, und lassen Sie dieselben Meter es abbauen – so sind das, was ein Kunde kauft, und das, was er verbraucht, eine Zahl statt zwei, die abgeglichen werden müssen.
- Guthaben gegen einen Meter. Eine Gutschrift ist eine Menge einer gemessenen Funktion, mit Ablaufdatum. Die Nutzung baut sie ab, bevor sie abrechenbar wird, sodass ein Kunde nie für etwas zahlt, das er bereits gekauft hat.
- Ein Wallet, das Rechnungen bezahlt. Ein Prepaid-Guthaben pro Konto, das auf eine Rechnung angerechnet wird, bevor eine Karte belastet wird – mit einem Schwellenwert, der meldet, wenn es knapp wird.
- Abgelehnt vor der Ausgabe. Fragen Sie nach der Menge, die Sie gleich verbrauchen. Eine Anfrage, die das Kontingent überschreiten würde, wird abgelehnt, bevor die Arbeit passiert – statt als Mehrverbrauch auf einer Rechnung aufzutauchen, mit der niemand gerechnet hat.

Für Entwickler
Ein Aufruf – und er sagt Ihnen, warum
Ein bloßes false schickt jemanden ins Dashboard, um zu raten. Jede Ablehnung enthält den Grund, das Limit, was verbraucht ist und was übrig bleibt – damit die Fehlermeldung, die Ihr Kunde sieht, etwas Nützliches sagen kann. Dieselbe Oberfläche gibt es als REST-API, sieben Client-Bibliotheken, eine CLI und einen MCP-Server.
- 400
- API-Operationen in der veröffentlichten OpenAPI-Spezifikation
- 7
- offizielle SDKs, von TypeScript bis C#
- 0
- Fremdabhängigkeiten in jedem davon
const decision = await base316.access.check({
externalId: "acct_globex",
feature: "api.calls",
requested: 1,
});
// Refused, and it says why — not a bare false.
{
allowed: false,
reason: "USAGE_LIMIT_EXCEEDED",
usage: {
used: 1_000_000,
limit: 1_000_000,
credits: 0,
remaining: 0,
},
}So funktioniert es
Vier Aufrufe, und Sie rechnen ab
Client installieren, Benutzer anmelden, festhalten, was passiert, und vor der Arbeit fragen. Pläne, anteilige Berechnung, Rechnungen, Mahnwesen und Berichte ergeben sich daraus, ohne dass sich sonst etwas in Ihrem Code ändert.
01
Installieren und mit Ihrem Schlüssel verbinden
Ein Client für die gesamte Oberfläche: Auth, Zugriff, Ereignisse, Kunden und Abonnements. Das Präfix des Schlüssels sagt, für welche Umgebung er gilt, sodass ein Sandbox-Schlüssel nicht versehentlich Produktionsdaten berühren kann.
install.ts# Node, or any of six others pnpm add @base316/sdk import { Base316 } from "@base316/sdk"; const base316 = new Base316(); // Reads BASE316_SECRET_KEY from the environment.02
Anmeldung auf Ihre oder unsere Art
Leiten Sie Benutzer auf eine Seite, die Base316 hostet und in Ihrem Branding gestaltet, und tauschen Sie den zurückgegebenen Code gegen eine Sitzung. Oder behalten Sie Ihre eigenen Screens und rufen dieselben Flows direkt auf – Sitzung, MFA-Faktoren und SSO-Routing sind in beiden Fällen identisch.
signin.ts// Our hosted page — send them here, they come back with a code. const session = await base316.auth.exchangeCode({ code }); // Or your own screens, against the same flows. await base316.auth.signUp({ email, password }); await base316.auth.session(token);03
Erfassen, was Ihre Kunden nutzen
Senden Sie ein Ereignis dort, wo die Arbeit passiert. Der Idempotenzschlüssel ist Pflicht und nicht optional, weil ein Wiederholungsversuch nach einem Netzwerk-Timeout dieselbe Arbeit nicht doppelt abrechnen darf – und nur Sie wissen, was „dieselbe Arbeit“ bedeutet.
usage.tsawait base316.events.record({ event: "api.call", externalId: "acct_globex", payload: { count: 1 }, idempotencyKey: requestId, }); // Required, not optional: a retry after a timeout // must not bill the same work twice.04
Vor der Arbeit fragen
Derselbe Aufruf nimmt eine Funktion oder ein Recht entgegen und beantwortet so „Hat dieses Konto noch Kontingent?“ und „Darf dieser Benutzer das?“. Eine Ablehnung enthält den Grund, das Limit und was übrig ist – genug, um jemandem etwas Nützliches zu sagen statt nur „Nein“.
gate.tsconst { allowed, reason, usage } = await base316.access.check({ externalId: "acct_globex", feature: "api.calls", }); if (!allowed) { return tooManyRequests(reason); } // The same call, asking about a person in that account. await base316.access.check({ externalId: "acct_globex", userId, permission: "billing.manage", });
Sicherheit
Der Mandant kommt aus dem Schlüssel, nie aus der Anfrage
Workspace, Projekt und Umgebung jeder Anfrage werden aus dem API-Schlüssel gelesen, der sie gestellt hat. Eine ID in einer URL oder im Body ist nie ein Nachweis für eine Berechtigung.
Isolation, getestet wie von einem Angreifer
Das Vertauschen von IDs zwischen Mandanten ist Teil der Testsuite. Eine Ressource, die Ihnen nicht gehört, und eine, die nicht existiert, erhalten dieselbe Antwort.
Secrets, die wir nicht preisgeben können
Secret Keys werden nur als SHA-256-Digest gespeichert und einmal angezeigt. Zugangsdaten von Anbietern, die Sie uns geben, werden mit AES-256-GCM verschlüsselt.
Die Sandbox erreicht die Produktion nicht
Jedes Projekt hat eine Sandbox- und eine Production-Umgebung, und das Präfix des Schlüssels wird bei jeder Anfrage erneut gegen die Umgebung geprüft.
Gehostete Seiten ohne JavaScript
Anmeldeseiten werden serverseitig unter einer strikten Content-Policy gerendert, mit PKCE, CSRF-Schutz und einmalig gültigen 60-Sekunden-Codes.
Preise
Kostenlos starten. Upgraden, wenn die Limits greifen.
Einfache Pläne, die mit deinem Team wachsen. Upgrade, wenn du bereit bist.
Free
Das Produkt ohne Verpflichtung erkunden.
- 1 project, with production access
- 1,000 end users · 100 customers
- 100k metered events a month
- Multi-factor authentication included
- 7-day event retention
- Kernfunktionen des Produkts
- Community-Support
Pro
Für Teams, die über Workspaces zusammenarbeiten.
14 Tage kostenlose Testphase
- 5 projects · 5 seats
- 25,000 end users · 5,000 customers
- 5M metered events a month
- Invoicing, payment collection and dunning
- Custom branding and impersonation
- 90-day event retention
- Erweiterte Produktfunktionen
- Bis zu 5 Mitglieder
- E-Mail-Support
Scale
Für Produkte mit hohem Produktionsvolumen.
- Unlimited projects and API keys · 20 seats
- 250,000 end users · unlimited customers
- 50M metered events a month
- Custom authentication domain
- 400-day event retention
- Unbegrenzte Projekte und API-Schlüssel
- 250.000 Runtime-Nutzer, 50 Mio. gemessene Ereignisse
- Eigene Authentifizierungs-Domain
- 400 Tage Ereignis-Aufbewahrung
Enterprise
Sicherheit, Support und Konditionen für deine Organisation.
- Negotiated limits rather than a table
- Enterprise SSO, SAML 2.0 and your own issuer
- Dedicated support and an agreed response time
- Invoicing on your terms, security review, DPA
- Dedizierter Support
- Unbegrenzte Workspaces
Fragen
Was Teams vor dem Wechsel fragen
Klare Antworten zu Abrechnung, Identität und Umstieg.
Loslegen
Bauen Sie Ihr Produkt, nicht die Abrechnung
Free ist ein echter Tarif mit Produktionszugang, keine Sandbox. Starten Sie dort und upgraden Sie, wenn die Limits wirklich greifen.
- Produktionszugang mit Free
- Keine Karte nötig
- Import-Vorlagen für Chargebee, Lago, Stripe und Clerk
Wählen Sie Ihren Einstieg
