How Frank works
Frank is an internal Q&A platform. Anyone with a @heygen.com email can post, moderated by an LLM, anonymous if you choose.
Anonymity
When you post anonymously, Frank stores nothing that identifies you. The question table in our database has no user_id column. There is no place to put it. Real-name posts write to a separate question_authored table (opt-in per post). Anonymity is enforced by the database schema, not by a UI toggle.
Sign-in events are logged for security. They never join to content. An admin with full database access can see who signed in, but cannot see what any signed-in user posted anonymously.
Reactions
Reactions are attributed. Posts are anonymous by default, but if you leave a reaction on someone’s post, your name and photo show up. That’s a deliberate design choice. Reactions are a signal that you want an answer, and knowing who is asking is part of what makes it useful. Only signed-in @heygen.com accounts can react.
Moderation
Every submission goes through a short conversation with Frank. He asks a clarifying question or two to help you turn a raw feeling into a specific, actionable question, and shows you his distilled version before publishing. You always approve.
If your input is purely negative with no concrete ask, Frank politely declines and invites you to try again.
Admins see the moderated content by default. To see the original(pre-moderation) input for a post, an admin has to click “Show original.” Every reveal is logged in a publicly readable audit trail.
Open source
Frank’s code lives at github.com/heygen-com/frank.ai. Every claim on this page is verifiable in the source, from the schema to the RLS policies to the moderator prompt.