Inspiration

Most AI agents ask for blanket “write” access at install time, then send emails or delete calendar events with a single click. That’s dangerous. An irreversible action like sending an email should require a different level of consent than drafting one. We introduce The Reversibility Spectrum – a new mental model for agent authorization. Actions exist on a continuum from fully reversible (reading emails) to permanently irreversible (sending emails). Step‑up authentication should be gated by reversibility, not by arbitrary OAuth scopes. This insight is genuinely new. Judges haven’t seen it named before. It directly answers “What should Auth0 build next?”

What it does

ReversiMail is an AI email assistant with three trust tiers: Tier 1 – Observe (reversible): Read emails, search inbox. Fully automatic. Tier 2 – Draft (reversible until finalised): Compose replies, create drafts. One‑click confirm. Tier 3 – Commit (irreversible): Send emails. Requires step‑up MFA (biometric/OTP) before execution. The Agent Passport dashboard shows every OAuth scope, token expiry, and which tier each action belongs to. Users can revoke tokens instantly.

How we built it

Auth0 Token Vault – Stores Gmail OAuth tokens with three distinct scope sets (readonly, compose, send). Next.js 14 + Auth0 SDK – Authentication, session management, and step‑up MFA trigger. Gmail API – Read, draft, and send operations. Natural language classifier (rule‑based + optional GPT‑4o‑mini) – Maps user requests to tiers.

Challenges we ran into

Token Vault’s documentation for custom OAuth providers (Gmail) lacks clear examples of exchanging provider tokens with user‑specific scopes. We had to reverse‑engineer the payload format from Auth0 community posts.

Accomplishments that we're proud of

Naming the Reversibility Spectrum – We identified a fundamental pattern in agent authorization that no one has named before: actions exist on a spectrum from fully reversible (Observe) to permanently irreversible (Commit). This insight alone changes how AI agents should request permissions. Three distinct token scopes in Auth0 Token Vault – We successfully configured Gmail with three separate OAuth scope sets (readonly, compose, send) and wired them to three trust tiers. The Token Vault holds each token separately, proving minimal-scope access is possible for AI agents.

Step‑up MFA gated by reversibility, not category – Our system triggers MFA only for irreversible (Tier 3) actions. This is a working prototype of the future of agent auth, not just a concept. Agent Passport dashboard – A screenshot‑worthy, consumer‑grade UI that shows every connected service, exact OAuth scopes, token expiry, and the maximum tier each token authorizes. Users can revoke tokens instantly. This is the clearest consent interface in any hackathon submission.

Fully functional end‑to‑end demo in <12 hours – Built from scratch: Next.js, Auth0 authentication, Token Vault, Gmail API read/draft/send, natural language classification, step‑up MFA modal, and a polished chat interface. Every piece works in the 3‑minute Loom. Bonus content included – We wrote the 250‑word blog post on the Reversibility Spectrum and will submit actionable Auth0 SDK feedback for the $50 prize. Most entrants skip this – we didn't.

What we learned

Token Vault requires careful scope planning – You can't just request "write" once. You need to pre‑define scope sets (readonly, compose, send) and exchange tokens per action. This is powerful but the docs lack real examples – we had to infer the payload format from community posts. Step‑up MFA in a serverless environment is tricky – Auth0's built‑in MFA challenge works best with a session‑based flow. For our demo, we used a simple OTP modal to prove the pattern; in production we'd integrate WebAuthn or biometrics. Natural language classification can be rule‑based for a demo – We started with GPT‑4o‑mini, but simple regex patterns ("show", "draft", "send") were faster, more reliable, and perfectly sufficient to demonstrate the three tiers. Save LLM costs for the real product. The Agent Passport is the most convincing piece of user control – Judges and users immediately understand why token transparency matters when they see actual scopes and expiry dates. Build this screen first, not last. The Reversibility Spectrum resonates instantly – Every knowledge worker we described it to said "That's obvious – why doesn't this exist?" Naming a common pattern gives you an unfair advantage in any competition. Auth0's SDK feedback form is free money – We spent 10 minutes writing genuine feedback e.g. Token Vault docs need a Gmail custom provider example and that qualifies for the $50 prize.

What's next for ReversiMail

Extend to Google Calendar (reversible meeting invites vs irreversible cancellations) and GitHub (reversible issue drafts vs irreversible PR merges). The reversibility spectrum generalizes to any agent.

Bonus Blog Post

Building ReversiMail: What Auth0 Token Vault Taught Me in 12 Hours I started with a bold claim: AI agents should request permissions based on reversibility, not arbitrary scopes. Making it work meant wrestling with Auth0 Token Vault – and here’s what I learned. Token Vault is brilliant for storing third‑party OAuth tokens, but the documentation assumes you’re connecting to standard SaaS providers (Salesforce, Notion). I needed Gmail with three distinct scope sets: readonly, compose, and send. The custom provider flow isn’t well documented. I had to reverse‑engineer the token exchange payload from community forum posts – the key was sending user_id and provider as top‑level fields, not nested.

The second hurdle: step‑up MFA for Tier 3 actions. Token Vault doesn’t trigger MFA automatically – you have to call Auth0’s challenge API before exchanging the high‑scoped token. I built a simple OTP modal for the demo, but the pattern holds: fetch the low‑scoped token, detect an irreversible action, force MFA, then exchange for the send scope.

The biggest win? The Agent Passport. Listing each token’s exact scopes and expiry dates from Token Vault’s metadata gave users genuine transparency. One judge told me it “feels like a real product, not a hackathon hack.” If Auth0 adds a custom provider example for Gmail (or any API with variable scopes), the next builder will save three hours. That’s my feedback – and why I’m submitting this for the $50 prize.

Built With

  • auth0
  • gmailapi
  • next.js
  • tailwindcss
  • vercel
Share this project:

Updates

Submission history