AAEP Security Policy

This document explains how to report security vulnerabilities in the Agent Accessibility Event Protocol, its reference implementations, and its tooling. It also describes our handling process, supported versions, and recognition for security researchers.

Please do not file public issues for security vulnerabilities. Use the private reporting channels described below.


1. What's in scope

This policy covers:

This policy does NOT cover:

If you're unsure whether something is in scope, report it. We'd rather triage out-of-scope reports than miss a real one.


2. How to report

2.1 Preferred channel: encrypted email

Email security@aaep-protocol.org.

Encrypt your message with the AAEP security team's PGP key. The key is published at:

The key fingerprint will be published in the first release notice and the website. During the bootstrap period, the key is held by the Protocol Architect (Abdulrafiu Izuafa).

2.2 GitHub private vulnerability reporting

You may use GitHub's private vulnerability reporting feature. Go to the repository's Security tab → "Report a vulnerability."

This routes to the same team as the email channel.

2.3 What to include

Your report should include enough information for us to reproduce and assess the issue:

You do not need to:


3. Our response

3.1 Timeline commitments

Stage Timeframe
Acknowledgment of receipt Within 2 business days
Initial severity assessment Within 5 business days
Detailed response with action plan Within 10 business days
Patch released for critical/high severity Within 30 days
Patch released for medium severity Within 90 days
Patch released for low severity Within 180 days

These are commitments, not approximations. If we miss a timeline, you'll be told why and given a revised estimate.

3.2 Severity assessment

We use the CVSS 3.1 Base Score as a starting point but adjust based on context. AAEP-specific severity considerations:

3.3 What we'll do

Once a report is confirmed, we will:

  1. Assign an internal tracking ID.
  2. Work with you on a coordinated disclosure timeline (see §4).
  3. Develop and test a patch.
  4. Request a CVE if the vulnerability warrants one.
  5. Prepare a security advisory.
  6. Release patched versions of affected components.
  7. Publish the advisory on the announcement channel and in GitHub Security Advisories.
  8. Credit you in the advisory (with your preferred name or anonymously, per your choice).

4. Coordinated disclosure

We follow a coordinated disclosure model. The default timeline is 90 days from initial report to public disclosure. This may be:

Public disclosure means:

You may not disclose publicly before the coordinated date except in two cases:

  1. Active exploitation: if the vulnerability is being exploited in the wild and users need immediate notification, we may agree on accelerated disclosure.
  2. Unresponsive maintainer: if we miss our timeline commitments without explanation for an extended period, you may disclose. We don't anticipate this happening, but we acknowledge your right to protect users.

5. Supported versions

Security patches are released for:

Version branch Status Receives security patches?
1.x.y (current major) Active Yes
0.x.y (pre-1.0 betas) Deprecated No (please upgrade)

When AAEP 2.0.0 ships, the support matrix will update:

You can verify the current supported versions at https://aaep-protocol.org/security/supported-versions.


6. Threat model

AAEP's reference threat model assumes:

Trusted: - The user (the human running an AT) - The user's AT software itself - The AT's local environment (OS, IPC mechanisms)

Untrusted: - The network between producer and subscriber (unless explicitly secured) - Other software on the user's machine that could intercept events - Third-party producers and bridges

Out of scope: - An attacker with full root/admin on the user's machine (game over regardless) - Side-channel attacks on TLS implementations (defer to TLS spec) - Compromised AT software (we trust the AT we're talking to)

Vulnerabilities that only manifest under out-of-scope conditions are noted but typically not classified as security issues for AAEP itself.


7. Hall of fame

We recognize security researchers who report vulnerabilities responsibly. Hall of fame is maintained at:

To be added, your report must:

You may decline attribution and remain anonymous. The hall of fame is non-monetary recognition. We do not run a bug bounty program at this time.


8. Safe harbor

We commit to:

  1. Not pursue legal action against security researchers who comply with this policy.
  2. Work with researchers to understand and resolve issues quickly.
  3. Recognize researchers publicly with their consent.
  4. Not require researchers to sign non-disclosure agreements as a condition of acceptance.

Researchers, in turn, commit to:

  1. Make a good faith effort to avoid privacy violations, destruction of data, or interruption of services.
  2. Provide reasonable time for us to address issues before public disclosure.
  3. Not exploit issues beyond what's necessary to demonstrate them.
  4. Comply with the laws of their jurisdiction.

If you're a security researcher operating in a jurisdiction where our policy creates legal ambiguity, contact us before testing. We'd rather help you research safely than have you avoid AAEP entirely.


9. PGP key information

The AAEP security team's PGP key:

Key type:     RSA 4096
User ID:      AAEP Security <security@aaep-protocol.org>
Fingerprint:  TO BE PUBLISHED at v1.0.0 release

The fingerprint will be:

  1. Announced in the v1.0.0 release notice
  2. Published at https://aaep-protocol.org/security-team.asc
  3. Signed by the Protocol Architect's personal key (also published)
  4. Available from public key servers

Verify the key's fingerprint via multiple channels before sending sensitive reports.


10. Reporting non-security bugs

If you have a bug that isn't a security issue, please file a public GitHub issue. We triage public issues actively and you'll typically get a response within a week.

If you're not sure whether something is a security issue, err on the side of reporting it privately. We'll route it to the right place from there.


11. Updates to this policy

This document may be amended by an ACP at the constitutional decision tier (GOVERNANCE.md §3.4). Changes that materially weaken our security commitments require:

  1. 60-day public review (extended from the standard 30 days for constitutional changes)
  2. Two-thirds supermajority of the Steering Committee
  3. Explicit notification on the announcement channel

Material updates appear in CHANGELOG.md.


12. Acknowledgments

This security policy draws on:

We thank these projects for advancing the state of coordinated disclosure in open source.