Security

Architecture

Soffi is a hosted service. Three places matter for a security review: your GitHub, Soffi's cloud, and your own environment. Soffi connects to the first two and doesn't need the third.

Your GitHub

Your repository

Connected through the GitHub app you install and control

Pull requests

Opened on your repo for your team to review and merge
Code
PRs
Soffi cloud · hosted and run by Soffi

Workspace

Your real app, running in its own isolated environment. One shared link to edit, comment and review together.
Your edits
API calls
Responses

Data Twin

Mirrors your APIs, auth and data shapes with realistic data your team can shape freely.
Exact API scope

Handoff, ready for engineers and agents

  • Frontend PRs with clear summaries and before and after images
  • A backend spec with the exact endpoints and API scope to build
  • A link to the live, collaborative preview of every change
Not required
Your environment

Not needed by Soffi

Nothing here connects unless you add it.

  • Production data and databases
  • Backend services and APIs
  • Env vars and secrets
  • Identity and auth providers
  • Cloud accounts and infrastructure

Your GitHub

Your code comes from GitHub, through the Soffi GitHub app, which an Admin installs on the repositories they choose. Soffi copies those repositories so it can run and edit your app, and everything people make in Soffi goes back as a branch and a pull request. Your team reviews it, your CI runs on it, and your team merges it. Soffi never merges and never deploys to production.

People can also link their own GitHub account, which lets the pull requests they Ship open under their name. The permissions each connection holds, and how to narrow or revoke them, are on the GitHub page.

Soffi's cloud

Everything else runs in Soffi's cloud: the Soffi app your team uses, Soffi the agent, and your app itself. Each Workspace runs your app in its own private, isolated environment, and one Workspace can't reach another. If your app uses a database, it runs inside that environment too, so every Workspace has its own. See Isolation. Soffi the agent works with AI models from third-party providers, covered in Data handling.

By default, previews don't reach your deployed backend. A Data Twin stands in for it with seed data, and your app's own sign-in is turned off in previews, so nobody needs production data or real customer accounts to work on a screen.

Soffi also connects to the tools an Admin chooses to connect: Linear or Jira for tickets, and Figma for designs. Soffi reads from them, and nothing in a Workspace changes your tickets or design files.

Your environment

Soffi doesn't need access to your environment: your production systems, your databases, your internal network. Nothing connects by default. There's nothing to install on your infrastructure, no agent to run, no network access to grant, and nothing for your on-call rotation to look after.

The one way a preview reaches a service of yours is if someone gives the Project a key or an address for it. Then the app in Soffi calls that service the way your app normally would, over the public internet. Keep that deliberate: use test-mode or read-only keys, as described in Environment variables and keys.

Where to go next

Was this helpful?