# EU Data Residency Lint (Terraform, GDPR Ch. V)

![EU Data Residency Lint (Terraform, GDPR Ch. V) — finds the line](https://getreadystack.com/img/promo/eu-data-residency-lint_demo.gif)

Every cloud region in your infrastructure code, mapped to a country and the transfer basis it needs.

## Install

```
npx @readystack/eu-data-residency-lint file
```

Node 18+. The same 18 rules as the VS Code extension, from a terminal or CI.

## Free

- Open any Terraform, Bicep or YAML file and see every cloud region that leaves the EEA — 18 checks against a 64-region table, each finding naming the country and the legal basis that region would need. No key, no limit, no watermark.
- `--rules` lists every rule

## With a licence ($29 once)

- Sweep the whole repository in one command and keep a dated Chapter V transfer register in Markdown: every file, line, region, country and adequacy status in one document you can hand to an auditor.

```
@readystack/eu-data-residency-lint --dir ./templates --report html --out report.html
```

External privacy counsel bills from $200/hour, and a Chapter V transfer review is billed by the file.

## Use from an AI agent (MCP)

Claude Code · Cursor · Windsurf · any MCP client - add to your MCP config:

```json
{ "mcpServers": { "eu-data-residency-lint": { "command": "npx", "args": ["-y", "@readystack/eu-data-residency-lint", "--mcp"] } } }
```

Tools: `check_text` and `check_file` (free) · `check_dir` (licence). The agent gets every finding with the line number.

## Use in CI

```yaml
- name: EU Data Residency Lint (Terraform, GDPR Ch. V)
  run: npx -y @readystack/eu-data-residency-lint --dir . --ci
```

(container: `docker run --rm -v "$PWD:/work" getreadystack/eu-data-residency-lint --dir /work --ci`)

The folder sweep, reports and CI mode need one licence — one payment, no subscription. Set `READYSTACK_LICENSE=<key>` or run `--license <key>` once.

[Get a licence](https://buy.polar.sh/polar_cl_bZYdC7eAzpJHf1ZuInPSKGUNxok8PCMqFLY2K1orgTJ)


<!-- eu data residency lint -->
