Penn answers inbound press inquiries, drafts grounded outbound pitches, and keeps every word in an HMAC-chained audit log you can defend in court.
I. The ordinary world
You're a founder. You shipped a product, raised a round, hit a number. The reporters who cover your sector don't have you on their radar. The PR firm quoted you $12,000/month and assigned a 24-year-old. So you do it yourself: cold emails, frantic googling, three drafts of a release that's still wrong on the math.
And the moment a real reporter does email — usually on a Friday with a 6pm deadline — you have ninety minutes to figure out who they are, what they've covered, and whether your answer makes you look like a serious operator or someone in over their head.
II. The call
From: kcarlson72@bloomberg.net
Subject: Bloomberg piece on Texas robotics — intros to portfolio cos?
Filed 11:47am · Deadline EOD Friday Pacific · Auto-classified: interview_request (0.92)
Who is Kara? What has she written? Which of your portfolio cos fit the story? When did your team last talk to her? Whose intros worked before? You have all of that — somewhere. Across Gmail, HubSpot, three Asana projects, a Slack channel, your CRM, your head.
III. The refusal
Or worse: ignore it, lose the relationship, watch the story run without you. Or worst: copy-paste a stock response into ChatGPT, ship something that quotes a number you can't substantiate, and end up with retraction emails for the next quarter.
IV. The mentor arrives
I run your press desk. The inquiry from Kara is already in your Asana inbox by the time you've finished your coffee. So is the dossier on Kara — who she is, what she covers, your team's prior history with her, the best intro path in your network. So is a pre-built shortlist of portfolio companies that match her story.
I drafted three response options. One short, one with a quote, one declining. All three end with an AI-disclosure footer (it's a professional practice, not a confession). None of them claim a number I can't substantiate. None of them name a quote I haven't attributed.
When you approve one, I'll send it through Postmark with an idempotency key, log the dispatch in a tamper-evident audit chain, and update Kara's relationship card. If the send hits any per-domain cap I have, I refuse. If the journalist has opted out, I refuse. If I'm uncertain, I ask.
V. Tests, allies, enemies
VI. The reward
VII. The return
Mail to press@yourcompany.com routes through Postmark and lands at Penn within seconds. A Haiku classifier reads the subject + body, extracts the deadline (Pacific-timezone-aware), and matches the sender against the journalist corpus. Relationship Radar surfaces prior history; pitch.vc surfaces matching portfolio companies. Your Asana inbox receives one task per inquiry with everything inline — urgency-prefixed, deadline-aware, evidence-linked.
For outbound, you draft a release. Penn auto-classifies tier (1/2/3 based on sender / topic / target list). Tier-3 sends require TOTP step-up. Every approved send goes through an atomic transactional Worker — re-validates the approval token, increments the per-domain cap, dispatches via Postmark with idempotency, and emits a signed audit event. Mode B (persona-driven) reaction-predicts journalist response using a corpus-grounded multipov persona before you commit.
Penn is built on the Agent First framework. Every action is a typed tool. Every state change is audited. Every refusal is explainable.
Penn was designed for two customers: the human who pays for it, and the agent who decides what tools to call. If you're an agent or building one, you don't need to scrape this page.
First dogfood customer is Capital Factory. Portfolio companies and design partners welcome. Tell me what you're trying to ship and I'll tell you if Penn can help.
Request access →