StartNicely
Trust

What we do, and what we haven't done yet

Specifics, including the uncomfortable ones. If something here matters to your decision and isn't answered, write to us and we'll answer it.

Running code an AI just wrote

The build checks execute code that a language model produced seconds earlier. We treat that as untrusted, because it is.

So the checks run in a locked box of their own. Your app cannot read anyone else's files, cannot reach the machinery that runs the platform, and cannot see anything on the computer it was not explicitly handed.

The part that builds your app has no keys of its own either. Even if someone tried to trick it into leaking a secret, there is no secret in there to leak.

How we do this

Checks run via systemd-run as the project's own unprivileged operating-system user — never in-process, never as root.

The agent holds no network credentials. It reaches the model through a gateway we control, so a prompt injection cannot exfiltrate a key that was never in the sandbox.

Your app is separate from everyone else's

Every app you build runs in its own space, with its own storage. Nothing another customer builds can read your information, and nothing you build can read theirs.

You also get two copies of every app: one to work in, and one the public sees. That is the difference most builders skip — when there is only one, editing is editing the live thing, and the first bad change takes your site down in front of real people.

The keys to your information are never written into your app's files, so taking a copy of your code does not hand anyone your data.

How we do this

Each project runs as its own operating-system user, on its own port, with its own systemd service. Each environment within a project — development and production — gets its own Postgres database and its own database role, and neither can read the other.

Database connection strings are stored as encrypted references and injected at run time rather than committed to the project's repository.

Your app is yours, and you can leave

What we build for you is ordinary code in an ordinary format. There is nothing proprietary about it, and nothing that needs us to be running for it to make sense.

Take it and go whenever you like. We would rather be worth staying with than hard to leave.

One thing worth stating plainly: going back to an earlier version adds a step rather than erasing one. Nothing is deleted. What you moved away from is still there, and you can jump forward to it again.

How we do this

Projects are plain git repositories on a real filesystem; saved versions are commits. Clone one and it works anywhere.

Restore appends a commit returning the tree to that state rather than resetting, so history is never destroyed.

Reporting something

If you find a security problem, write to security@startnicely.com. We will not threaten you for telling us. There is a security.txt if you prefer the standard route.

If something built here is being used to hurt people, report abuse. Someone reads it.

Not finished yet

Everything below is true today. We would rather you find it here than find it later.

We have not had a third-party security audit. When we do, this is where it will be linked.