Identidad · Medición · Facturación

Dales acceso. Mide lo que usan. Cóbraselo.

Base316 reúne identidad y facturación por uso en un solo plano de control. Una única llamada responde si una cuenta puede hacer algo y quién lo paga, así que los derechos de acceso, la medición y las facturas no pueden desincronizarse.

  • Free incluye producción
  • Sin tarjeta para empezar
  • SDK en 7 lenguajes
Decisión de accesoPOST /v1/access/check
externalId
"acct_northwind"
feature
"ai.tokens"
externalUserId
"usr_ada"
permission
"reports.export"
requested
2000
allowed: truePro · v3 · activo

Restante en este periodo

237.600

  • Usado en este periodo812.400
  • Cupo del plan1.000.000
  • Créditos prepagados50.000
  • Rol que lo autorizóadmin · direct

Cifras ilustrativas. Los campos son la respuesta real de una comprobación de acceso: la decisión, el uso que la respalda y el rol que la concedió.

  • Producción en Free

    Claves en vivo desde el primer día, no un sandbox.

  • Tú eres el comerciante

    Los pagos se liquidan en tu cuenta de Stripe.

  • Sin cobros dobles

    Cada evento de uso lleva una clave obligatoria.

  • Importes exactos

    Calculados en aritmética decimal, redondeados una vez.

  • 7 SDK oficiales

    Ninguno con dependencias de terceros.

Por qué una sola plataforma

Dos sistemas que suelen desincronizarse

La identidad y la facturación suelen ser productos separados unidos con webhooks, y discrepan en cuanto uno de ellos se retrasa. Aquí comparten un modelo, y una sola llamada responde a las dos mitades de la pregunta.

El stack habitual

Tres registros, unidos por webhooks

Proveedor de autenticaciónusuarios · sesiones
webhook: tarde, reintentado o perdido
Sistema de facturaciónplanes · facturas
webhook: tarde, reintentado o perdido
Tu base de datosquién puede hacer qué
  • Un plan cancelado sigue desbloqueando funciones hasta que llega un webhook.
  • Un usuario nuevo existe en la autenticación antes de que la facturación conozca la cuenta.
  • El uso se cuenta en tu código y se vuelve a contar para la factura.

Base316

Un registro, leído de tres formas

Una cuenta · una versión de plan · un registro de uso

Identidad

Usuarios, tenants, roles y sesiones

Derecho de acceso

Lo que concede el plan, medido en vivo

Facturación

Facturas a partir del mismo uso

  • La comprobación que desbloquea una función lee el plan que la factura.
  • El uso se mide una vez, y la factura se calcula a partir de él.
  • Un permiso y un cupo se responden en la misma llamada.

Recorrido por el producto

Del inicio de sesión a los ingresos cobrados, en un solo panel

Seis etapas de una petición, cada una con la pantalla que la gestiona. Capturadas del producto en funcionamiento con datos de demostración.

01 · Identidad

Nuestra página de inicio de sesión, o la tuya

Envía a tus usuarios a una página alojada que Base316 personaliza con tu marca y mantiene, y vuelven con la sesión iniciada. Contraseñas, passkeys, un enlace mágico o el proveedor de identidad de su empresa: la misma página, la misma sesión. O conserva tus propias pantallas y controla los mismos flujos con el SDK: la sesión, los factores de MFA y el enrutamiento SSO son idénticos en ambos casos.

app.base316.comDatos de demostración
Páginas de inicio de sesión alojadas configuradas en Base316, con una vista previa en vivo de la página que ven los usuarios finales

Plataforma

Lo que de otro modo comprarías a cuatro proveedores

Identidad, facturación, multi-tenencia y uso prepagado, compartiendo un mismo modelo de tus cuentas.

01 · Identidad

El proveedor de identidad, no un envoltorio de otro

Un emisor por entorno, diseñado deliberadamente a imagen de Cognito, para que una aplicación que ya apunta a un user pool pueda redirigirse sin cambiar su código.

  • OIDC y SAML 2.0. Authorization code con PKCE, rotación de refresh tokens, JWKS y userinfo. SAML solo iniciado por el SP, porque una aserción no solicitada no tiene ninguna petición a la que vincularse.
  • SSO empresarial por dominio de correo. Una dirección de trabajo se dirige al proveedor de identidad de la empresa en lugar de a una comprobación de contraseña, y el aprovisionamiento just-in-time crea la cuenta en el primer inicio de sesión.
  • Tus propios campos, tipados. Declara una vez lo que necesitas saber de tus usuarios. El SDK te lo devuelve tipado, generado a partir de un entorno real en lugar de escrito a mano.
api.base316.com/hosted/sign-in
La página de inicio de sesión alojada que ve un usuario final, con el nombre y el color del propio cliente

02 · Facturación

Facturación por uso que cuadra

La cuota por adelantado tras cualquier prueba, el uso a mes vencido, prorrateo al cambiar de plan y una nota de crédito por la parte que nadie usó. El dinero se calcula en decimal y se redondea una sola vez.

  • Una llamada decide el derecho de acceso. Responde si una cuenta puede usar una función, medido contra su límite más los créditos que tenga, y explica el motivo cuando la rechaza en lugar de devolver false.
  • Sigues siendo el merchant of record. Los cargos directos de Stripe Connect se liquidan en tu propia cuenta, así que conservas tu panel de Stripe y los contracargos recaen en tu saldo, no en el nuestro.
  • Presupuestos, plazos de pago y pagos offline. La mayoría de los ingresos B2B nunca pasan por una tarjeta. Haz el presupuesto, envíalo para aprobación y registra la transferencia contra la factura, incluso un pago parcial.
app.base316.com
Los ingresos de un proyecto: ingresos recurrentes mensuales normalizados por moneda, y lo pendiente de cobro

03 · Tenants y roles

Los usuarios, tenants y roles de tus clientes

Un usuario final pertenece a una organización a través de una membresía, y la membresía lleva un rol. Los roles conceden permisos de un catálogo que define tu propia aplicación, así que lo que una persona puede hacer es una pregunta con respuesta y no una convención.

  • Una llamada para ambas preguntas. `access.check` acepta una función o un permiso. La misma llamada responde «¿tiene derecho esta cuenta?» y «¿puede este usuario hacerlo?», así que la autorización y la facturación nunca pueden discrepar sobre la misma petición.
  • Roles que defines tú, no nosotros. Owner, admin y member son un punto de partida. Un rol es una clave y una lista de permisos, y las claves de permiso son cadenas que tu código ya comprueba.
  • Un tenant no es un cliente. La organización en la que inicia sesión tu usuario y la cuenta a la que facturas son registros separados, vinculados cuando coinciden. Una empresa puede ser varios tenants, o varias empresas una sola factura.
app.base316.com
Usuarios finales de un proyecto de Base316, cada uno con el tenant al que pertenece y el rol que lleva sus permisos

04 · Uso prepagado

Vende el uso antes de que se use

No todos los productos facturan a mes vencido. Vende un paquete de tokens, un bloque de minutos o un saldo recargable, y deja que los mismos medidores lo vayan consumiendo, para que lo que un cliente compra y lo que consume sean una sola cifra y no dos que haya que conciliar.

  • Créditos contra un medidor. Una concesión es una cantidad de una función medida, con fecha de caducidad. El uso la consume antes de volverse facturable, así que a un cliente nunca se le cobra lo que ya había comprado.
  • Un monedero que paga facturas. Un saldo prepagado por cuenta, aplicado a la factura antes de intentar cualquier cargo con tarjeta, con un umbral que avisa cuando se está agotando.
  • Rechazado antes del gasto. Pide la cantidad que vas a usar. Una petición que superaría el cupo se rechaza antes de que se haga el trabajo, en lugar de aparecer como un exceso en una factura que nadie esperaba.
app.base316.com
El catálogo de un proyecto: los medidores que cuentan el uso, las funciones que concede un plan y los planes que las venden

Para desarrolladores

Una llamada, y te dice por qué

Un simple false manda a alguien al panel a adivinar. Cada rechazo incluye el motivo, el límite, lo usado y lo que queda, para que el error que ve tu cliente pueda decir algo útil. La misma superficie es una API REST, siete bibliotecas cliente, una CLI y un servidor MCP.

400
operaciones de API en la especificación OpenAPI publicada
7
SDK oficiales, de TypeScript a C#
0
dependencias de terceros en cualquiera de ellos
entitlement.ts
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,
  },
}

Cómo funciona

Cuatro llamadas y ya estás facturando

Instala el cliente, haz que inicien sesión, registra lo que ocurre y pregunta antes de hacer el trabajo. Los planes, el prorrateo, las facturas, la gestión de impagos y los informes se derivan de eso sin que cambie nada más en tu código.

  1. 01

    Instálalo y apúntalo a tu clave

    Un cliente para toda la superficie: autenticación, acceso, eventos, clientes y suscripciones. El propio prefijo de la clave indica a qué entorno pertenece, así que una clave de sandbox no puede tocar datos de producción por accidente.

    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.
  2. 02

    Inicio de sesión a tu manera o a la nuestra

    Envía a los usuarios a una página que Base316 aloja con tu marca e intercambia el código que vuelve por una sesión. O conserva tus propias pantallas y llama directamente a los mismos flujos: la sesión, los factores de MFA y el enrutamiento SSO son idénticos en ambos casos.

    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);
  3. 03

    Registra lo que usan tus clientes

    Envía un evento donde ocurre el trabajo. La clave de idempotencia es obligatoria y no opcional, porque un reintento tras un timeout de red no debe facturar dos veces el mismo trabajo, y solo tú sabes qué significa «el mismo trabajo».

    usage.ts
    await 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.
  4. 04

    Pregunta antes de hacer el trabajo

    La misma llamada acepta una función o un permiso, así que responde «¿le queda cupo a esta cuenta?» y «¿puede este usuario hacerlo?». Un rechazo incluye el motivo, el límite y lo que queda: suficiente para decirle a alguien algo útil en lugar de «no».

    gate.ts
    const { 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",
    });
Bibliotecas clienteTypeScriptPythonGoRubyPHPJavaC#

Seguridad

El tenant sale de la clave, nunca de la petición

El workspace, el proyecto y el entorno de cada petición se leen de la clave de API que la hizo. Un id en una URL o en un cuerpo nunca es prueba de permiso.

  • Aislamiento probado como lo haría un atacante

    La sustitución de ids entre tenants está en la batería de pruebas. Un recurso que no es tuyo y uno que no existe reciben la misma respuesta.

  • Secretos que no podemos filtrar

    Las claves secretas se guardan solo como un digest SHA-256 y se muestran una vez. Las credenciales de proveedores que nos das se cifran con AES-256-GCM.

  • Sandbox no puede llegar a producción

    Cada proyecto tiene un entorno Sandbox y uno Production, y el prefijo de la clave se vuelve a comprobar contra el entorno en cada petición.

  • Páginas alojadas sin JavaScript

    Las páginas de inicio de sesión se renderizan en el servidor bajo una política de contenido estricta, con PKCE, protección CSRF y códigos de un solo uso de 60 segundos.

Precios

Empieza gratis. Sube de plan cuando los límites aprieten.

Planes simples que crecen con tu equipo. Mejora cuando estés listo.

Gratis

Explora el producto sin compromiso.

0 US$
  • 1 project, with production access
  • 1,000 end users · 100 customers
  • 100k metered events a month
  • Multi-factor authentication included
  • 7-day event retention
  • Funciones principales del producto
  • Soporte de la comunidad
Recomendado

Pro

Para equipos que colaboran entre workspaces.

49 US$/mes

14 días de prueba gratis

  • 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
  • Funciones avanzadas del producto
  • Hasta 5 miembros
  • Soporte por correo

Scale

Para productos con tráfico de producción a gran escala.

249 US$/mes
  • 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
  • Proyectos y claves de API ilimitados
  • 250.000 usuarios de runtime, 50 M de eventos medidos
  • Dominio de autenticación propio
  • Retención de eventos de 400 días

Empresa

Seguridad, soporte y condiciones adaptadas a tu organización.

A medida
  • 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
  • Soporte dedicado
  • Workspaces ilimitados

Preguntas

Lo que preguntan los equipos antes de cambiarse

Respuestas directas sobre facturación, identidad y migración.

Empieza

Lanza el producto, no el motor de facturación

Free es un plan de verdad con acceso a producción, no un sandbox. Empieza ahí y sube de plan cuando los límites realmente aprieten.

  • Acceso a producción en Free
  • Sin tarjeta para empezar
  • Plantillas de importación para Chargebee, Lago, Stripe y Clerk