app 6803901837 build 2 (2143692d-bddd-4e6a-b801-c6adc7c06a53) version 44a53643-1738-43ea-ac1d-f5ea877519de state rejected trigger webhook DRY-RUN
| intake | done | |
| metadata | done | |
| screenshots | done | |
| preflight | done | |
| submit | done | |
| watch | pending |
| name | SnipStash: Clipboard Manager (28) |
|---|---|
| subtitle | Store Text, Code & Template (27) |
| keywords | snippet,vault,organize,paste,fast,shortcut,history,save,link,developer,utility,quick,holder,draft (97) |
| promotionalText | Instantly save, organize, and copy snippets, links, code, images, and files. No accounts, no trackers—just clean, local-first utility. (134) |
Stop retyping the same messages, links, and code snippets every single day. SnipStash is a clean, local-first clipboard vault that keeps your frequently used text, code, links, images, and files at your fingertips. Safely stash your copy-paste history and organize daily work essentials in one lightning-fast database. Open the app to instantly catch new items from your clipboard via our one-tap save banner. On-device smart heuristics automatically categorize and tag your entries, detecting URLs, code blocks, email addresses, and phone numbers in milliseconds without any cloud processing. Keep your vault tidy using custom colour-coded tags, Pinned + Recent sections, a tag manager, and a lightning-fast full-text search. Tap any snippet to instantly copy it back to your clipboard with satisfying haptic confirmation, ready to be pasted into any other screen. Supercharge your workflow with Siri Shortcuts like "Save Snippet" and "Search Snippets" for automated hands-free productivity. Store up to 25 snippets completely free, or upgrade to SnipStash Pro via monthly subscription or a one-time lifetime purchase to unlock unlimited storage. Your privacy is absolute. All data is stored locally on-device using SwiftData; there are no remote servers, no user accounts, and no analytics tracking. We never access your clipboard without your explicit tap. Terms: https://www.apple.com/legal/internet-services/itunes/dev/stdeula/ Privacy: https://byasb.com/snipstash/privacy --- review notes --- TESTING STEPS (No demo account is required as this app stores all data locally using SwiftData with zero server dependencies. The app seeds 10 demo snippets on first launch for immediate testing): 1. Clipboard Banner Feature: - Copy any text to your device clipboard outside the app. - Open SnipStash. A "Save clipboard?" banner will appear at the top. - Tap "Save" to confirm. The item is safely read and added to the database. 2. Organization & Smart Tags: - Tap any of the seeded items to view automatic tagging (e.g., email or URL detection). - Use the search bar at the top to filter items instantly. - Tap a color-coded tag at the top to filter list by tag. 3. Copy Action: - Tap any item in the list. A haptic feedback will trigger and the item is copied back to your clipboard. 4. Paywall & StoreKit Testing: - Navigate to Settings -> SnipStash Pro to display the paywall. - Review the monthly subscription and lifetime pay once options. - Tap the "Restore Purchases" button on the paywall to verify transaction restoration flow.





VERDICT: PASS (dry-run: projected after simulated auto-fixes)
BLOCKING:
- version_localization: [Auto-fixed]
- content_rights: [Auto-fixed]
- copyright: [Auto-fixed]
- age_rating: [Auto-fixed]
- categories: [Auto-fixed]
- app_price: [Auto-fixed]
- app_availability: [Auto-fixed]
- review_details: [Auto-fixed]
- screenshots: [Auto-fixed]
- build: [Auto-fixed]
- iap_readiness: [Auto-fixed]
OPERATOR:
- App Privacy questionnaire must be PUBLISHED (saved ≠ published) [one web click]
- 2026 'regulated medical device' banner under App Information — answer No [one web click]
- Paid Applications Agreement + banking + tax Active, else StoreKit returns 0 products [one web click]
- first subscription/IAP attaches via the version page IAP dialog (reviewSubmissionItems rejects inAppPurchaseV2 in 2026) [one web click]
WARNINGS:
- panel 1: 'Password: Sunshine!42' — Exposes a visible plain-text password ("Sunshine!42") inside the Home WiFi Password snippet.
- panel 1: 'pwd=nT5rQxK9' — Exposes a visible meeting password token in the Zoom link.
- panel 1: '+91 98765 43210' — Exposes personal data (a phone number associated with "Landlord — Mr. Reddy").
- panel 5: 'Sync everywhere' — Claims to sync everywhere, but iCloud sync and the Mac app are not supported in v1.0.
- panel 5: 'Multi-device sync' — Promises syncing across iPhone, iPad, and Mac, but iCloud sync and the Mac app are explicitly listed as not supported in v1.0.
- panel 5: 'Custom keyboard' — Promises a custom keyboard feature, which is not supported in v1.0.
MOST LIKELY REJECTION REASON: Guideline 2.3.1 (Accurate Metadata) - App Store screenshots display features that are not supported in version 1.0 (such as iCloud sync, Mac app compatibility, and custom keyboard) and expose plaintext passwords and personal data.| 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: 'Password: Sunshine!42' — Exposes a visible plain-text password ("Sunshine!42") inside the Home WiFi Password snippet. | |
| WARN | screenshot_claims | panel 1: 'pwd=nT5rQxK9' — Exposes a visible meeting password token in the Zoom link. | |
| WARN | screenshot_claims | panel 1: '+91 98765 43210' — Exposes personal data (a phone number associated with "Landlord — Mr. Reddy"). | |
| WARN | screenshot_claims | panel 5: 'Sync everywhere' — Claims to sync everywhere, but iCloud sync and the Mac app are not supported in v1.0. | |
| WARN | screenshot_claims | panel 5: 'Multi-device sync' — Promises syncing across iPhone, iPad, and Mac, but iCloud sync and the Mac app are explicitly listed as not supported in v1.0. | |
| WARN | screenshot_claims | panel 5: 'Custom keyboard' — Promises a custom keyboard feature, which is not supported in v1.0. |
{
"reason": "DRY_RUN or ALLOW_SUBMIT=false \u2014 version fully prepared, submission withheld",
"submitted": false
}| 19:43:56 | job created from webhook |
| 19:46:02 | preflight pass 1: 24 findings, verdict BLOCKED |
| 19:46:03 | auto-fix fix_metadata: ok |
| 19:46:04 | auto-fix fix_metadata: ok |
| 19:46:04 | auto-fix fix_content_rights: ok |
| 19:46:04 | auto-fix fix_copyright: ok |
| 19:46:04 | auto-fix fix_age_rating: ok |
| 19:46:04 | auto-fix fix_categories: ok |
| 19:46:06 | auto-fix fix_app_price: ok |
| 19:46:06 | auto-fix fix_app_availability: ok |
| 19:46:06 | auto-fix fix_review_details: ok |
| 19:46:07 | auto-fix fix_screenshots: ok |
| 19:46:07 | auto-fix fix_attach_build: ok |
| 19:46:07 | auto-fix fix_iap_review_screenshot: ok |
| 19:46:07 | auto-fix fix_sub_review_screenshot: ok |
| 19:46:23 | pipeline finished: prepared |
| 19:58:07 | rejection routed → metadata (gemma=metadata, guideline 2.3.1) |
| 20:00:38 | preflight pass 1: 23 findings, verdict BLOCKED |
| 20:00:39 | auto-fix fix_metadata: ok |
| 20:00:40 | auto-fix fix_metadata: ok |
| 20:00:40 | auto-fix fix_content_rights: ok |
| 20:00:40 | auto-fix fix_copyright: ok |
| 20:00:40 | auto-fix fix_age_rating: ok |
| 20:00:40 | auto-fix fix_categories: ok |
| 20:00:42 | auto-fix fix_app_price: ok |
| 20:00:43 | auto-fix fix_app_availability: ok |
| 20:00:43 | auto-fix fix_review_details: ok |
| 20:00:43 | auto-fix fix_screenshots: ok |
| 20:00:43 | auto-fix fix_attach_build: ok |
| 20:00:43 | auto-fix fix_iap_review_screenshot: ok |
| 20:00:43 | auto-fix fix_sub_review_screenshot: ok |
| 20:00:58 | pipeline finished: prepared |
| 19:53:53 | App Store version state PREPARE_FOR_SUBMISSION → READY_FOR_REVIEW |
| 19:58:18 | App Store version state READY_FOR_REVIEW → WAITING_FOR_REVIEW |
| 23:37:12 | App Store version state WAITING_FOR_REVIEW → IN_REVIEW |
| 23:37:17 | App Store version state IN_REVIEW → REJECTED |