Banata

Packages

Convex Integration

Platform-runtime reference for self-hosting Banata on Convex.

@banata-auth/convex is the platform-runtime package behind Banata.

Use it when you are:

  • operating the hosted Banata service
  • self-hosting the Banata platform
  • working on Banata's internal runtime and plugins

Do not treat it as the default customer-app integration path.


What It Is Responsible For

Inside a Banata platform deployment, @banata-auth/convex provides:

  • the packaged Convex component registration
  • packaged component schema
  • packaged component migrations
  • Better Auth runtime helpers
  • the custom Banata plugins for emails, API keys, projects, RBAC, orgs, vault, and audit logs

The platform keeps a thin local convex/banataAuth/ folder only for the pieces that cannot live entirely inside the component environment.


Minimal Local Files

text
convex/
|-- convex.config.ts
|-- auth.config.ts
|-- authNode.ts
|-- http.ts
`-- banataAuth/
    |-- auth.ts
    |-- adapter.ts
    `-- schema.ts

Why these remain local:

  • banataAuth/auth.ts binds deployment env and runtime config
  • banataAuth/adapter.ts closes over the local auth factory
  • banataAuth/schema.ts is still needed as a local codegen anchor for Convex components

Everything else should come from the package.


Product Boundary

The important product rule is:

  • apps authenticate through a Banata dashboard project
  • project scope comes from a project-scoped API key
  • self-hosting still keeps that same dashboard-first flow

So @banata-auth/convex powers the Banata platform, while customer apps normally use: