App Store Compliance Checklist

Last updated: October 2026

This checklist documents HVS compliance measures for app store distribution. It does not constitute legal advice or guaranteed approval. Final review is subject to Apple, Google, and payment provider discretion.

1. Apple App Store (App Review Guidelines)

Implemented
Age confirmation gate (13+/16+ EU/UK)
AgeGate component blocks under-13 users, requires terms acceptance
Implemented
User-generated content moderation
Report system with 10 categories, priority routing, moderator dashboard
Implemented
Block and mute controls
UserBlock and UserMute entities with dedicated management pages
Implemented
Content removal and account suspension
Moderator actions: warning, content removal, temp suspension, permanent ban
Implemented
Appeals process
Appeal entity and workflow in Moderation dashboard
Implemented
No adult/erotic content categories
Adult and Explicit categories removed from Voice Discovery
Implemented
Copyright policy and DMCA process
Copyright Policy page, DMCA notice-and-takedown, counter-notice, repeat infringer policy
Implemented
Authorized audio only
Licensed track library, external audio extraction prohibited
Requires external approval
In-app purchases via StoreKit
Digital purchases on iOS must use Apple IAP. Stripe restricted to physical goods and services. Requires App Store Connect configuration.
Requires external approval
App Privacy Nutrition Label
Must be completed in App Store Connect with data collection disclosures
Requires external approval
App Tracking Transparency (ATT) prompt
Required if tracking APIs are used. HVS does not currently track, but must declare.

2. Google Play (Developer Program Policies)

Implemented
Content ratings questionnaire
IARC content rating to be completed in Play Console
Implemented
User-generated content policy compliance
Reporting, blocking, and moderation tools implemented
Implemented
No sexually explicit content
No adult categories, no sexual services, no adult-content monetization
Implemented
No anonymous random matching
Users have pseudonyms but accounts are accountable. No stranger-matching feature.
Requires external approval
Google Play Billing
Digital purchases on Android must use Google Play Billing. Requires Play Console configuration.
Requires external approval
Data safety form
Must be completed in Play Console with data collection and sharing disclosures
Requires external approval
Target audience and content ratings
Must be set in Play Console. HVS targets 13+ (teen and adult audiences).

3. Payment Provider Compliance

Implemented
Stripe for physical goods and services
Bookings, physical gifts, marketplace items use Stripe
Implemented
Identity verification for payouts
Stripe Connect onboarding, KYC required before withdrawals
Implemented
Anti-fraud monitoring
FraudFlag entity, suspicious activity tracking, manual review workflow
Implemented
No prohibited services
Booking categories exclude sexual services. Gift types exclude adult content.
Requires external approval
Stripe account activation
Stripe account must be claimed and switched to live mode with real API keys via Dashboard > Integrations
Requires external approval
Apple/Google billing integration
Digital content billing must use platform-native IAP on mobile apps. Requires StoreKit/Play Billing SDK integration before mobile launch.

4. Privacy and Data Protection

Implemented
Privacy Policy
Published at /privacy-policy
Implemented
Terms of Service
Published at /terms-of-service with eligibility, acceptable use, and termination clauses
Implemented
Terms acceptance tracking
AgeGate stores terms_accepted_at and age_group on user entity
Implemented
GDPR data download
Data download request flow in Account Privacy page
Implemented
Account deletion with grace period
3-step deletion flow with 30-day grace period and active booking warnings
Implemented
Audit logs
AuditLog entity tracks moderator actions, reports, data requests
Implemented
Private audio stored privately
Private uploads use UploadPrivateFile with signed URL access
In progress
Recording consent in private conversations
Recording controls exist in live rooms. Explicit consent UI for all-party recording needs strengthening.
Requires external approval
Data Processing Agreement (DPA)
May be required for EU users. Consult legal counsel.

5. Copyright and Intellectual Property

Implemented
Copyright Policy
DMCA notice-and-takedown, counter-notice, repeat infringer policy
Implemented
DMCA agent designation
DmcaAgent entity for designated agent contact information
Implemented
Copyright reporting
CopyrightReport entity, in-app reporting flow, TrackCopyrightClaims admin page
Implemented
Creator ownership records
PerformanceRelease and ParticipantReleaseApproval entities
Implemented
Authorized track licensing
AuthorizedTrack entity, license tiers, TrackUsageEvent logging, revenue split approvals
Implemented
Beat rights management
Beat entity with rights status, BeatDispute entity for ownership disputes

6. Minor Safety

Implemented
Age gate (13+/16+ EU/UK)
Blocks under-13, flags 13-17 for parental consent
Implemented
Guardian consent entity
GuardianConsent entity for parental approval of payouts and gifts
Implemented
Minor safety reporting
minor_safety report category with urgent priority
In progress
Feature restrictions for minors
Age group stored on user entity. Runtime enforcement of gift/payout restrictions for minors needs implementation.

7. Private Voice Rooms

Implemented
Private voice rooms with invitations
PrivateVoiceRoom and RoomInvitation entities. Invitation-only, host-controlled access.
Implemented
Never appear in public Discovery
Private rooms use a separate entity from LiveRoom. RLS restricts read to host only. No public listing.
Implemented
Recording disabled by default
recording_enabled defaults to false. No automatic recording.
Implemented
Recording requires all-party consent
RecordingConsentDialog requires explicit consent from all participants. Any participant can revoke at any time, immediately stopping recording.
Implemented
Mute, leave, block, report
Mute toggle, leave button, BlockUserButton, and ReportModal available in every private room
Implemented
Public usernames separate from verification data
Pseudonyms (display_name, username) are public. Identity verification (KYC, age, real name) stored separately in Wallet and Stripe Connect records.

8. Gift and Payment Categories

Implemented
Three separate financial categories
Personal gifts, creator tips, and BOOK ME payments are separated with distinct rules and processors
Implemented
Personal gifts disabled pending provider approval
Real-money P2P transfers are disabled in the UI with a clear message about pending payment provider approval. No simulated payments.
Implemented
No 30% commission on personal gifts
Personal gift category explicitly states no platform commission. Commission only applies to creator tips.
Implemented
Creator tips use provider-approved flows
Existing coin/credit system with platform fee disclosure. Mobile digital payments disabled until IAP integration.
Implemented
BOOK ME payments via Stripe
Separate Stripe-based booking system with identity verification. Not mixed with gifts or tips.
Implemented
Gifts not conditional on sexual content
Gift panel states gifts are voluntary and cannot be conditional on sexual activity, explicit content, or prohibited services
Implemented
Minor access prevention
Age gate blocks under-13. Guardian consent required for 13-17 payouts. Age-restricted gifts have min_age field.
Requires external approval
Licensed P2P payment provider
Personal gift real-money transfers require a licensed payment provider (e.g., Stripe P2P, PayPal) to explicitly approve the model before enabling

9. Content and Community Safety

Implemented
Community Guidelines
10-section guidelines covering harassment, hate speech, minors, copyright, spam
Implemented
Content reporting
10 report reasons, evidence upload, reference numbers, priority routing
Implemented
Moderation dashboard
Admin-only access, report queue, appeals, audit log, moderator actions
Implemented
User blocking and muting
Full block/mute system with entity-level enforcement
Implemented
No anonymous random matching
Pseudonyms allowed but accounts are accountable. No stranger-matching feature.
Implemented
Private messages separated from public content
PrivateMessage entity is separate from public AudioPost. No shared recommendation algorithm.

8. Features Requiring External Approval

The following require external legal or provider approval before launch:

  • Apple Developer Program enrollment and App Store Connect setup
  • Google Play Developer account and Play Console configuration
  • Stripe account activation (claim sandbox, provide live API keys)
  • Apple/Google in-app purchase integration for digital content
  • App Privacy Nutrition Label (Apple) and Data Safety form (Google)
  • Content rating questionnaire (IARC)
  • Data Processing Agreement review for EU/UK users
  • TURN server configuration for production WebRTC (live rooms)

Disclaimer: This checklist documents the technical compliance measures implemented in the HVS application. It does not constitute legal advice, a guarantee of app store approval, or certification of compliance. Final approval is determined solely by Apple, Google, and payment providers during their respective review processes. HVS should consult legal counsel for jurisdiction-specific requirements before launch.