Questions worth a straight answer

Connecting a security vendor to your source code is not a small decision. These are the five things people ask first, answered with the mechanism behind each one so you can check the answer instead of trusting it.

Is Sentris really read-only on my repository?

Yes, by default, and the permission model is what enforces it rather than a promise. The GitHub App asks for Contents: read and Metadata: read — there is no write permission on the installation to begin with, so there is nothing to misuse.

We never clone your repository. Files are read over a short-lived, installation-scoped token for the duration of the scan and are gone after it. Findings keep a masked excerpt and a file:line reference, not your source.

Two things can write, both off until you switch them on per target, and both labelled by the permission they grant rather than by the feature name: opening a fix pull request, and commenting on pull requests as a merge gate. Turning either on is the moment you grant push access, which is why it is a checkbox on your own dashboard and not a default.

Live confirmation is read-only too, and narrow on purpose: one row from a table flagged without RLS using your project's own public anon key, one object from a bucket your code already publishes, and — only if you stored throwaway test accounts — two GET requests to compare what one account can read of another's. Never a write, never a whole table, and the result records status codes and response sizes, never the contents.

What do you keep, and for how long?

Findings and scan history stay until you delete the target or the account. Account data is removed within 30 days of you deleting the account. You can delete the account yourself and revoke the GitHub App from your GitHub settings without asking us.

Secrets are masked at the point of discovery, before anything is written down — a finding that says a service_role key was exposed stores the masked form, never the key. API keys are stored as a SHA-256 hash only, which is why a key is shown exactly once when you create it and cannot be shown again by us or by anyone who reaches our database.

Code excerpts sent to a model during an AI Deep Scan go through Vercel AI Gateway configured for zero data retention — the excerpts are not kept by the provider and are not used for training.

Full detail, including every subprocessor and the legal basis for each, is on the privacy page. Requests under GDPR are answered within 30 days, at no charge.

What permissions does the GitHub App ask for?

Contents: read and Metadata: read, on repositories you pick one by one during installation. Not on your account, not on every repository you can see — GitHub's installation flow is what decides the list, and you can change it later from the same screen.

Sign in with GitHub is separate and is used for identity only. Signing in does not grant access to any repository; installing the App on a repository is the only thing that does.

Access uses short-lived installation tokens issued per scan, not a personal token tied to you. Revoking the App in your GitHub settings ends access immediately and does not require us to act.

If you enable fix pull requests or the pull-request merge gate, the App additionally needs write access for those features. Both are off by default and are per target.

How does the MCP server work, and what can my agent do with it?

Sentris is an HTTP MCP server. Point Claude Code, Cursor or Windsurf at it with an API key and your agent can scan a repository, read the findings, pull a fix prompt, list your targets and diff two scans — without you copying findings between a browser tab and an editor.

The last part is the one that matters: after your agent applies a fix it can run a fresh scan and diff it against the previous one, so a fix is verified rather than assumed.

Authentication is the same API key model as the rest of the product: an Authorization: Bearer header, scoped to your account, over a key we store only as a hash. An agent can only reach targets your own account already owns, and can only scan repositories your GitHub App installation already grants — naming somebody else's repository returns an error, not a scan.

Setup, the exact config block for each editor and the full tool list are on the MCP page.

What does it cost, and what happens if it turns out to be useless to me?

Three tiers — Starter $19/mo, Pro $49/mo, Team $99/mo — differing in how many targets you can connect, how often they are re-scanned, and how deep an AI Deep Scan is allowed to go. Paying yearly takes 20% off.

Every tier gets the same checks and the same live confirmation. The ladder is how much we watch, never how much we are willing to tell you: the $19 customer and the $99 customer get the identical verdict on the identical bug.

Fourteen days, no reason required, by email to info@sentris.dev. We will not ask you to justify it or take you through a retention script. The window is unconditional precisely because a scanner cannot un-deliver what you have already read.

You can run a free scan against a URL before paying anything, and the sample report shows a real result in full rather than a blurred screenshot.

Something not answered here? Write to info@sentris.dev and you will get a real answer from someone who wrote the scanner.

Last updated 11 August 2026