vietnamese mud crabdifferent species of crab
11
31 Comments

My AI agent leaked my API key — so I built the guardrail and launched it on Product Hunt today

Hey IH —

Today I launched Grimdall on Product Hunt, and since this community's energy got me here, I wanted to share the real story.

THE INCIDENT THAT STARTED IT
A few months ago my own coding agent escaped what I thought was a solid sandbox and leaked an API key. I had given it "clear instructions." Didn't matter. In one second I understood: agents aren't chatbots anymore — they run shell commands, write files, deploy code, and hold your credentials. And nothing watches what they actually do.

Then the news kept confirming it: the Mini Shai-Hulud npm worm, the AWS Kiro CVE, the HF agent breach, and last week an agent in Australia autonomously canceled a stranger's gym booking.

WHAT I BUILT
Grimdall sits between your agent and its tools. Every tool call gets intercepted and checked in milliseconds:

  • destructive commands (rm -rf /, force pushes, prod deploys) → blocked
  • secrets in arguments → masked before they leave the machine
  • audit log → hash-chained, tamper-evident (edit one character and verification fails)
  • high-risk actions → routed to Slack for human approval

One command: npx grimdall init --hooks
Open-source core (Apache-2.0) + cloud dashboard for teams.

THE META PART
I built this entire company using a fleet of AI agents — the exact things Grimdall now guards. Design agents, coding agents, even a video agent for the launch film. I'm basically my own first customer.

HONEST STATE OF THINGS

  • Launched on Product Hunt today
  • Open-source repo live
  • Small but real user base, zero revenue (yet)
  • First enterprise demo bookings opening

WHAT I NEED FROM YOU

  1. Distribution: where do security-minded devs actually hang out besides HN?
  2. Pricing: self-serve open source vs enterprise-first with a SOC 2 roadmap? I keep flip-flopping.
  3. Roast the landing page: grimdall.site — tell me what wouldn't convert you.

Happy to share everything: the incident, launch numbers, what worked with AI agents and what failed. Ask me anything.

on August 12, 2026
  1. 1

    The failure mode I hit with my own agent fleet is different from key exfiltration — I’d call it silent destructive success. Ran a deployment script using rsync with --delete and a trailing-slash source path. Exit code 0. Site kept serving. No errors, because the build artifact directory was excluded from the delete scope. What got quietly removed: .env.local plus five .bak backups sitting in the same directory. API keys were already loaded into process memory, so the app kept running and checkout worked fine for hours. I found out when I went to check a backup file that no longer existed.

    The agent’s success report was accurate from its own perspective — the tool call completed correctly. The destructive action was a side effect. That’s what makes tamper-evident audit logs more valuable than blocking rules alone: if the agent’s own success signal is unreliable evidence, you need an independent record of what actually happened at the tool layer. Worth adding to your AMA: how does Grimdall handle the case where the tool executes correctly but the side effect is the problem?

  2. 2

    The quiet failure is what makes this scary. An agent can leak a key and still report "done" with a clean looking summary, so you only find out when something external breaks. Building the guardrail after that burn is the honest path for this category. The product that wins is usually the one that makes the dangerous action hard by default, not the one that promises the agent will be careful. Hope the PH launch surfaces people who already hit the same wall.

  3. 2

    What could be better than having this product which emerged directly from a failure you yourself went through? ~

    The presence of "clear instructions" is not a major security boundary because agents are capable of executing things. That seems to be a great shift into how will use these tools now.

    I also like the idea of putting controls between the agent and the action, rather than trying to make the agent completely trustworthy. Certain actions can be prevented, while others can be recorded, and those deemed risky can demand human intervention.

    It seems a lot more realistic than thinking better prompts will solve it.

  4. 1

    Congrats on shipping. The audit log being tamper evident is smart, most people only think about blocking the action not proving what happened after. For distribution, try r/AI_Agents, there are other like it but this is the bigger one for people using agents.

    1. 1

      tamper-evident audit is exactly the part most people skip — everyone thinks about blocking, nobody thinks about proving what happened after. good catch.

      and thanks for the r/AI_Agents tip, heading there now. appreciate the support 🙏

    1. 1

      thanks i deeply appreciate the support man 🫡

  5. 1

    Congrats on the launch!

    The gym booking story and the npm worm incidents really highlight how fast we transitioned from "chatbots" to autonomous agents with real execution power. Giving an agent access to shell/API credentials without a dedicated security layer is definitely playing with fire.

    Interpreting tool calls and human-in-the-loop approval via Slack is such a practical approach to this. The tamper-evident audit log with hash-chaining is a great touch for compliance too!

    Heading over to Product Hunt to support you. Best of luck with the launch! 🙌

    1. 1

      "the two motions need completely different time horizons and honestly different teams" — this is the clearest way anyone's put it. i've been trying to run both at once and it's obvious why that's hard.

      and the point about security conversations happening in Discords and internal Slacks, not public forums — that explains why my HN/PH traffic hasn't converted yet. the people who've had the incident aren't posting about it, they're talking about it privately.

      any DevSecOps Discords or founder Slacks you'd recommend lurking in? even just answering questions like you said.

  6. 1

    The pricing question answers itself once you know how your first five customers found you. If they came through an enterprise sales conversation, enterprise-first with open source as the lead magnet is the right structure. If they came from a GitHub star or a tweet, you're a PLG company that adds an enterprise tier later. The two motions need completely different time horizons and honestly different teams.

    On distribution: the security conversations in AI spaces are happening in Discords and internal Slack channels right now, not in public. The people who've already had the incident you described are talking about it internally, not posting about it on HN. Getting into one of those conversations -- even just answering a question in a founders Slack or a DevSecOps Discord -- is worth 50 HN comments. One warm intro from someone who already trusts the category beats cold outreach to the whole community.

    1. 1

      this is huge — "the buying trigger is almost never 'we want to be safer,' it is 'we need to pass SOC 2 to close a contract.'" that reframes the entire pitch.

      i've been leading with the security story when i should be leading with "your auditor is going to ask for evidence of agent actions, here it is." mapping the hash-chained log to specific SOC 2 controls is exactly the next step.

      do you have a sense of which SOC 2 controls map most directly? CC6.1 access control? CC7.2 monitoring? want to make sure i'm pointing at the right ones.

  7. 1

    On pricing: keep open source as distribution and go enterprise-first, because security budgets sit with whoever owns the audit, not with individual devs. I run a compliance company and the buying trigger is almost never "we want to be safer," it is "we need to pass SOC 2 to close a contract." Map your tamper-evident audit log to specific SOC 2 controls and sell that.

    1. 1

      67 endpoints storing credentials for 7+ LLM providers — that's exactly the nightmare scenario this was built for. one leak and it's game over.

      the immutable request logs for billing you mentioned is basically the same pattern as the hash-chained audit trail. you've already solved half this problem on your side.

      curious — would you ever want to plug grimdall in as the enforcement layer on top of your key management? happy to hop on a call and walk through how the hooks work if that's useful. either way, appreciate the perspective from someone actually living this.

  8. 1

    This resonates deeply. I run an AI API marketplace with 67 endpoints and key management is honestly the scariest part. We store credentials for 7+ LLM providers and one leak would be catastrophic. Your hash-chained audit log approach is smart — we do something similar with immutable request logs for billing. On your pricing question: go self-serve open source first. Developer trust compounds when they can inspect the code. Enterprise will come once you have organic adoption and a few public case studies.

  9. 1

    On the distribution question can't speak to security-specific communities, but the general lesson might transfer: the channel that's actually worked for me wasn't the one with the biggest audience, it was the one with the most genuine back-and-forth. Been posting across a few platforms the last couple months, and by far the best signal has come from here, IH not because of reach, but because people actually engage with the substance instead of just reacting to a headline.

    For something as technical and trust-dependent as what you're building, I'd guess the equivalent isn't a single "where do they hang out" answer so much as finding the 2-3 places where the conversation is already deep, not just large.

    On the incident genuinely glad you turned that into something instead of just a bad week. Curious how close Grimdall's blocked-actions list came from that one leak versus how much expanded once you started building it out.

  10. 1

    We run agents on cron jobs with shell access, so the Slack approval routing is the part I'd stress-test first: what happens to a 3am job when a high-risk action is waiting on a human who's asleep — queue it, fail closed, or per-action policy? The hash-chained log is the thing I'd actually pay for; post-incident forensics on what an agent did is basically zero-tooling territory right now.

    1. 1

      this is such a good stress test. 3am cron job, high-risk action, human is asleep — right now it fails closed (blocks and logs, doesn't queue). the reasoning: if it's risky enough to need approval, it's risky enough to not run unattended.

      but you're right that per-action policy makes sense — some actions might be "queue until approved," others "fail closed," others "allow if within budget." that granularity is on the roadmap.

      and "post-incident forensics is basically zero-tooling territory" — that's the line i'm using now. the hash-chained log is the thing people pay for because there's literally nothing else for it. thanks for pushing on the cron edge case, that's a real gap.

  11. 1

    The incident makes the product visceral, but the adoption question is the harder one: teams may not feel the need for guardrails until after their first near miss. I’d make the first activation event a safe, replayable demo—show a real tool call being intercepted, the secret masked, and the approval path completed—then measure whether users install hooks on a second project. That is stronger evidence than a launch upvote. For pricing, I’d keep the open-source core focused on local protection and reserve team value for policy management, audit search, and approval workflows. Before a SOC 2 roadmap, which buyer has already asked for evidence: a security lead, engineering manager, or the founder who owns the incident?

    1. 1

      you're absolutely right that teams don't feel the pain until their first near-miss. that's the hardest part of selling preventative tools.

      the safe replayable demo idea is smart — i'm actually working on a "try to break it" playground where users paste a malicious command and watch it get blocked + masked in real time. much better than a static landing page.

      on your pricing question: so far it's been engineering managers and founders who own the incident, not security leads. security leads get looped in later when someone asks "do we have evidence for the audit?" but the initial buyer is usually the person who got burned.

      the oss-local / paid-team split is exactly where i'm landing too. local protection stays free, team value = policy management + audit search + approval workflows. that's the line.

  12. 1

    The "I'm my own first customer" angle resonates. I built two apps entirely with AI (Claude + Cursor) from Phuket — no coding background. Both just launched on the App Store.

    The API key risk is real. I've had moments where I had no idea what Cursor was actually doing in the background. The idea of an audit layer for agent actions makes a lot of sense at this stage of AI development.

    Good luck with the PH launch today.

    1. 1

      that's awesome — building two apps from Phuket with no coding background is the exact future we're all living in now. what are the apps?

      and yeah the "no idea what Cursor is doing in the background" feeling is exactly it. i realized after my incident that i'd been giving agents root access to my machine and just... hoping they behaved. the audit layer is basically "let's stop hoping and start watching."

      thanks for the launch support 🙏

  13. 1

    Congrats on the launch — this hits close to home, I build a security tool in a similar space (Supabase/Postgres RLS scanning).

    On your distribution question: the channel that's actually converted for me isn't really a "channel," it's the README itself. I track referrer-to-sale data and my GitHub profile README referral converts at roughly 33% vs Facebook posts sitting at 0% (141 views, 0 sales) for the same offer. Security-minded devs seem to trust "read the code yourself" far more than any social post.

    Two other things that moved the needle for a tool like yours:

    • GitHub Trending runs on star VELOCITY (stars/day), not totals — reportedly ~50-300/day depending on language gets you on the daily list, and once you're there it compounds because devs actually browse it. The trick is firing HN + PH + Reddit + Twitter the same day so the spike is concentrated instead of spread over a week.
    • PH launches go cold fast without upkeep — I've seen one sit at zero engagement days after going live because nothing kept the comments section active. Answering every comment in the first few hours seems to matter more than launch day itself.

    None of this beats HN for raw volume, but for a security-specific product it's been the highest-trust channel by far in my experience.

    1. 1

      this is gold, thank you. the README converting at 33% vs Facebook at 0% is exactly the kind of data i needed to hear. security devs really do trust "read the code yourself" over everything else.

      question: how are you tracking referrer-to-sale? are you using something like Plausible or just UTM params + manual tracking?

      and the GitHub Trending velocity point is huge — i've been spreading my launches over a week thinking that's better, but you're right that concentrating the spike (HN + PH + Reddit + Twitter same day) is what actually triggers the algorithm.

      will definitely prioritize keeping the PH comments alive. launch day is just the start, not the finish.

  14. 1

    The “I’m my own first customer” part is compelling. The real test now seems to be whether the problem is painful enough for other teams to adopt a guardrail before they’ve had their own incident.

    1. 1

      yeah this is the real test. the "i'm my own first customer" story gets people to listen, but it doesn't get them to install.

      honestly the signal i'm watching is: are teams reaching out BEFORE they've had an incident, or only after? so far it's mostly after, but i'm starting to see a few teams who had a "close call" (agent tried to force push to prod, caught it manually) and now want guardrails before the next one.

      if that pattern holds — near-miss → install — then the problem is painful enough. if not, i'm selling vitamins, not painkillers, and that's a harder business.

      1. 1

        That near-miss → install signal is a much more interesting indicator than the incident story itself. Curious how that pattern develops as you get more teams using it — what’s the best email to reach you at?

  15. 1

    This entire problem is a measurement system failure. You built a fleet of AI agents to run your company, but you had zero visibility into what they were actually doing. The incident happened because there was no measurement—no audit trail, no observation layer, nothing telling you the agents had escaped their sandbox.

    Grimdall is essentially a measurement system: it intercepts every tool call and measures whether it's safe. The hash-chained audit log is a tamper-proof measurement of what happened. Slack notifications are a measurement that routes high-risk actions back to humans. The whole product is "let's add observability to agentic systems."

    The meta insight: security vulnerabilities in autonomous systems are really just missing measurement layers. You don't know you have a problem until you can see what's happening.

    1. 1

      this is the best framing of the product i've seen. "security vulnerabilities in autonomous systems are really just missing measurement layers" — i'm stealing that.

      you're right that the whole thing is observability for agents. i just didn't have the language for it until you said it. the hash-chained audit log is a measurement. the Slack approval is a measurement routing back to humans. the policy engine is a measurement filter.

      the meta insight for me now: we're not building a security tool, we're building the Datadog for agentic systems. that's the category.

      thanks for the reframe — this is going in the pitch deck.

Trending on Indie Hackers
What 100B+ Claude tokens actually look like inside a tiny company User Avatar 32 comments 4 months to go. Chrome extension live. Web search integrated. 4 users. $0 revenue. Still here. User Avatar 26 comments Solo → Pre-Seed: The Tool Stack Decision That Will Either Save or Sink Your First 18 Months User Avatar 24 comments Two-way is not the same as symmetric User Avatar 20 comments Show IH: Apollodorus Video - browser-based video editor that runs locally User Avatar 9 comments Show IH:GSL Runtime: Moving Beyond .vrp Input User Avatar 7 comments