Inspiration

It came from Bitwarden and 1Password, but with more unique capabilities, such as leveraging the power of LLMs and Auth0 Token Vault, never to store the user's password.

What it does

Anzen is an AI Chief of Staff that connects to your GitHub, Gmail, and Slack and takes action on your behalf. All you do is ask it to list your open issues, summarise unread emails, or check your Slack channels, and it handles it securely; the difference Anzen never sees your credentials. Every OAuth token is sealed inside the Auth0 Token Vault. When the agent needs to call an API, it requests a scoped token through Token Vault, uses it immediately, and it's gone.

How we built it

Frontend/Backend: Next.js 16 + TypeScript AI: Vercel AI SDK + Groq (llama-3.3-70b-versatile) Auth: Auth0 v4 (nextjs-auth0) and Token Vault APIs: GitHub (Octokit), Gmail (googleapis), Slack (@slack/web-api) Deployment: Vercel

Challenges we ran into

The biggest problem was working with Auth0 Token Vault. The documentation for nextjs-auth0 version 4 is very different from version 3. For example, handleAuth no longer exists, middleware has been replaced by a proxy file and the environment variable names have completely changed. I also ran into a specific issue where getAccessToken() returns an Auth0 JWT instead of the actual provider token I needed. Another challenge was with Groq. It does not accept tool schemas that include the $schema field, which Zod adds automatically. To fix this, I had to switch to using jsonSchema() from the AI SDK so the schema would be accepted.

Accomplishments that we're proud of

Built a complete three-tier permission model baked into the architecture. The agent responds intelligently to natural language queries. Zero credentials are stored in the application at any point.

What we learned

Token Voult is the future for AI agents that need to act on behalf of users. I also learned that AI SDK versions have significant breaking changes that require careful reading of the actual installed SDK source rather than documentation.

What's next for Anzen 安全

Complete Token Vault token exchange (pending Auth0 support confirmation of correct parameters), Step-up authentication for sensitive action, audit log with full action history and mobile app via react native

Built With

  • auth0
  • github
  • googleapis
  • groq
  • nextjs
  • octokit
  • slack-web-api
  • tailwindcss
  • token-vault
  • typescript
  • vercel
  • vercel-ai-sdk
Share this project:

Updates