Skip to content

Add opt-out signals to a repository

If your images live in a Git repository, you can scan them for the opt-out field and open one reviewable pull request that swaps files missing the field for marked copies. This does not prevent copying or guarantee that AI systems will honor the field.

On the dashboard, open Connectors → GitHub → Connect with GitHub and install the GitHub App on the repositories you choose. Current GitHub App connections use short-lived installation tokens minted per request; disconnecting (from the connector’s page or Account → Connected services) removes the saved connection data.

Private repositories you granted access to can be scanned once the GitHub App is configured and connected.

Open Scan repository, paste the repository link, and scan. Supported images within the scan limits are checked for the machine-readable opt-out field. Results show Signal present or No signal found.

Each paid account can start up to 10 repository scans per day. A separate service-wide emergency ceiling of 250 repository scans per day can temporarily pause new scans for everyone. That ceiling protects launch infrastructure and is not an additional per-user allowance. The images checked in repository and website workflows also count toward the account’s 50,000 actual image checks per month.

When a scan finds images without the field, a “Fix this with a pull request” panel appears above the results. Click it and the server:

  1. downloads the flagged images,
  2. runs each through the standard image-marking pipeline,
  3. commits the marked copies to a new noai-shield/mark-images-* branch (re-encoded files are renamed to match their real format), and
  4. opens one pull request against the default branch.

No pull request or file replacement runs on its own: the pull request exists only because you clicked, and your team reviews and merges it like any other change. Large sets are capped per run (the panel reports what was left out); merge and run again to cover the rest.

  • The PR body lists every file swapped and links back to the dashboard.
  • Re-encodes are handled: a hero.webp that comes back as PNG lands as hero.png with the old file removed in the same commit.
  • Without GitHub App credentials configured (keyless development), the same flow runs end to end with the GitHub writes simulated, labeled as a sandbox run.

Strictly necessary storage remembers your choice. See the privacy policy for details.