---
title: "How usedocs handles your code: GitHub access, storage, AI"
description: "What usedocs reads from your GitHub repository, what it stores (not your source code), what it writes, and how to remove access."
image: "https://usedocs.app/og.png?v=2026-10-04b"
url: "https://usedocs.app/docs/code-handling"
---

## Why usedocs reads your code

usedocs keeps your help center accurate when your product changes. It reads what changed in a pull request or release, and checks each published article against the code it describes, so it can suggest the edit before customers notice the article is wrong. Nothing publishes until someone on your team approves it.

## How you connect

Install the usedocs GitHub App from Help center → Automation and pick the repositories it can see. GitHub lets you choose *Only select repositories*. You can change that list or uninstall the app at any time from your GitHub settings.

## What usedocs reads, and when

- **A pull request opens or merges, or a release is published:** the list of changed files and their diff (at most about 8,000 characters), to decide whether help articles are affected and to suggest edits.

- **An article is checked:** the repository's file list, then up to 5 files whose names match the article's terms (the first 2,400 characters of each).

- **You start your docs from code:** the README and docs folders you point it at.

## What usedocs stores

usedocs does not store your source code and does not build a search index of it. Diffs and file excerpts are held in memory for a single model request, then dropped.

It stores the pull request or release link and title, the list of changed file paths, and what it generates: suggested edits, draft articles, changelog drafts, and a check result per article (its status, the sentences that no longer match, and the file paths it read).

## What usedocs writes to GitHub

- **One comment on a pull request** that changes something customers read, saying which articles it affects, only if you turn on "Comment on pull requests" in Doc automations. It is off by default. The comment is updated in place, never repeated.

- **A branch and a pull request with your docs files**, only when you choose to publish docs to GitHub. usedocs never merges, never pushes to your default branch, and never changes repository settings.

Pull request and release events reach usedocs as signed webhooks; the signature is checked before an event is used.

## AI processing

Code excerpts go to a language model running on Cloudflare Workers AI, inside the request that produces the suggestion or check. usedocs does not use your code to train models.

## Removing access

Uninstall the GitHub App, or disconnect GitHub in Help center → Automation. Deleting the workspace deletes its suggestions, checks, and article history. Questions: [hello@usedocs.app](mailto:hello@usedocs.app).

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://usedocs.app/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Product docs",
        "item": "https://usedocs.app/docs/"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "How usedocs handles your code",
        "item": "https://usedocs.app/docs/code-handling"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebPage",
    "name": "How usedocs handles your code: GitHub access, storage, AI",
    "description": "What usedocs reads from your GitHub repository, what it stores (not your source code), what it writes, and how to remove access.",
    "url": "https://usedocs.app/docs/code-handling",
    "dateModified": "2026-10-04",
    "isPartOf": {
      "@type": "WebSite",
      "name": "usedocs.app",
      "url": "https://usedocs.app/"
    }
  }
]
```
