Inspiration
AI-generated content is becoming easier to create and harder to trust. A screenshot, article, policy memo, or company announcement can be generated in seconds, but there is often no reliable way to prove where it came from, who authorized it, or whether it was changed later.
We built Vellum because we wanted AI content to carry its own provenance. Instead of asking people to “just trust” an output, Vellum creates a verifiable proof trail around it.
What it does
Vellum is an AI provenance studio. A user can generate AI text, apply an invisible watermark, sign the output, anchor a proof, and later verify the artifact.
Each proof bundle can show:
- the generated text hash
- watermark verification status
- issuer signature verification
- chain anchor receipt
- Auth0 user identity for secured agent actions
- optional browser wallet proofs from MetaMask or Phantom/Solana wallets
We also deployed separate demo environments for public demo mode, wallet-proof mode, and Auth0-protected mode.
How we built it
Vellum uses a FastAPI backend and a React/Vite frontend. The backend handles generation, watermarking, verification, issuer registry, proof bundles, and chain anchoring. The frontend provides a redesigned Studio flow for writing, signing, anchoring, and proving AI artifacts.
We integrated Auth0 so protected AI actions can be tied to a verified user identity. We also added browser wallet proofs: MetaMask signs EVM proofs client-side, and Phantom/Solana wallets sign Ed25519 proofs client-side. Private keys are never sent to the backend.
For deployment, we containerized the app and deployed it on DigitalOcean App Platform with GitHub Actions. We maintain separate DigitalOcean environments for the public demo and Auth0-protected demo.
Challenges we ran into
The biggest challenge was connecting multiple trust systems without making the demo confusing. Auth0 proves user identity, wallet signatures prove wallet control, watermarking proves generated content integrity, and chain anchoring proves the proof existed at a point in time.
We also had to merge a redesigned frontend with an existing backend API without losing working features. Another challenge was balancing real blockchain support with a reliable hackathon demo, so the current deployed environments use a simulated chain while preserving Solana support in the codebase.
Accomplishments that we're proud of
We are proud that Vellum is not just a mockup. It has a working backend, deployed frontend, proof bundle generation, Auth0-protected routes, browser wallet verification, and automated DigitalOcean deployment.
We are also proud of the end-to-end provenance story: an AI output can be generated, watermarked, signed, anchored, and later verified with human identity and wallet ownership attached.
What we learned
We learned that provenance is not one single technology. It is a stack of checks: identity, cryptographic signatures, content hashing, watermarking, and durable records all reinforce each other.
We also learned how important demo reliability is. Some integrations, like full live Solana anchoring, require funded wallets and external RPC availability, while browser wallet proofs can show strong user-controlled trust without giving the backend custody over anyone’s funds.
What's next for Vellum
Next, we want to add fully client-submitted Solana Memo transactions, where the browser wallet submits the anchor and the backend verifies it on-chain. We also want to move from SQLite demo storage to DigitalOcean Managed Postgres for durable production data.
Longer term, Vellum could support public proof pages, organization-level issuer policies, stronger audit logs, and integrations for publishers, schools, and companies that need to prove the origin of AI-assisted content.
Code link: https://github.com/owenisas/vellum
Built With
- auth0
- digitalocean
- gemma4
- python
- react
- solana
- sqlite

Log in or sign up for Devpost to join the conversation.