Khallil Bailey

Work studies / Teardown

How Deno and macOS sandboxes make a program read-only by force

How do you stop a program from writing anything, rather than asking it nicely not to?

Deno won’t let a script touch files or the network unless it’s been given permission, and macOS can wall a process off with a sandbox profile. I’ll look at how both enforce it, then spend a week building a check that proves a command-line tool can’t write.

Format
Teardown
What I’ll build
A launcher that starts a command-line program in an operating-system sandbox with no write access, plus a check that tries every way to write it can find and reports any that get through.
What I’ll reuse
A read-only launcher and preflight check for AI assistants that are meant to review code, never change it.
Used by
Bezl
Status
Planned · Nov 2026

What I’ll look at

How Deno decides what a script may touch, and what it does when something isn’t allowed. How macOS sandbox profiles, the kind Chromium uses for web pages, describe what a process may read and write. And what a child process inherits, since a program that can start another program can often slip its own limits.

My guess

I expect a tool’s own settings aren’t enough, because plugins, hooks and helper programs it starts don’t always respect them. Only a limit the operating system enforces holds for everything the program starts.

How I’ll prove it

I’ll list the ways a program can try to write: files, temporary folders, settings, a helper program, a plugin. I’ll run each one under the launcher and check that every attempt is blocked and logged.

I’ll also check the tools still work normally when all they do is read.