# No profanity, violence, or explicit content violations

- **Pattern:** `ab-001949` (`mobile-store-readiness.store-compliance.content-policy-violation-free`)
- **Severity:** medium
- **Lifecycle:** active
- **Last modified:** 2026-04-18
- **Canonical URL:** https://auditbuffet.com/patterns/ab-001949
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-001949)

## Why it matters

App Store Review Guideline 1.1 (apple-review-guidelines-content) and Google Play's Developer Content Policy (google-play-developer-content-policy) both enumerate content that results in immediate rejection: profanity, graphic violence, sexually explicit content, and hateful speech. Beyond binary-level rejection, content violations discovered post-publication trigger app removal and can result in developer account suspension — losing access to all published apps, not just the offending one. Misleading marketing claims ("100% free" for a subscribed app) are explicitly called out under Guideline 3.1 as deceptive pricing and trigger a separate rejection track. Hardcoded strings in error messages, debug dialogs, and placeholder copy are the most common sources of unintended policy violations in vibe-coded apps.

## Severity rationale

Medium because content policy violations cause post-publication removal and developer account suspension, while misleading claims in store descriptions trigger a separate deceptive pricing rejection track.

## Remediation

Search all user-visible string literals for policy-violating content and misleading claims before submitting. Scan source files first:

```bash
# Check for common profanity patterns in source
grep -rn --include='*.ts' --include='*.tsx' \
  -E '(fuck|shit|damn|ass\b|crap)' src/

# Check for misleading pricing claims in store metadata
grep -rn 'free\|no cost\|zero cost' src/ store-metadata/
```

Replace any profanity in error messages, debug copy, and default strings with neutral language. If the app has a subscription or IAP, ensure no marketing copy claims the app is "free" without qualifying it ("Free to download" with "Premium features from $X/mo" is compliant; "Free app" for a paywalled core feature is not). For user-generated content features, implement a server-side moderation layer before content reaches other users.

## Detection

- **ID:** `content-policy-violation-free`
- **Severity:** `medium`
- **What to look for:** Review app copy, in-app text, and marketing materials for content policy violations. Check for: excessive profanity, graphic violence, sexually explicit content, hateful speech, misleading claims. This is a best-effort check — obvious violations should be caught by human review, but some may slip through AI code inspection. Look at hardcoded strings, default dialog text, error messages, and any user-visible content.
- **Pass criteria:** Enumerate all hardcoded user-visible strings in source files. No more than 0 content policy violations should be found in app source code or hardcoded strings. App description in store listing is appropriate and does not violate policies. Report even on pass: "Scanned X source files containing Y hardcoded strings, found 0 policy violations."
- **Fail criteria:** Profanity, violence, explicit sexual content, or hateful speech found in app text or store description. Misleading claims detected (e.g., "100% free" but requires in-app purchases).
- **Skip (N/A) when:** Never — content policy compliance is required.
- **Detail on fail:** `"Profanity detected in error message at src/screens/LoginScreen.tsx"` or `"App description claims 'Free app' but requires subscription payment for core features"`
- **Remediation:** App stores have strict content policies. Ensure compliance:
  1. Search all source files for profanity and inappropriate strings:
     ```bash
     grep -rn "damn\|hell\|crap\|ass\b" src/ --include="*.tsx" --include="*.ts"
     ```
  2. Remove profanity from error messages, default copy, and UI
  3. Ensure marketing claims are honest (don't claim "free" if requiring purchase)
  4. If the app has user-generated content, implement moderation
  5. Test the app in various contexts — what appears harmless in development may violate policy in context
  6. Review store guidelines:
     - Apple: https://developer.apple.com/app-store/review/guidelines/
     - Google: https://play.google.com/about/developer-content-policy/

## External references

- external apple-review-guidelines-content — https://developer.apple.com/app-store/review/guidelines/#safety
- external google-play-developer-content-policy — https://play.google.com/about/developer-content-policy/

Taxons: regulatory-conformance, content-integrity

HTML version: https://auditbuffet.com/patterns/ab-001949
