Edge Functions

Your code, next to your identity

A Deno runtime with npm support, deployed to every edge, with the session already resolved when your handler runs. The custom logic that identity always needs, without a backend to operate

Edge Functions/Functions · production

Functions

TypeScript deployed to every edge, next to your identity data.

3 functions · 31 edgesNew function
deployed
export default async function (req) {
const { user } = req.session;
await crm.upsert(user.email);
return Response.json({ ok: true });
}
Writing them

Writing them

An editor in the dashboard for a quick change, and a CLI for everything real

Edge Functions/Functions

Overview

How your functions behaved over the last 30 days.

3 functions · 31 edges

Invocations

2.6M

+12%

p95 latency

11ms

-3ms

Error rate

0.04%

-0.01%

Edges

31

all live

Invocations per day

p95 latency

Invocations, p95 and error rate per function — the numbers you check before and after a deploy

TypeScript first

No build step to configure; types are the default, not an add-on

npm support

Import from npm directly, with the packages you already depend on

In-dashboard editor

Full editor with autocomplete for a fix you do not want to redeploy for

Secrets

Injected at runtime and versioned per key, never in the source

Edge network

Everywhere your users already are

A function that runs beside the identity service never has to ask another service who the caller is — and it runs at every edge, so that answer is close to whoever asked

31
edges
12
regions
5–14ms
p95, edge to token
gru1scl1iad1sfo1lhr1cdg1fra1jnb1bom1sin1nrt1syd1

Session in context

The authenticated user is already on the request when you get it

Local verify

Permission checks with no cross-network hop to pay for

Auth hooks

Run your logic during sign-up, sign-in or token issuance

Global by default

Deployed to every edge, close to whoever is calling

Operating them

Operating them

Deploys you can watch, and undo

Deployment

on-signup · v18 · deploying to 31 edges

running3 of 4 stepsdep_16tbwq34
Initialize0.4ssucceeded
Build6.1ssucceeded
Deploy2.8ssucceeded
Promote1.2srunning

Deployment logs

12:04:02 initialize resolved 4 npm packages

12:04:03 build bundled 18.2 kB

12:04:09 deploy uploaded to 31 edges

12:04:11 promote routing 12% of traffic

Initialize, build, deploy, promote. Every step timed, every deploy reversible

Versions

Every deploy kept, with a one-click rollback

Function logs

stdout, errors and duration, streamed and queryable

Deploy history

Deploys, secret changes and rollbacks, recorded per function

Cold-start budget

Isolates, not containers — measured in milliseconds

Express, if that is what you want

npm packages work. Bring the framework you already know, or serve a bare fetch handler — the runtime does not have an opinion.

edge-functions.ts
import express from "npm:express";

const app = express();
app.use(express.json());

app.post("/user/:id", (req, res) => {
  res.json({ userId: req.params.id, status: "ok" });
});

Deno.serve((req: Request) => app(req));

One platform, from your first user

Focus on your product. We handle identity infrastructure

What you would have built

Six areas, every one of them a project of its own.

  • Authenticationpasswords, providers, MFA, sessions
  • AuthorizationRBAC, scopes, per-resource grants
  • OAuth serverOIDC discovery, JWKS, PKCE
  • Edge functionsDeno runtime, deploys, rollback
  • Notificationstemplates, providers, delivery logs
  • Observabilitymonitoring, audit trail, query
Roughly9 engineer-months · $135,000You start at$0