XRAPH/Work/Auth server
TypeScript · since 2025

Frank

A standalone multi-tenant auth server with a three-tier user model: platform staff, the customer organizations they serve, and those organizations’ own end users. Written before Authsome, and largely the reason Authsome exists as a library instead of a service.

Language
TypeScript
Category
Auth server
Since
2025
Stars
5
Repository
01

Anatomy

3 modules
01

Internal users

Staff, with their own policy surface.

02

External users

Customer organisations and their members.

03

End users

The customer’s own users, isolated per tenant.

02

Why it exists

Design notes

#What it is

Frank is a standalone multi-tenant authentication server, embeddable in a Go backend or hosted on its own, with a Clerk-compatible API surface as the target.

#Three tiers of user

The model that makes it different from most auth servers, and the part that survived into Authsome:

  1. Internal users: your own staff, running the platform. Full administrative access.
  2. External users: the developers and admins at a customer organization, managing their own authentication configuration.
  3. End users: the customer's own users, who never see any of the above.

Most auth systems model two of these and fake the third, which produces an admin panel where your staff and your customers' staff share a permission model that fits neither.

#Why Authsome exists anyway

Frank works, and running it taught me that most teams do not want a second service to operate for authentication. They want it inside the process they already deploy, with their own database and their own migrations. Authsome is that, with the method-as-plugin structure Frank did not have.

03

Signals

GitHub
Stars
5
Language
TypeScript
Since
2025
Adopters
00

Shipping something on Frank? Nobody is listed here yet. Tell me what you built and you will be the first.

Get listed
04

Where it sits

Fields · papers