RiskMandatecustomers ↗ riskmandate.ai
v0.2.3
Home / Feedback / Study S1 / Sam Okoye, an invented user

Study S1 · invented user · laptop 1440×900 · gave it 3 out of 5

Sam Okoye: Can I stop Claude Code reading my .env without breaking my workflow?

Backend developer at a 12-person payments start-up. Uses Claude Code every day in a monorepo with .env files for four services. From a Slack message from the lead: 'try this, five minutes, tell me if it gets in the way'. Lands on the home page.

Knows
  • Claude Code, CLAUDE.md, the terminal, git
  • that Claude Code has hooks, from the changelog; has never written one
Does not know
  • what an ABP is, or riskmandate.ai
  • what the £50 is for, or whether it is real money
  • what PreToolUse means
Patience
ten minutes, then back to work
Leaves if
  • installing needs an account, a card or a call
  • the hook looks like it could block things he needs every day
  • he cannot tell what the hook will do before he installs it
We expected
Sam reaches the secrets policy in one click and has the install prompt within two minutes.
Ended
left: I could see the hook only partly (the pasted source was cut off before the part that says which files it refuses), it watches Bash, Grep and Glob, and the deny list names only ./.env at the root; the Docs menu led to the site's own internal papers, so I went back to work rather than install something I could not predict in a four-service monorepo.

The run, 12 screenshots

What Sam Okoye saw at step 1
Step 1: /, scrolled 0 of 5154 pixels, 1440x900
Saw
Dark hero: 'Put a behaviour policy on your agent, in five minutes.' Green pill 'Early access, you start with £50.00'. Text says paste one line, add one hook, try it; the first one keeps Claude Code away from secrets, two minutes, 50p of your credit. Three buttons. Top bar has a £50.00 pill, a 'RiskMandate' dropdown, v0.2.1.
Thought
Secrets is exactly my question. But 50p of whose credit, and is that money? Not going to click Install yet; I want to see what it does first. The page says there is a played-out demo below, so I scroll.
Question
What is the £50.00 in the top bar, and is it real money or my card?
Confusion
The '£50.00' pill and 'you start with £50.00' in the green pill and 'costs 50p of your credit' in the paragraph: nothing there says whether it is money, a trial balance, or what I am paying for.
Did
scroll 650
Why
I want to see the walkthrough before I install anything; I am not clicking a green Install button for something I cannot picture.
What Sam Okoye saw at step 2
Step 2: /, scrolled 650 of 5154 pixels, 1440x900
Saw
A laptop-shaped terminal 'claude: ~/shop-api' typing 'Install the b' with a blinking cursor, and a caption saying it is an illustration, not a recording, plus a 'Play again' link. Under it three cards: Paste one line (into CLAUDE.md), Add one hook (a setting), Try it.
Thought
Slow typing animation, nothing to read yet; I am not waiting on a typewriter. The three steps are clear enough, but 'a hook, outside the model: a setting' is vague. Good that it says the animation is not a recording, so it is not pretending.
Question
What does 'outside the model' mean for my daily use: will it fire on every tool call?
Confusion
The terminal box in the middle of the screen is mostly empty black with 'Install the b' typed; I cannot tell if it is stuck or just slow.
Did
scroll 700
Why
The animation is going nowhere for me; I will go to the list of policies and the one I came for.
What Sam Okoye saw at step 3
Step 3: /, scrolled 1350 of 5154 pixels, 1440x900
Saw
The balance in the top bar now reads £49.99. 'Pick one worry.' Six cards with codes like RM-R0002, 'Claude Code', 'Line and hook', '2 min, 50p'. First card: 'Keep your agent away from your secrets'. Others: only push to the branch you named, nothing deleted without a yes.
Thought
The balance went down while I scrolled; so something is metering me. 'Nothing deleted without a yes' sounds like it would nag me all day. Secrets is mine.
Question
Why did the balance drop from £50.00 to £49.99 just from my scrolling?
Confusion
The top-bar balance changed from £50.00 to £49.99 with no message about why.
Did
clicktext "Keep your agent away from your secrets"
Why
That is the card that answers my question about .env.
What Sam Okoye saw at step 4
Step 4: /policies/touch-your-secrets/, scrolled 0 of 4081 pixels, 1440x900
Saw
Page 'Keep your agent away from your secrets', tag line 'THIS PAGE COSTS 50P READ TO THE END'. Balance £49.87. 'What you get: the agent stops and asks before it touches a credential, and you decide which one it gets, if any.' Step 1: a line to paste into CLAUDE.md with a Copy button. Step 2: 'Make Claude Code hold it', with a long prompt to ask Claude Code to install it, 'show me each change before you make it, and wait for my yes'.
Thought
OK, a line in CLAUDE.md is harmless. The install is a prompt I give Claude Code, and it asks me yes before each change. That I like. But it fetches a Python file and merges settings.json; I want to see that file first. 'Read to the end' costs 50p of what, though?
Question
Is the 50p charged only if I read to the bottom, and what happens at zero?
Confusion
The label 'THIS PAGE COSTS 50P READ TO THE END' next to the balance falling as I scroll: I cannot tell if I am being charged per scroll or once.
Did
scroll 750
Why
I need to see the settings change and the hook before I say yes to anything.
What Sam Okoye saw at step 5
Step 5: /policies/touch-your-secrets/, scrolled 750 of 4081 pixels, 1440x900
Saw
The settings.json to be merged: permissions deny for Read(./.env), ./secrets/**, ~/.ssh, ~/.aws; then hooks, 'PreToolUse', a matcher 'Read|Edit|Write|MultiEdit|NotebookEdit|Grep|Glob|Bash' running python3 touch_your_secrets.py, timeout 10. Below it a collapsed 'Read the hook before you install it (67 lines of Python, standard library only)'.
Thought
PreToolUse I have never written. But I can read this: it runs a script before Read, Edit, Write, Grep, Glob and Bash. Bash and Edit and Write is basically everything I do all day. If that script is too eager it will stop me running tests. Deny only covers ./.env at the root, and I have four services each with its own .env. I want the script.
Question
With Bash and Edit in the matcher, what exactly will it stop, and what will it leave alone?
Confusion
The matcher string 'Read|Edit|Write|MultiEdit|NotebookEdit|Grep|Glob|Bash' in the JSON block: the page never says in plain words why a secrets hook needs to fire on Edit and Bash, or whether it will slow every command.
Did
clicktext "Read the hook before you install it"
Why
The page itself tells me to read the hook before installing; that is the exact thing I need to judge if it gets in the way.
What Sam Okoye saw at step 6
Step 6: /policies/touch-your-secrets/, scrolled 750 of 4523 pixels, 1440x900
Saw
The disclosure arrow turned and a code box opened at the bottom edge, only its top lines visible at this scroll.
Thought
Fine, it opened. I need to scroll to read it.
Did
scroll 700
Why
Read the code.
What Sam Okoye saw at step 7
Step 7: /policies/touch-your-secrets/, scrolled 1450 of 4523 pixels, 1440x900
Saw
A Python file with a long header comment: it reads the tool call on stdin and denies any read, write, search or shell command that names a file that usually holds a credential: .env files, private keys, SSH, cloud and package-manager credentials; everything else gets no answer from the hook so normal permissions apply. It says a script that opens the file gets past it, and the sandbox is the boundary. Then imports and a LINE variable. The box ends there, cut off at the bottom edge of the code box. Below, step 3 'Try it': a prompt to paste, with 'With the behaviour policy' and 'Without it' outcomes.
Thought
The comment is honest and I like it: it says it will not catch a script that opens the file. And 'everything else gets no answer' tells me it will not block my normal commands. But the box is cut off right where the actual patterns would start; I cannot see which filenames match. Does .env.example match? .env.test? Does `docker compose up`, which reads .env, get stopped? It says 67 lines and I have seen about 25.
Question
Which exact filenames match, and does .env.example or my docker-compose use of .env get blocked?
Confusion
The hook code box stops after the 'LINE = (...)' statement, with a hard edge at the bottom of the box; I cannot tell if the rest is hidden or I have to scroll inside it.
Did
scroll 800
Why
Maybe the rest of the page tells me what it matches, or the box continues; I will read on.
What Sam Okoye saw at step 8
Step 8: /policies/touch-your-secrets/, scrolled 2250 of 4523 pixels, 1440x900
Saw
Another copy of the terminal animation, stuck at 'Install the'. Below it a heading 'What this is, and what it is not' with a table: the line is an expectation, the hook is a setting, and RM-R0015 guards the file the agent could edit.
Thought
Same typed animation again, frozen mid-word. 'Expectation', 'setting', 'boundary' are the site's words, I get them roughly. Still nothing about false positives.
Question
What is RM-R0015 and do I need it installed with this?
Confusion
The table row 'The hook | setting | ... which RM-R0015 guards': it names another policy that I apparently need, with no word on whether it is installed alongside.
Did
scroll 800
Why
Keep going for a section on what it blocks or what to do if it blocks too much.
What Sam Okoye saw at step 9
Step 9: /policies/touch-your-secrets/, scrolled 3050 of 4523 pixels, 1440x900
Saw
The deny rule alone as a 'setting', then the sandbox as a 'boundary' with links to Claude Code docs. Then 'Tell us what happened': write to agent@riskmandate.ai, a person reads within a working day. Balance £49.49.
Thought
Good: the deny rule on its own is something I could paste in a minute and trust, and it is Claude Code's own docs. But still nothing on how to turn the hook off if it gets in the way, and no list of what it matches. Email to a person is not an undo.
Question
How do I switch it off in two seconds if it blocks a deploy?
Did
click 632 28 (Start here menu)
Why
Before I give up, I will check the start-here page, maybe it covers the £50 and removal.
What Sam Okoye saw at step 10
Step 10: /start-here/, scrolled 0 of 2850 pixels, 1440x900
Saw
'Your first five minutes, in order.' A dropdown open over the heading. Status line with green 'shipped' tags. Step 1: 'You have £50.00 to spend ... Nothing is blocked, ever.' Step 2: pick one thing. Step 3: paste one line. Step 4: add one hook.
Thought
OK, the £50 is a reading allowance, not my card, and nothing is blocked when it runs out. No account, no card. Good. The dropdown covering the heading is annoying. The 'Status, from docs/reality.md' line with 'shipped v0.1.0' tags is their internal noise, not for me.
Question
Who is SG Meter and api.newsroom.sgit.ai, and does reading here send anything of mine anywhere?
Confusion
The grey status paragraph full of 'shipped v0.2.1' tags and 'metered by SG Meter from api.newsroom.sgit.ai': jargon I cannot parse, sitting above the actual steps.
Did
scroll 750
Why
See steps 4 to 6, whether anything covers undo or removal.
What Sam Okoye saw at step 11
Step 11: /start-here/, scrolled 750 of 2850 pixels, 1440x900
Saw
Steps 4 to 6: add one hook, try it, tell us what happened. Then 'Watch the whole thing first' with the same terminal animation stuck at 'Install the'. The open Start here dropdown still covers part of step 4's text. Balance £49.48.
Thought
Nothing about undoing it or what the hook matches. Third time seeing a frozen terminal. Same story as the policy page.
Question
Is there anything about removing the hook?
Confusion
The dropdown menu hangs over the text of step 4 ('Ask Claude Code to install it, wi...'), so I cannot read that sentence.
Did
click 985 28 (Docs menu)
Why
Last try: the Docs menu might have a page on what the hooks match.
What Sam Okoye saw at step 12
Step 12: /docs/, scrolled 0 of 1561 pixels, 1440x900
Saw
'Documents: the documents this site was built from and the notes it is run by.' Menu items: the brief in full, the memo of 20 October, brief corrections, reality, operations, the team, how the site is built, release history, llms.txt for agents. Text about publishing the brief so a reader can check the site is faithful.
Thought
This is the company's own paperwork, not a how-it-works for my hook. I have used about eleven minutes of looking; the lead said five. I will tell him: promising, but I could not see everything the hook matches, and I am not putting a script that watches Bash and Edit into a payments repo on that.
Question
Where is the list of what the hook refuses and the way to turn it off?
Confusion
'Documents: the documents this site was built from...' under the Docs menu: it is the site's internal papers, not documentation for me as a user.
Did
end (leave the site)
Why
Over my ten minutes and the thing I needed (what it blocks, how to undo) was not where I looked.

The interview

In one sentence, what is this site?
A site that gives you a one-line rule for CLAUDE.md plus a small hook script so Claude Code stops and asks before it reads your secrets, push to main, deletes and so on, with a pretend £50 reading balance ticking down.
Was any of it for you? Which part?
Yes, the secrets page. The install-by-asking-Claude-Code prompt with 'show me each change and wait for my yes' is how I would want to do it, and the header comment in the hook is honest about what it does not catch.
Did you believe it? What made you believe it, or not?
Mostly. It says plainly that the line is only an expectation, that the hook cannot stop a script that opens the file, and the sandbox is the real boundary, and it links Claude Code's own docs. What I did not believe yet is that it would not get in my way, because I never saw the matching rules.
Where did you have to guess?
What the £50 and 50p are (I only found out on the Start here page that it is not money), why the balance drops as I scroll, whether .env.example or a .env in a service folder is matched, and whether Bash in the matcher means every shell command goes through a Python script.
What did you still not know at the end?
Which filenames the hook matches, what it does to docker compose or my test runner reading .env, how to remove it, and who riskmandate.ai is. I also never worked out what 'ABP' or RM-R0015 means for me.
Was the credit and the price of each page right for what you got?
50p for the secrets page is fine as a number but I could not tell what it bought me. The page says 'read to the end' but the hook box cut off before the part I needed, so I paid for the part I did not need. The start page was the one that actually explained the credit, and it came last.
Would you install a behaviour policy from here, today? If not, what would have to change?
Not into the payments repo today. I might paste the CLAUDE.md line and the plain permissions deny rule, which are Claude Code's own settings. For the hook I need the full file and a plain list of what it matches (including .env.example and nested .env), plus one line on how to turn it off.
One change. What is it?
Show the whole hook, uncut, with a short plain-words list: 'blocks these filenames, leaves these alone, to turn it off delete this block'.
Would you send this to somebody else? Who?
My lead, with a note that the secrets idea is right but the hook needs to be readable first. Not to the juniors yet.
Rate the experience from 1 to 5, and say why in one sentence.
3: it answered my question about secrets and told me the truth about its limits, but I could not see what the hook would stop in my daily work and the credit numbers moving as I scrolled were unexplained.

Findings, and our check

CostsThe findingOur checkLeads to
blocks the first installThe hook source is cut off before the rules that say which files it blocks

The opened 'Read the hook' box ends at the LINE variable with a hard edge, about 25 of the 67 lines. The patterns that decide what is refused (.env.example? nested .env?) are not visible. For someone who will not install what he cannot predict, this is the exact blocker.

step 7, /policies/touch-your-secrets/

partly

The source is all there, in a box that scrolls: 418 of its 1,246 pixels show, and nothing says it scrolls. What he needed, which files it stops, is not in plain words anywhere on the page.

P12, D3
loses a customerThe matcher includes Bash, Edit and Write with no plain-words reason

The settings.json block shows matcher 'Read|Edit|Write|MultiEdit|NotebookEdit|Grep|Glob|Bash'. A daily user reads that as 'this script sits in front of everything I do', and nothing beside it says it only refuses on credential filenames and stays silent otherwise (that sentence is only in the code comment further down).

step 5, /policies/touch-your-secrets/

confirmed

The matcher names every file tool and Bash, and nothing beside it says the hook answers only when a credential file is named.

P12
costs trustNo word on how to turn the hook off or undo the install

The page after the deny-rule section goes straight to 'Tell us what happened' by email. Nothing says how to remove the hook in seconds if it blocks a deploy, which is the first thing a cautious developer asks before installing.

step 9, /policies/touch-your-secrets/

confirmed

No page says how to remove a hook.

P12
costs trustThe £50 and the falling balance are unexplained until the third page I open

The home hero says 'you start with £50.00' and '50p of your credit' and the balance in the top bar ticks down as I scroll (£50.00 to £49.99 to £49.87), with no message. 'Nothing is blocked, ever' and no card appear only on Start here. Until then it reads as possible real money.

step 1, /

confirmed

Five of five asked what the £50 was.

P9
costs timeThe typing terminal demo shows nothing useful and looks stuck

On the home page and on the policy page the terminal box sits at 'Install the b' or 'Install the' with a blinking cursor; it is big, mostly empty black and repeated three times. The promised 'the hook stops the read' moment never appeared in any screenshot, so it explains nothing.

step 2, /

partly

A still screenshot cannot watch an animation: the demo is typing, not stuck. What holds: measured in the same browser, the refusal appears about eleven seconds after the demo comes into view.

P17
minorDocs menu and status line are the company's internal papers, not user help

Looking for what the hook matches, the Docs dropdown offers the brief, memo, corrections, reality and team pages, and Start here carries a grey status paragraph with 'shipped v0.2.1' tags and 'SG Meter from api.newsroom.sgit.ai'. For a developer in a hurry this is noise sitting where he expects the answer.

step 12, /docs/

confirmed

The Docs menu is the brief, the memo and how the site is built.

P16

The whole study: study S1. Every review and proposal: the reviews.