# Policy on AI Agents

> [!IMPORTANT]
> This project does **not** accept pull requests that are fully or
> predominantly AI-generated. AI tools may be utilized solely to
> assist individual development.
>
> If we receive an AI PR that _clearly has had zero testing_, then we
> will **ban the person who submitted the PR**.
>
> Submitting a garbage PR isn't just AI slop, it's abuse.

AI assistance is fine.  But when someone submits a PR, we assume that
they understand the submission, and that they accept full
responsibility for it.

---

## Recommendations for Using AI

AI can be useful in some situations.  However, our experience has been
that when people ask AI questions about FreeRADIUS, the answers are
pretty bad.  The advice is either unclear, or is simply wrong.  This
means that AI should be used to point you in a direction, but you
should read the documentation to get the _truthful_ answers:

> READ THE DOCS!
>
> https://www.freeradius.org/documentation/freeradius-server/

AI can help in the following use cases:

- Code completion in an editor,
- Asking about the structure of the code,
- Learning about specific techniques used in the project,
- Finding documents, links, and parts of the code that are worth your time
- Reviewing human-written code and providing suggestions on things you hadn't thought of,
- Creating rough outlines for documentation,

Anything AI generated _must_ be reviewed, edited, and approved by a person.

## Disclosure

**All AI contributions must be disclosed.**

If you use AI in an editor for API suggestions, searching the code,
etc., that doesn't need to be disclosed.  You are the person writing
the code, not the AI.

If you use AI to _generate_ code, it **must** be disclosed.  The code
that AI generates is pretty much always wrong.  We need to know if the
PR is AI slop, or if it has been reviewed and understood by a person.
