iap-auditor

iap-auditor is an agent for Claude Code from CharlesWiltgen/Axiom. It costs 246 tokens per session (4,760 once invoked), scanned A, original, MIT.

An agent that audits an iOS app's in-app purchases, including StoreKit transactions, receipts, restores, and subscription status. In-app purchases are payments made inside an app, and StoreKit is Apple's payment framework.

In plain words
What is it for?
Scanning Swift code for transaction-finalization mistakes, weak receipt checks, missing restore flows, and incomplete subscription lifecycle handling.
Why use it?
It looks for incomplete purchase handling that can lose revenue, leave customers without access, or cause App Store review problems.

Agent for Claude Code

Written for Claude Code: background in frontmatter. Also seen: model in frontmatter; positional $N argument; mentions Claude Code.

Part of the axiom plugin — 27 skills, 17 commands, 42 agents, 5 hooks shipped together

Good fit Scanning Swift code for transaction-finalization mistakes, weak receipt checks, missing restore flows, and incomplete subscription lifecycle handling.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/charleswiltgen/axiom/iap-auditor
About the project

Axiom is a toolkit of instructions, agents, commands, and development tools that give coding assistants specialized guidance for Apple operating-system development. It covers Swift, SwiftUI, interface design, data, concurrency, performance, networking, accessibility, logging, crash analysis, simulator testing, and profiling for iOS, iPadOS, watchOS, and tvOS. The catalogue contains 42 agents, 16 commands, and one plugin from this toolkit.

CharlesWiltgen/Axiom · 1,151 stars · on GitHub · charleswiltgen.github.io

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/CharlesWiltgen/Axiom

Made for: Claude Code.

Or install axiom, the plugin that ships this one along with the rest of its 27 skills, 17 commands, 42 agents, 5 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for iap-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/charleswiltgen/axiom/iap-auditor/github.svg)](https://agentmods.dev/agents/charleswiltgen/axiom/iap-auditor)
Your own site
<a href="https://agentmods.dev/agents/charleswiltgen/axiom/iap-auditor"><img src="https://agentmods.dev/badge/agents/charleswiltgen/axiom/iap-auditor/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for iap-auditor

Your own site · 80×15
<a href="https://agentmods.dev/agents/charleswiltgen/axiom/iap-auditor"><img src="https://agentmods.dev/badge/agents/charleswiltgen/axiom/iap-auditor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 246 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,760 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00246 $0.04760
Opus 5 $0.00123 $0.02380
Sonnet 5 $0.00049 $0.00952
Haiku 4.5 $0.00025 $0.00476

Measured 9d ago against content hash f83dbb8e0eeb, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

iap-auditor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude-plugin/plugins/axiom/agents/iap-auditor.md · 360 lines

How it starts

The opening of the file, as written. The whole thing — 360 lines — stays where its author put it; the contents beside it link to each section on GitHub.

In-App Purchase Auditor Agent

You are an expert at detecting in-app purchase issues — both known anti-patterns AND missing/incomplete patterns that cause revenue loss, App Store rejections, and customer support problems.

Tool Use Is Mandatory

Run every Glob, Grep, and Read this prompt lists. Do not reason from training data instead of scanning.

  • Run each Grep pattern as written; do not collapse them into one mega-regex.
  • Run the Read verifications each section calls for.
  • "Build a mental model" / "map the architecture" means with tool output in hand, not from memory.

Files to Exclude

Skip: *Tests.swift, *Previews.swift, */Pods/*, */Carthage/*, */.build/*, */DerivedData/*, */scratch/*, */docs/*, */.claude/*, */.claude-plugin/*

Phase 1: Map IAP Architecture

Step 1: Identify StoreKit Version and Entry Points

Glob: **/*.swift (excluding test/vendor paths)
Grep for:
  - `import StoreKit` — StoreKit usage
  - `Product.products(for:)` — StoreKit 2 product loading
  - `SKProductsRequest`, `SKPaymentQueue` — StoreKit 1 (legacy)
  - `Transaction.updates`, `Transaction.all`, `Transaction.currentEntitlements` — StoreKit 2 lifecycle
  - `SKPaymentTransactionObserver` — StoreKit 1 transaction observer
  - `paymentQueue\(_:shouldAddStorePayment:` — promoted-purchase handler (SK1)

StoreKit 1 is not deprecated but is legacy — note if the codebase mixes both. Also note whether classes adopting SKPaymentTransactionObserver implement the optional paymentQueue(_:shouldAddStorePayment:) method (entry point for promoted purchases from the App Store product page).

Step 2: Identify Product Types in Use

Grep for:
  - `.consumable`, `.nonConsumable` — Consumable / non-consumable IAP
  - `.autoRenewable`, `.nonRenewable` — Subscription types
  - `SubscriptionInfo`, `subscriptionGroupID` — Subscription group usage
  - `RenewalInfo`, `renewalInfo` — Renewal metadata access
  - `subscription\?\.status`, `\.subscriptionStatus`, `Product\.SubscriptionInfo\.Status` — subscription-state read sites
  - `scenePhase`, `\.onChange\(of: scenePhase`, `willEnterForegroundNotification` — foreground re-check triggers

Read the full file on GitHub · 360 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 360 lines · 246 tokens per session scan A f83dbb8e0eeb

Subscribe to this mod's changes

iap-auditor is an agent published in the GitHub repository CharlesWiltgen/Axiom (1,151 stars, last pushed 3d ago), licensed MIT. It adds 246 tokens to every session and 4,760 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

check

Code quality auditor for the Trellis channel runtime. Reviews uncommitted diffs against task artifacts and specs, self-fixes issues, and reports verification results.

yuqie6/ProductFlow · 34 tokens

marketplace-reviewer

Two-sided marketplace pre-implementation reviewer. SD), 1099-K reporting, escrow / hold-and-release, dispute mediation, two-sided fee model, EU DSA + P2B Regulation compliance. Outputs threat model TM-{slug}.md and signs off payout-flow + seller-onboarding decisions before senior-dev claims tasks.

avelikiy/great_cto · 69 tokens

subscription-billing-engineer

Subscription and billing specialist for SMB Product-Builder archetypes. Owns the billing contract — Stripe Billing/Connect plans and tiers, usage metering, proration, dunning, webhook reconciliation, tax (Stripe Tax), customer portal, trial→paid, and refund/dispute hand-off. Runs after architect, before senior-dev.…

avelikiy/great_cto · 84 tokens

connector-builder

Source-connector specialist for dashboard / analytics Product-Builder products. The read-side twin of integrations-engineer — owns the connector contract for pulling data IN from sources (Stripe, Google Analytics, QuickBooks, Google/Meta Ads, Shopify, carrier APIs): OAuth source auth, incremental sync (cursors/CDC)…

avelikiy/great_cto · 105 tokens

pci-reviewer

Commerce-specific pre-implementation reviewer. Outputs threat model TM-{slug}.md and signs off scope decisions before senior-dev claims tasks.

avelikiy/great_cto · 30 tokens

woo-regression-reviewer

WooCommerce regression-invariant review — Action Scheduler traps, meta equality and sync-on-read loops, template/theme overrides, broken-until-JS defaults, filter return-type variance, PHP coercion, migration legacy state, heuristic proxy predicates vs. store-configuration variance, removed-markup selector contracts…

vladolaru/claude-code-plugins · 98 tokens