app 6803901837 build record (2143692d-bddd-4e6a-b801-c6adc7c06a53) version 44a53643-1738-43ea-ac1d-f5ea877519de state prepared trigger manual DRY-RUN
| intake | done | |
| metadata | done | |
| screenshots | done | |
| preflight | done | |
| submit | done | |
| watch | pending |
| name | SnipStash: Clipboard Manager (28) |
|---|---|
| subtitle | Snippet Vault & Copy History (28) |
| keywords | paste,template,text,link,code,image,tag,search,shortcut,developer,saver,hold,board,utility,tool,key (99) |
| promotionalText | Keep your frequently used text, links, and code snippets organized in a secure, local-first clipboard manager. Tap to copy, search instantly, and use Siri Shortcuts. (165) |
Stop retyping the same text, links, and code snippets over and over. SnipStash is a lightweight, secure clipboard vault that keeps everything you copy—text, links, code, images, and files—in one searchable place. Build a personalized repository of your most-used templates, links, and replies, and grab them whenever you need them. Simply open the app to see a smart banner that prompts to save your latest clipboard item with a single tap. No automatic background reading ensures complete privacy. SnipStash instantly categorizes your clips with automatic title generation and on-device smart tagging for links, emails, code blocks, or phone numbers. Organize your vault your way. Pin critical snippets to the top, use color-coded tags to separate personal, work, and code clips, or perform instant full-text searches. A single tap on any saved item copies it back to your device clipboard with a satisfying haptic confirmation, ready to paste anywhere. Supercharge your productivity with integrated Siri Shortcuts. Trigger quick actions like "Save Snippet" or "Search Snippets" directly via voice or automation. The app is fully populated with helpful demo items on your first launch so you can test features immediately. Upgrade to SnipStash Pro via a monthly subscription or a one-time lifetime purchase to unlock unlimited snippet storage. The free tier includes storage for up to 25 snippets. Your data is entirely yours. SnipStash stores all snippets locally using SwiftData. There are no external servers, no user accounts, and no analytics tracking. Terms: https://www.apple.com/legal/internet-services/itunes/dev/stdeula/ Privacy: https://byasb.com/snipstash/privacy --- review notes --- No demo account is required to test this app. All snippet data is stored locally on the device using SwiftData, and there is no login or account creation flow. Testing Steps: 1. Seeded Data: On first launch, the app automatically seeds 10 demo snippets so all views are populated. 2. Tap-to-Copy: Tap any snippet in the list. Observe the visual confirmation and haptic feedback. Paste into any other app to verify it is copied. 3. Save Clipboard Feature: Copy any text from an external app. Open SnipStash. Tap the "Save clipboard?" banner. The app reads the clipboard only after this explicit tap and saves the snippet locally. 4. Search & Organize: Try typing in the search bar to filter snippets. Tap any color-coded tag at the top to filter by tags. 5. Siri Shortcuts: Open the system Shortcuts app to find the "Save Snippet" and "Search Snippets" App Intents. 6. Paywall & Restore: Navigate to Settings -> SnipStash Pro to view the paywall. StoreKit is integrated to display localized pricing. A "Restore Purchases" button is present and functional.





VERDICT: PASS (dry-run: projected after simulated auto-fixes) OPERATOR: App Privacy questionnaire must be PUBLISHED (saved ≠ published) [one web click] OPERATOR: 2026 'regulated medical device' banner under App Information — answer No [one web click] OPERATOR: Paid Applications Agreement + banking + tax Active, else StoreKit returns 0 products [one web click] OPERATOR: first subscription/IAP attaches via the version page IAP dialog (reviewSubmissionItems rejects inAppPurchaseV2 in 2026) [one web click] WARNING: panel 1: 'pwd=nT5rQxK9' — Exposes a sensitive Zoom meeting passcode/credential. WARNING: panel 1: 'Password: Sunshine!42' — Exposes a plaintext Wi-Fi password. WARNING: panel 1: '+91 98765 43210' — Exposes a phone number / personal data. WARNING: panel 5: 'Multi-device sync' — The app facts state that iCloud sync and the Mac app are not supported in v1.0. WARNING: panel 5: 'Custom keyboard' — The app facts state that a custom keyboard is not supported in v1.0. REJECTION REASON: Guideline 2.3.3 (Accurate Screenshots) for showcasing unreleased features (Multi-device sync, Custom keyboard) and displaying sensitive credentials or personal phone numbers.
| BLOCK | content_rights | contentRightsDeclaration unset — surfaces only at reviewSubmissionItems POST | fix_content_rights |
| BLOCK | copyright | version.copyright empty — hidden blocker at submit | fix_copyright |
| BLOCK | age_rating | 2026 age-rating fields unanswered: ['advertising', 'parentalControls', 'lootBox', 'healthOrWellnessTopics', 'ageAssurance', 'messagingAndChat', 'userGeneratedContent', 'gunsOrOtherWeapons'] | fix_age_rating |
| BLOCK | categories | no primary category | fix_categories |
| BLOCK | app_price | app has NO price schedule (new apps ship without one; required even for Free) | fix_app_price |
| BLOCK | app_availability | app availability unset — app would be sold nowhere | fix_app_availability |
| BLOCK | iap_readiness | IAP com.utenx.snipstash.pro.lifetime is MISSING_METADATA: no review screenshot | fix_iap_review_screenshot |
| BLOCK | iap_readiness | subscription com.utenx.snipstash.pro.monthly is MISSING_METADATA: no review screenshot | fix_sub_review_screenshot |
| BLOCK | review_details | review contact/notes missing: ['contactFirstName', 'contactLastName', 'contactPhone', 'contactEmail', 'notes'] (phone needs country code; notes = exact test steps) | fix_review_details |
| BLOCK | version_localization | version localization missing ['description', 'keywords', 'supportUrl'] | fix_metadata |
| BLOCK | version_localization | app-info localization missing ['subtitle', 'privacyPolicyUrl'] | fix_metadata |
| BLOCK | screenshots | no APP_IPHONE_67 screenshots (1320×2868 go here; APP_IPHONE_69 does not exist) | fix_screenshots |
| BLOCK | build | no build attached to the version | fix_attach_build |
| WARN | app_privacy | App Privacy questionnaire must be PUBLISHED (saved ≠ published) | operator |
| WARN | medical_device | 2026 'regulated medical device' banner under App Information — answer No | operator |
| WARN | paid_apps_agreement | Paid Applications Agreement + banking + tax Active, else StoreKit returns 0 products | operator |
| WARN | iap_draft_submission | first subscription/IAP attaches via the version page IAP dialog (reviewSubmissionItems rejects inAppPurchaseV2 in 2026) | operator |
| WARN | screenshot_claims | panel 1: 'pwd=nT5rQxK9' — Exposes a sensitive Zoom meeting passcode/credential. | |
| WARN | screenshot_claims | panel 1: 'Password: Sunshine!42' — Exposes a plaintext Wi-Fi password. | |
| WARN | screenshot_claims | panel 1: '+91 98765 43210' — Exposes a phone number / personal data. | |
| WARN | screenshot_claims | panel 5: 'Multi-device sync' — The app facts state that iCloud sync and the Mac app are not supported in v1.0. | |
| WARN | screenshot_claims | panel 5: 'Custom keyboard' — The app facts state that a custom keyboard is not supported in v1.0. |
{
"reason": "DRY_RUN or ALLOW_SUBMIT=false \u2014 version fully prepared, submission withheld",
"submitted": false
}| 05:46:13 | job created from manual |
| 05:47:54 | preflight pass 1: 22 findings, verdict BLOCKED |
| 05:47:56 | auto-fix fix_metadata: ok |
| 05:47:57 | auto-fix fix_metadata: ok |
| 05:47:57 | auto-fix fix_content_rights: ok |
| 05:47:57 | auto-fix fix_copyright: ok |
| 05:47:57 | auto-fix fix_age_rating: ok |
| 05:47:58 | auto-fix fix_categories: ok |
| 05:48:00 | auto-fix fix_app_price: ok |
| 05:48:01 | auto-fix fix_app_availability: ok |
| 05:48:01 | auto-fix fix_review_details: ok |
| 05:48:02 | auto-fix fix_screenshots: ok |
| 05:48:02 | auto-fix fix_attach_build: ok |
| 05:48:02 | auto-fix fix_iap_review_screenshot: ok |
| 05:48:02 | auto-fix fix_sub_review_screenshot: ok |
| 05:48:16 | pipeline finished: prepared |