{
  "markdown": "# KOREXT Enforce Action\n\nEnforce compliance policies on AI generated code in your GitHub workflows.\n\n72 policy packs. 532 rules. 13 languages. Violations appear as GitHub Code Scanning annotations on pull requests.\n\n## Quick Start\n\nAdd this to `.github/workflows/korext.yml`:\n\n```yaml\nname: Korext Enforcement\non: [push, pull_request]\n\npermissions:\n  contents: read\n  security-events: write\n\njobs:\n  enforce:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: Korext/enforce-action@v3\n        with:\n          api-token: ${{ secrets.KOREXT_API_TOKEN }}\n```\n\nKorext scans your code on every push and PR using the default `web` policy pack.\n\n## How It Works\n\n1. **Install**: The action installs the [Korext CLI](https://www.npmjs.com/package/korext)\n2. **Scan**: Runs `korext enforce` against your codebase with the selected policy pack\n3. **Report**: Generates a SARIF file and uploads it to GitHub Code Scanning\n4. **Gate**: Fails the workflow if critical or high severity violations are found\n\nViolations appear as annotations directly on the PR diff, powered by GitHub Code Scanning.\n\n## Inputs\n\n| Input | Description | Required | Default |\n|---|---|---|---|\n| `directory` | Directory to scan for policy violations | No | `.` |\n| `pack` | Policy Pack ID to enforce | No | `web` |\n| `api-token` | Korext API token for authenticated mode | No | (anonymous) |\n| `fail-on-violations` | Fail workflow on critical/high violations | No | `true` |\n| `sarif-upload` | Upload SARIF to GitHub Code Scanning | No | `true` |\n| `region` | Data processing region (us, eu, apac) | No | (default) |\n| `sign-bundles` | Request signed proof bundles | No | `true` |\n\n## Outputs\n\n| Output | Description |\n|---|---|\n| `violations` | Total number of policy violations found |\n| `sarif-file` | Path to the generated SARIF results file |\n| `bundle-count` | Number of proof bundles generated |\n| `bundles-signed` | Number of signed proof bundles |\n| `bundle-ids` | Comma separated list of proof bundle IDs |\n\n## Examples\n\n### Multiple Policy Packs\n\n```yaml\n- uses: Korext/enforce-action@v3\n  with:\n    pack: web,pci-dss-v1,owasp-v1\n    api-token: ${{ secrets.KOREXT_API_TOKEN }}\n```\n\n### EU Data Sovereignty\n\n```yaml\n- uses: Korext/enforce-action@v3\n  with:\n    pack: gdpr-v1\n    region: eu\n    api-token: ${{ secrets.KOREXT_API_TOKEN }}\n```\n\n### Scan Specific Directory\n\n```yaml\n- uses: Korext/enforce-action@v3\n  with:\n    directory: src/\n    pack: hipaa-v1\n    api-token: ${{ secrets.KOREXT_API_TOKEN }}\n```\n\n### Warn Only (do not fail)\n\n```yaml\n- uses: Korext/enforce-action@v3\n  with:\n    pack: web\n    fail-on-violations: 'false'\n```\n\n## Authentication\n\nFor full access to all policy packs and signed proof bundles, create an API token in your [KOREXT dashboard](https://app.korext.com) and add it as a GitHub secret:\n\n1. Go to [app.korext.com](https://app.korext.com) > Settings > API Tokens\n2. Create a new token\n3. Add it as `KOREXT_API_TOKEN` in your repo's Settings > Secrets and variables > Actions\n\nWithout a token, the action runs in anonymous mode (20 requests per hour, limited packs).\n\n## Links\n\n- [Website](https://korext.com)\n- [Dashboard](https://app.korext.com)\n- [Documentation](https://korext.com/docs)\n- [CLI on npm](https://www.npmjs.com/package/korext)\n- [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=Korext.korext)\n\n## License\n\nProprietary. See [Terms of Service](https://korext.com/legal).\n",
  "bytes": 3454,
  "sha": "77bcb2ef5ae9e7fb3f3d3bddf08f97450520cef25858c6341616bc30a68fb28b",
  "repo_slug": "korext/enforce-action",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_korext_governance_470c53f6/readme"
}