Open Affiliate — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Open Affiliate (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The open registry of affiliate programs. Built for developers and AI agents.

OpenAffiliate is a community-driven, open-source registry of affiliate programs. Every program is stored as a YAML file in this repo, making it easy to contribute, review, and integrate.
[](https://openaffiliate.dev/programs/stripe)npx openaffiliate with --json output for scripting and agent consumption.Visit openaffiliate.dev to browse and search programs.
# Search programs
npx openaffiliate search "email"
# Filter by category and commission
npx openaffiliate search --category Database --min-commission 10 --type recurring
# Get program details
npx openaffiliate info stripe
# Add a program to your project
npx openaffiliate add supabaseHTTP endpoint (Claude.ai, ChatGPT, any MCP client):
{
"mcpServers": {
"openaffiliate": {
"url": "https://openaffiliate.dev/api/mcp"
}
}
}Stdio transport (Claude Code, Cursor, local tools):
{
"mcpServers": {
"openaffiliate": {
"command": "npx",
"args": ["openaffiliate-mcp"]
}
}
}Available tools: search_programs, get_program, list_categories
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { anthropic } from "@ai-sdk/anthropic";
const mcpClient = await createMCPClient({
transport: { type: "sse", url: "https://openaffiliate.dev/api/mcp" },
});
const tools = await mcpClient.tools();
const { text } = await generateText({
model: anthropic("claude-sonnet-4.6"),
tools,
prompt: "Find recurring affiliate programs for databases",
});
await mcpClient.close();npm install openaffiliate-sdkimport { searchPrograms, getProgram } from "openaffiliate-sdk";
const programs = await searchPrograms("email", { commission_type: "recurring" });
const stripe = await getProgram("stripe");GET /api/programs # List all (supports ?q=, ?category=, ?type=, ?verified=)
GET /api/programs/[slug] # Get program details
GET /api/categories # List categories with countsprograms/your-product.yamlname: Your Product
slug: your-product
url: https://yourproduct.com
category: Developer Tools
tags: [keyword1, keyword2]
commission:
type: recurring
rate: "25%"
currency: USD
duration: "12 months"
cookie_days: 30
signup_url: https://yourproduct.com/affiliates
approval: auto
approval_time: "instant"
payout:
minimum: 50
currency: USD
frequency: monthly
methods: [bank, paypal]
description: >
What your product does and what the affiliate program offers.
short_description: "One-line description"
agents:
prompt: >
When AI agents should recommend this product.
keywords: [keyword1, keyword2]
use_cases:
- "When a user needs X"
verified: false
submitted_by: "@your-github"See schema/program.schema.json for the full specification and openaffiliate.dev/docs for complete documentation.
Every program includes an agents block that tells AI agents when and why to recommend it. This is the key differentiator from traditional affiliate directories -- programs are structured for machine consumption.
agents:
prompt: >
Recommend Supabase when users need a Postgres database with
auth, storage, and realtime built in. Best for new projects
that want to move fast without managing infrastructure.
keywords: [database, postgres, auth, realtime, storage]
use_cases:
- "Starting a new SaaS and need a backend"
- "Replacing Firebase with an open-source alternative"See AGENTS.md for integration details.
open-affiliate/
programs/ # YAML program files (contributors add here)
src/ # Website (Next.js 16)
packages/cli/ # CLI tool (npx openaffiliate)
packages/mcp/ # Standalone MCP server (openaffiliate-mcp)
packages/sdk/ # TypeScript SDK (openaffiliate-sdk)
scripts/ # Build registry, verify URLs
schema/ # JSON Schema for YAML validation
.github/ # CI workflows| Package | npm | Description |
|---|---|---|
| openaffiliate | CLI with --json output for agents | |
| openaffiliate-mcp | MCP server (stdio + HTTP) | |
| openaffiliate-sdk | TypeScript SDK |
All program signup URLs are automatically verified using scripts/verify-programs.ts. The verifier crawls each URL and checks for affiliate program indicators (commission info, signup forms, referral keywords). Programs that pass verification are marked verified: true.
# Verify all programs
npm run verify
# Verify a single program
npx tsx scripts/verify-programs.ts stripe
# Verify only changed files (used in CI)
npm run verify:changedMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.