Support

One address, answered by a person. Below it, the questions people actually write in about — answered here so you do not have to.

Send us a message

This opens your own mail app with the details filled in. If you would rather write directly, the address is support@repogates.com — we aim to reply within two business days.

A repository was blocked and you think it is fine

This is the report we most want. Send the owner/repo and, if you can, a screenshot of the trust board — it names which checks fired and what each cost.

Two things worth knowing before you write. REVIEW is not an accusation: it means a check found something a person should look at, and plenty of well-run projects carry one. And a partial scan can never return PASS — over the size cap we read the highest-risk files only, and an answer drawn from part of a repository cannot clear the whole of it.

You can always proceed. A warning offers Allow once or Allow permanently, and both are recorded in your own audit log (extension Options → Audit log). Overriding sends nothing anywhere.

What the verdicts mean

PASS — every check that could run, ran, and none of them fired. It is not a guarantee the code is safe; it is the absence of the signals we look for.
REVIEW — something is worth a human's attention before you trust the repository. The board lists exactly what.
BLOCK — the download was stopped. Either a check we treat as critical fired, or the repository is on a confirmed malware campaign list, which no trial state or setting switches off.

A repository we could not see at all — private, or deleted — is not assessed, which we treat as REVIEW rather than PASS. "We could not look" must never be reported as "we looked and it is fine".

The extension is installed but the site says it is not

The website and the extension link to a specific account, and signing in as somebody else does not re-link it. Open your account page — it names the account you are signed in as — and press Re-activate.

The same mismatch explains a deep scan that ran in the extension but whose report will not open: the report belongs to the account that paid for it, and we answer the same "not found" for a scan that does not exist and one that is not yours, because the id is unguessable.

Deep scans and credits

A deep scan downloads the repository into an isolated sandbox with no network access and runs malware, secret, dependency and behaviour checks over the actual files. It takes about a minute and spends one credit.

A scan that fails to produce an answer refunds its credit. A scan that completes does not, even if the answer is one you did not want — the work was done and the finding list is the product.

Your AI agents can start one through the MCP server or the Claude Code plugin — only with your yes to that call, on a repository that came back REVIEW or could not be assessed, at most five agent-started scans a day per account. A repeat of the same repository within 15 minutes returns the same result and spends nothing.

What RepoGates does not cover

It gates repository downloads made through the browser: Download ZIP, release-asset archives, Save-Link-As, and archive URLs you paste. It does not see git clone, package managers, curl, Docker builds, or anything else outside the browser — an extension cannot observe other processes. That is a structural limit, and we would rather you knew it now than found it out later. The one exception is Claude Code with the RepoGates plugin: a hook there refuses a clone or install that names a blocked repository on the command line, before it runs, and sees Bash tool calls in that one client and nothing else — how it works and what it does not see. A registry package named on that line (npm install express, pip install flask) is resolved through npm or PyPI to the repository it declares — direct dependencies only. In Claude.ai and Cowork the same skill asks before a clone; it has no hook, so it advises and cannot refuse.

Personal API tokens

The Claude Code plugin signs in with a personal API token. Create one on the account page, copy it once — it is shown once and stored hashed — and save it to ~/.config/repogates/token. Up to five per account, revocable at any time, no expiry. A token reaches only the verdict routes the plugin uses: it cannot read your account or buy anything, and it starts a deep scan only through the plugin's scan command, with your yes. It needs a paid plan, like the MCP server; on the free tier the hook asks you before every clone and says why.

Billing, refunds and cancellation

Payments run through Polar, our merchant of record. Invoices, plan changes and cancellation are on your account page; the refund policy is in the terms. Cancelling stops the next renewal and leaves the current period intact.

Your data, and deleting it

What the extension transmits, what we store and for how long is set out in the privacy policy. In short: the repository identifier, and the hostname of the AI surface you arrived from when there is one. Never page contents, never full URLs, never browsing history.

To delete your account and everything attached to it, use the control on your account page, or write to us and we will do it.

Reporting a security issue in RepoGates

Use the form above with A security issue in RepoGates itself selected, or email support@repogates.com with SECURITY in the subject. Those are read before anything else in the queue. Tell us what you did, what happened and what you expected — and please give us a chance to fix it before publishing.

Teams

Everyone signs in with their own Google or Microsoft account and holds their own settings. There is no SSO, no admin console, no policy per organisational unit and no central audit log — the managed tier is not currently offered, and for teams says so in the same words rather than leaving you to find out after you buy.

If that is what you need, tell us. It changes what we build next, and an honest "not yet" is the only answer we will give you in the meantime.