SECURITY & ISOLATION
Hand us a repository.
Here is exactly what happens to it.
Written to be forwarded. If someone has to approve this before you connect a repository, send them this page. Every claim on it is specific enough to be checked, which is the only kind worth reading.
START HERE
Three answers, before you ask.
Everyone claims their sandbox is secure. These three are specific enough to hold us to, which is the only kind of claim worth reading.
Your credential is never in the sandbox.
Not encrypted. Not wiped afterwards. Never there. The read-only token is attached to the clone request from outside the machine, scoped to your one repository. Nothing running inside that machine could exfiltrate it, because it was never inside.
The distinction matters. "Encrypted at rest" is a mitigation. This is an absence.
We never stand up your application.
No server started. No deploy. Nothing touching your infrastructure, your staging environment or your production data. Once the review phase begins, the reviewing model has no execution tools at all. They are removed before it starts.
Your own test suite does run inside the sandbox, so we can report whether it passes. Your application does not.
We destroy our copy of your source.
Cloned fresh into a disposable VM, audited, destroyed. Every run, on every exit path, including the runs that crash halfway.
We keep the report, because that's your history and you want it. We keep no copy of your source.
WHILE THE AUDIT RUNS
Your code goes in.
Findings come out.
Nothing else.
Every audit gets a machine of its own, which is thrown away when the report is ready. Nothing is shared between runs, nothing is shared between customers, and nothing survives.
A fresh machine, then the bin
One VM per run, created for your audit and destroyed on completion, failure, timeout or crash. No long-lived worker sits there holding customer code.
Nothing can phone home
Outbound network is denied, our own telemetry included. The findings in your report are the only thing that leaves that machine.
Nothing can reach in
The sandbox is not addressable from outside and hosts nothing. There is no door to knock on.
We assume your repo is hostile
Payloads planted in your source, your docs or your test output get reported as findings instead of followed. By review time the AI has no tools left to act on them with anyway.
Every finding has an address
File, line and commit. Reports are pinned to the exact revision audited, so a finding can always be checked, disputed or handed to someone else.
A crash still gets you the findings
If a run dies you keep everything confirmed up to that point, the sandbox is destroyed regardless, and a run that produces nothing releases your credit in full.
ACCESS
We ask for as little as we can get away with.
Read-only, one repository at a time. If you hand us more than the audit needs, we tell you rather than quietly keeping it.
Read access only. No organization-wide tokens, no SSH deploy keys, one repository per grant.
If the credential carries more scope than the audit needs, we say so at the moment you connect it, with instructions for narrowing it.
GitHub, GitLab, Bitbucket Cloud, Bitbucket Data Center, Codeberg, Forgejo and Gitea. Self-hosted included, because plenty of the code that needs this never left the building.
Revoking access breaks nothing on our side, because there is no copy of your source depending on it.
YOUR TEAM, YOUR RECORD
The history outlives the people in it.
People join, leave and change roles. Your audit history should not have holes in it when they do.
Owner, member and viewer. Members run audits, viewers read reports, and billing stays with the owner.
They expire, they can be revoked, and they only work for the address they were sent to.
Remove someone from the team and every run they started keeps their name on it.
Reports are kept for as long as your account exists, because a trend line with gaps in it is not a trend line.
What we stand behind
- Every finding is checkable. File, line and commit. If one is wrong, you can prove it is wrong, and we would rather you did than take our word for it.
- Unknown is reported as unknown. Where we could not see something, the report says so instead of upgrading a gap into a pass.
- Reports are pinned to a revision. An audit describes the code as it was at one commit, which is what makes it worth anything a month later.
- Regulatory findings come with evidence you can hand to whoever asked, so the exposure is described in terms of your code rather than in general advice.
- Your own tests run, your application does not. We say it twice on this page on purpose, because the vaguer version of that sentence is the one you should not accept from anyone.
Forward this to whoever has to approve it.
Audit my repo · $149Anything this page does not answer, ask us directly: security@alongside.dev