keenly

FAQ

How Keenly handles your code

Keenly reads your pull requests to write its questions. This is what it reads, where the code goes and what it keeps.

  • Which code does Keenly read?

    Only the diff of a pull request that you open, in a repository where the Keenly GitHub App is installed.

    The app can read pull requests only. It cannot change your code.

  • Which files go to the model?

    Code, config and SQL. Keenly leaves out lockfiles, generated files, binary files, docs and assets, such as images and fonts.

    A diff of more than 200,000 characters after that goes to no model, and its pull request gets no question.

  • Who sees my private code?

    Keenly sends the title, the description and the diff of the pull request to a model through OpenRouter.

    OpenRouter sends them only to providers that neither train on your code nor keep it.

  • What does Keenly store?

    No diff. Each question keeps the title and link of its pull request, and the 1 to 8 lines of code that it quotes.

    When you answer, your history keeps the question, your answer and those lines.

  • Does Keenly work on private repositories?

    Yes, with the same rules as public repositories. The Free plan includes them.

  • Which questions do I get?

    Scope questions ask what your pull request changes as a whole. Literacy questions are on a topic of a language course that your diff brings up. Design questions are on a system design topic that your diff brings up. Infrastructure questions are on how your code runs, is served or is deployed.

    Under Settings, you set the most questions of each kind that a pull request gets.

  • How do I stop the questions?

    Under Settings, set each kind of question to 0. Or uninstall the GitHub App from the repository, and Keenly reads none of its pull requests.