> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plannotator.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Software RFC Template

> Copy a software RFC template for a proposal that needs broad discussion of motivation, design, alternatives, compatibility, rollout, and open questions.

Use an RFC when a proposal needs broad discussion before adoption. Write the proposed direction clearly enough that reviewers can disagree with a specific claim, alternative, or consequence.

```md theme={null}
# RFC: [Proposal]

Status: Draft | In discussion | Accepted | Rejected | Withdrawn
Authors: [Names]
Reviewers: [Requested perspectives]
Last updated: [Date]

## Summary
[The proposal and intended outcome.]

## Motivation
[Current problem, users, evidence, and cost of doing nothing.]

## Goals
- [Outcome]

## Non-goals
- [Explicit exclusion]

## Proposal
[Behavior, design, ownership, and important flows.]

## Compatibility and migration
[Existing callers, data, rollout, fallback, and removal.]

## Security, privacy, and operations
[Trust, failure, abuse, observability, and recovery.]

## Alternatives
### [Alternative]
[When it works and why it was not selected.]

## Open questions
- [Question requiring discussion]

## Decision and follow-up
[Decision, linked ADRs/specifications/plans, or reason for rejection.]
```

## Example open question

```md theme={null}
## Open questions
- Should anonymous links expire after inactivity, or remain valid until revoked?
  The choice affects recovery, abuse handling, and whether recipients can rely on an old link.
```

A useful open question names the consequences of each answer. “Thoughts?” does not give reviewers enough structure.

## Review prompts

* Is the motivation supported by current evidence?
* Can a reviewer identify what changes for users, operators, data, and callers?
* Are alternatives described as real choices rather than straw figures?
* Which accepted choices need separate ADRs or a maintained specification?

Use [ADR vs RFC vs technical specification](/compare/adr-vs-rfc-vs-technical-specification) to choose the right record. When the proposal becomes implementable, derive an [AI coding plan](/templates/ai-coding-plan) instead of turning the RFC into a task log.

The [Rust RFC repository](https://github.com/rust-lang/rfcs) is a primary-source example of a software project using versioned proposals, public discussion, and an accepted or rejected record. This Plannotator template is original and does not reproduce the Rust template.

*Reviewed July 18, 2026. Written and maintained by the Plannotator documentation team.*
