Plataforma

Um projeto, todos os ambientes

Ambientes, chaves, redirects e promoções — a camada operacional que decide se identidade é algo que você publica com confiança ou algo em que você mexe com medo

Platform/Ambientes

Environments

Every environment is a full copy of the project, with its own data.

4 environments · 1 productionNew environment
Productionmainacme.nulvless.coready
Stagingacme-staging.nulvless.coready
Developmentacme-development.nulvless.cobuilding
preview/paymentsacme-preview-payments.nulvless.coerror
Ambientes

Ambientes

Não é uma flag numa linha. É uma cópia completa do projeto — usuários, sessões, provedores, templates e chaves próprios

Platform/Environments

Compare environments

What would change if you promoted development to production.

developmentproductionPromote
MFA requiredfalsetrue
OAuth providersGoogle, GithubGoogle, Github, Apple
Sign-in rate limit100 / min20 / min
Allowed email domains—acme.com
Refresh token enabledfalsetrue
Communication providersMailtrapSendGrid

O diff que você revisa antes de promover. Nada se move até você mandar

Dados isolados

Um usuário de teste nunca aparece em produção, porque é outro banco

Criados sob demanda

Suba um para um release ou um teste, e apague quando terminar

URL própria

Cada ambiente responde no seu próprio issuer, então tokens não cruzam

Chaves próprias

Chaves publicáveis e secretas são emitidas por ambiente, nunca compartilhadas

Promoção

Promoção

Levar configuração adiante é uma ação revisada e registrada, não um checklist que alguém lembra

  • Comparação

    Um diff linha a linha entre dois ambientes antes de mover qualquer coisa

  • Deployments

    Toda promoção registrada, com quem fez e o que mudou

  • Mudanças aplicadas

    Cada merge guarda o antes e o depois de todo campo que escreveu

  • Trilha de auditoria

    Mudanças de configuração caem no mesmo log de todo o resto

Deployment

A promotion between environments, recorded step by step.

development→productionapplied
ALAda Lovelace[email protected]dep_9de2b710yesterday at 11:41

3 steps

Initialize0.3s
Promote authentication4.7s
Promote communications2.1s

Applied changes

Authentication

MFA requiredfalse→true
OAuth provider enableddisabled→enabled
Sign-in rate limit100 / min→20 / min

Communications

Providermailtrap→sendgrid
Custom templatesoff→on

Uma promoção é um merge registrado: origem, destino, cada passo cronometrado, e todo campo que mudou

Membros

Quem está na organização

Acima do projeto está a organização: as pessoas que alcançam o projeto, e o que cada uma pode tocar

Members

Who is in the organization, and what they can reach.

Invite member
MemberRole
ALAda Lovelace[email protected]Owner
GHGrace Hopper[email protected]Admin
ATAlan Turing[email protected]Developer
KJKatherine Johnsoninvited[email protected]Billing
RPRadia Perlman[email protected]Viewer

Membros têm papéis acima do projeto — separados dos papéis dentro do seu produto

Papéis da organização

Owner, admin e billing, separados dos papéis dentro do seu produto

Acesso a projetos

Quais projetos um membro alcança, e o que pode fazer neles

Convites

Convide por e-mail; a vaga só é ocupada quando a pessoa aceita

Remoção

Remova um membro e toda sessão e chave que ele tinha para de funcionar

Auditoria

Toda mudança, registrada

Configuração não deveria mudar em silêncio. Toda ação de qualquer pessoa cai em uma trilha só, que você filtra e exporta

  • Ação e autor

    O que foi feito e por quem, até a configuração individual

  • Categorias

    Segurança, ambientes, permissões, auth e configurações

  • Filtros

    Por membro, por projeto, e em qualquer intervalo de datas

  • Retenção

    Guarde a trilha pelo tempo que sua história de compliance exigir

Audit logs

Who changed what, in which environment, and when.

ActionWhen
Rotated secret keyyesterday at 14:02
Promoted development to productionyesterday at 11:41
Granted role admin2 days ago
Enabled provider apple3 days ago
Deleted environment preview/checkout4 days ago
Added redirect URL6 days ago

Ação, autor, categoria e alvo — com filtro por membro, projeto e data

O mesmo código, outro ambiente

Só a chave muda. Seu código nunca descobre em qual ambiente está, porque nada na API difere entre eles.

platform.ts
const { data: verified } = await nulvless.auth.verify({
  resource: "proj_16tbwq34",
  roles: ["owner", "admin"],
});
Cada produto, cada ambiente

Desenvolvimento e produção são o mesmo projeto

Toda configuração desta página existe por ambiente. Mude em desenvolvimento, compare o diff, promova para produção — sem um segundo projeto, sem config copiada, sem divergência que você descobre numa sexta-feira

Compare environments

What would change if you promoted development to production.

developmentproductionPromote
MFA requiredfalsetrue
OAuth providersGoogle, GithubGoogle, Github, Apple
Sign-in rate limit100 / min20 / min
Allowed email domains—acme.com
Refresh token enabledfalsetrue
Communication providersMailtrapSendGrid

Dados isolados

Usuários, sessões, chaves e templates nunca cruzam a fronteira de um ambiente

Comparação

Um diff linha a linha entre dois ambientes antes de promover qualquer coisa

Deployments

Cada promoção é um deployment registrado, cronometrado passo a passo

Uma plataforma, desde o primeiro usuário

Foque no seu produto. A infraestrutura de identidade é com a gente

O que você teria construído

Seis áreas, e cada uma delas é um projeto por si só.

  • Autenticaçãosenhas, provedores, MFA, sessões
  • AutorizaçãoRBAC, escopos, grants por recurso
  • OAuth serverdiscovery OIDC, JWKS, PKCE
  • Edge functionsruntime Deno, deploys, rollback
  • Notificaçõestemplates, provedores, logs de entrega
  • Observabilidademonitoramento, auditoria, consulta
Aproximadamente9 engineer-months · $135.000Você começa em$0