Security

What Nodrik can read, and what it cannot.

Nodrik reads your telemetry, transiently, using an identity you grant and can revoke. This page states precisely what that means. If anything here is vague, treat it as a bug and tell us.

1 · What Nodrik can read

One service account per customer, created in our project, granted these four roles by you on the projects you choose:

RoleWhy it is neededVerbs
roles/logging.viewerwhat the service saidentries.list
roles/monitoring.viewerwhat the metrics did, and what else is firingtimeSeries.list · alerts.list · alertPolicies.list · notificationChannels.list
roles/errorreporting.viewerwhat is failing, and since whengroupStats.list
roles/run.viewerwhat changed in a deployrevisions.list

Optionally, per service you name, one more read-only role — a custom role defined in your project holding exactly the get and list permissions the tool behind it calls — so Nodrik can read a service's settings as well as its telemetry. Never granted with the four, never asked for in advance, deleted by the revoke script. For GKE it reads the GKE API and never connects to your cluster. The full list, verbs and all:optional configuration roles.

Optionally, a GitHub App you install with Contents and Metadata, read-only, on the repositories you select — so Nodrik can name the commit behind a deploy.

2 · What Nodrik cannot do

3 · What persists, and what does not

Nodrik is a reach-in product: telemetry is read at investigation time through your own APIs and used to answer one question. Your telemetry is never copied out, never indexed, and never stored.

What we do store:

Every tool result is redacted before the model sees it, and the transcript again before it is written: private keys, API keys, bearer tokens, payment card numbers, email addresses (other than Google service-account identities) and IP addresses are replaced. Where each of the things above is held, service by service, is stated in the DPA(clause 7).

4 · It happens in your audit log

The grant is your action, performed by your administrator, and it appears in your Cloud Audit Logs as such. Every subsequent read by Nodrik's service account is attributable to that identity. You do not have to take our word for what we read — you can query it:

gcloud logging read \
  'protoPayload.authenticationInfo.principalEmail="tenant-YOURID@tg-shard-0.iam.gserviceaccount.com"' \
  --project YOUR_PROJECT --freshness 30d

Revoking is symmetrical: remove the role bindings — the four, and any optional configuration role — and Nodrik goes blind, immediately.

5 · Where things run

Nodrik runs on Google Cloud. Model inference runs on Vertex AI inside Google's boundary — your redacted telemetry excerpt is sent to Google's model endpoint as part of the investigation, and is not used to train models.

During an investigation Nodrik may also send a short search query to Google's documentation search API (the Developer Knowledge API, a Google Cloud API), and open one of the pages that search returned, to check an error message or a command against Google's current Google Cloud documentation — never the open web. After the report is written, the claims its suggested fix makes are checked the same way. The query is derived from the already-redacted investigation, and nothing is stored there.

Stated rather than buried: every model request goes to Vertex AI's global endpoint, so the telemetry excerpts in it may be processed outside the EEA. Nothing is stored there. Where each part of the product holds data, service by service, and the transfer terms that apply, are in the DPA (clause 7).

6 · Read the exact grants before you run them

Onboarding is a documented set of gcloud commands. You can run the manual doc, the script, or the Terraform module — all three produce identical grants, and all three are readable before you run them. That is deliberate: the auditable script is the transparency artefact.

7 · Certifications, honestly

We are not SOC 2 certified. We run audit logging, least-privilege access, keyless CI, and PR-gated change control from day one, and we will certify when a customer's procurement process requires it. We would rather say that plainly than display a badge-shaped placeholder.

8 · Sub-processors

The full list, with locations and notice terms, is in the data processing agreement. Questions: support@nodrik.dev.