01 / VITNI
The current stack
The product foundation uses a Nuxt web app, a NestJS API, PostgreSQL with row-level tenant isolation, and standards-based OIDC. Docker Compose starts the local development dependencies with Keycloak and Mailpit; hosted prelaunch uses ZITADEL, Cloudflare Workers, Render, Neon, and Resend.
Organizations use the web workspace to manage an issuer, achievements, memberships, credentials, and pathways. Public credential and issuer documents are served by the application for recipients and verifiers.
- Nuxt web application
- NestJS API and scheduled email worker
- PostgreSQL database with a transactional email outbox
- Keycloak OIDC for local development; ZITADEL for hosted prelaunch
02 / VITNI
What you can run locally
The repository includes setup commands and Docker Compose services for local development. The developer guide explains how to prepare the environment and work on the application.
Local defaults, sample secrets, ports, identity-provider settings, and test mail configuration are intended for development. They are not production deployment instructions.
03 / VITNI
What remains before production self-hosting
Vitni does not yet provide the approved guided operator setup, a supported upgrade path, production identity-provider guidance, or platform-operator administration. Backup and restore, operational metrics, secure key custody and recovery, and a security review also remain before a production self-hosting release.
The production hosted SaaS infrastructure and managed signing-key provider have not been selected. The Community edition is planned as a useful self-hostable product, but the license and contribution terms are still undecided.
GO DEEPER
Step-by-step product documentation
Use the Vitni documentation for the operational details behind this workflow.
Open the local development setup guide