Failure PatternDecision layer

The Peko Free-Tier Trap: Why Agencies Fail to Convert Lint Runs Into Retainers

Symptom: Clients receive a clean Peko CLI lint report across all 46 mechanical rules and conclude they have no compliance exposure, then get rejected by Apple for a prose-based guideline the lint tier never evaluates. Root cause: The free tier is genuinely useful, which is the problem: unlimited lint runs and 46 mechanical rules cover the easy violations, so agencies stop there and never reach the 326 interpretive rules that catch the prose-based guidelines Apple and Google actually reject on.

By InnovaAI ResearchPublished

How do you recognize it?
  • Clients receive a clean Peko CLI lint report across all 46 mechanical rules and conclude they have no compliance exposure, then get rejected by Apple for a prose-based guideline the lint tier never evaluates.
  • Agency delivery teams run Peko ad hoc on a single .ipa before submission instead of wiring the GitHub Action into pull requests, so violations surface days before release rather than at the commit that introduced them.
  • The agency never completes the project facts form (child-directed status, EU distribution), so interpretive findings come back generic and the client questions the value of the paid tier.
  • Peko findings arrive with blocking, review, and passed statuses, but no one on the account maps them to a remediation owner, so the report sits unread in a shared drive.
  • Agencies quote Peko work as a one-off audit line item rather than a monthly retainer, and the client treats the next release as a fresh purchase decision.
Why does it happen?
  • The free tier is genuinely useful, which is the problem: unlimited lint runs and 46 mechanical rules cover the easy violations, so agencies stop there and never reach the 326 interpretive rules that catch the prose-based guidelines Apple and Google actually reject on.
  • Interpretive audits are metered at 10 per month on the Pro plan, so an agency managing several client builds burns the quota on re-scans of the same app instead of reserving audits for release candidates.
  • Peko reads source, binaries, manifests, and third-party SDKs, but it cannot know a client's distribution intent or data practices unless the project facts form is filled in, and that step gets skipped under delivery pressure.
  • The tool diagnoses rejections and maps them to code locations, yet nothing in Peko assigns fixes or tracks them to closure, so the output is evidence rather than a workflow unless the agency builds that layer.
How do you fix it?
  • Move the Peko GitHub Action from a pre-release manual run to a required check on every pull request, so the 46 mechanical rules gate merges and the client sees compliance as continuous rather than a launch-week scramble.
  • Audit your Pro plan usage: count interpretive audits consumed per client per month, and stop spending them on unchanged builds. Reserve the 10 monthly audits for release candidates only.
  • Complete the project facts form for every client project before the first interpretive scan, including child-directed status and EU distribution, so findings are specific enough to justify the paid tier in the client report.
  • Convert the Peko report into a tracked remediation list with named owners and due dates, and present it in the monthly retainer review alongside the next release calendar.