Which region am I in?
Three ways to answer it, in the order they take effort:- The host in your browser’s address bar when you’re signed in — match it against the Dashboard column above.
- Settings → Organization → Organization Details names it under Data region.
- From a terminal or a firewall rule, ask the API host itself. The endpoint needs no credentials, so it works before you have a key and when one is being rejected:
API keys are region-scoped. A
tg_…, tgci_…, or tgide_… key issued in one region is rejected everywhere else. The authentication error names the region and endpoint that were tried, so a wrong-region key is easy to spot.Signing in
Each region has its own sign-in page and its own accounts, so the sign-in, sign-up and password-reset pages carry a Region selector. Choosing a region takes you to that region’s page — there is nothing to configure, because each one is a separate site with its own database. Two consequences worth knowing:- Accounts are not shared. The same email address can hold a separate account in
each region, with separate passwords, sessions and API keys. There is no global
directory, which is why
app.tigergate.devcannot tell you that your account is in another region — you tell it. - You are never redirected automatically. Your browser remembers the last region you used and offers it as a link, but an invitation, a password-reset link or a bookmark for one region keeps working in a browser that last signed in to another.
Point a tool at your region
Everything TigerGate ships that runs outside our infrastructure takes a region. Omit it and you getus1 — the behaviour every install had before regions existed, so nothing changes for us1 customers.
| Tool | How to set the region |
|---|---|
| CLI | --region <code>, the TIGERGATE_REGION env var, or region: in .tigergate.yml. Run tigergate regions to list them. |
| CI/CD integrations | The region input (GitHub Action, Azure Pipelines task), the TIGERGATE_REGION variable (GitLab CI, Bitbucket Pipelines), or the REGION parameter (Jenkins). |
| KSPM + runtime sensor (Helm) | --set region=<code> |
| Runtime sensor on a Linux host | --region <code> on the installer, or TIGERGATE_REGION in the service environment. |
| Self-hosted pentest worker | TIGERGATE_REGION |
| MCP server | Your region’s MCP URL. Setup Guide → AI Assistant (MCP) in the dashboard emits the client config already pointed at it. |
How a region is resolved
Every TigerGate binary resolves its endpoints the same way. First match wins:An explicit URL
--api-url / --backend-url / --collector-url, or the matching TIGERGATE_API_URL / TIGERGATE_BACKEND_URL environment variable. This is the self-hosted, staging, and air-gapped path, and it always wins — pass a URL and a region together and the URL is used, with one warning that the region was ignored.TIGERGATE_REGION
The environment variable, so a CI runner or a systemd unit can set it once for everything on the host.
region: in .tigergate.yml
CLI only, and deliberately below the environment variable so a pipeline can
override a value committed to the repository. There is no
api_url counterpart
in that file: a checked-in setting must not be able to redirect a build’s
uploads to an arbitrary host.What stays in your region
Everything TigerGate scans, stores and serves about your environment stays in the region you chose:| Stays in region | |
|---|---|
| Scan results | Code, cloud, container, Kubernetes and pentest findings |
| Runtime telemetry | Agent events, admission decisions, posture reports |
| Your credentials | Git, cloud and registry credentials, encrypted with a key unique to the region |
| Accounts and audit | Users, organizations, sessions, API keys, audit logs |
What does leave your region
A small number of flows are handled centrally. None of them carries your scan results or telemetry, but you should know what they are:| Flow | What crosses | Why |
|---|---|---|
| GitHub and Bitbucket webhooks | The delivery body — repository, branch and commit metadata, including commit messages and author names and emails — in transit only | Neither URL can be chosen per region: a GitHub App has one webhook URL for every installation, and Bitbucket’s hook is installed through a single OAuth consumer. A delivery therefore arrives with no region attached, and something has to route it |
| GitHub and Bitbucket OAuth callbacks | The provider’s short-lived authorization code, on the redirect back | One redirect URI per App / consumer, for the same reason |
| Billing | Company name, billing email, plan and invoice amounts | One payment processor serves all regions |
| Transactional email | Recipient address and message body for invitations, password resets and verification | Single email provider |
| Service monitoring | Error traces and performance metrics from TigerGate’s own services | Shared observability |
| AI-assisted features | Only the specific code or finding you submit, when you use AI fix suggestions, AI PR review or AI pentest | Model providers are not yet region-local |
The receiver at
hooks.tigergate.dev holds no database and writes nothing to
disk. It reads which region owns the delivery, forwards it, and returns that
region’s response unchanged — so your provider’s retries behave exactly as if it
had posted to your region directly. Its logs record delivery id, event name,
region, status and latency; never a payload body.Your repository contents never pass through it. Cloning happens inside your
region, directly from your Git provider, using a credential that only exists
there.AI-assisted features are opt-in per organization. If your residency requirements do not permit sending code to a model provider, leave them disabled — every other product works without them.
What is shared by design
These carry no customer data and are the same whichever region you use:| Documentation | This site |
| Helm charts | oci://registry.tigergate.dev/charts |
| CLI image | tigergate/tigergate-cli on Docker Hub |
| Container images | ghcr.io/tigergate |