Shipwright — local-c203d2

app 6803901837 build local (none) version 44a53643-1738-43ea-ac1d-f5ea877519de state blocked trigger manual DRY-RUN

Stages

intakedone
metadatadone
screenshotsdone
preflightdone
submitdone
watchpending

Metadata (critique loop, 3 state writes)

nameSnipStash: Clipboard Manager (28)
subtitleSave Text, Code & Link Vault (28)
keywordspaste,template,draft,widget,shortcut,search,tag,organize,fast,tool,utility,storage,board,type,note (98)
promotionalTextKeep your most-copied links, code, and text templates at your fingertips. Tap to copy back instantly, use handy widgets, and stay 100% private with local storage. (162)
description + review notes
Never lose a copied link, code snippet, or block of text again.

SnipStash is the ultimate local clipboard organizer that keeps your most-used text, URLs, code snippets, and files instantly accessible. Designed for developers, sales reps, support staff, and creators, it eliminates the frustration of searching through notes or messages to find that one piece of text you send daily.

Every snippet you copy into the app is safely stored in a clean, searchable vault. Need to reuse something? Simply tap any snippet inside the app to instantly copy it back to your active clipboard with a satisfying haptic confirmation. You can quickly add content directly from the iOS Share Sheet, or tap the smart banner that appears when you open the app with fresh clipboard items.

Organization is effortless. SnipStash utilizes fast on-device heuristics to automatically identify email addresses, phone numbers, URLs, and code blocks, applying smart tags and titles for you. You can pin frequently used items, organize them using custom color-coded tags, and quickly find exactly what you need with full-text search.

Boost your daily productivity further with integrated Home Screen widgets that copy pinned items with a single tap, plus Siri Shortcuts support to save or search your snippets hands-free. Start for free with up to 25 snippets, and upgrade to SnipStash Pro via a monthly subscription or a one-time lifetime purchase to unlock unlimited snippet storage.

Your clipboard is private. SnipStash operates completely offline using SwiftData on-device storage. No accounts are required, no data leaves your device, and there are absolutely no analytics trackers or third-party servers. Your information remains entirely yours.

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 the app, as all data is stored locally on the device using SwiftData without any external server login.

Steps to test core features:
1. Launch the app. You will see 10 pre-seeded demo snippets populating the list.
2. Tap any snippet in the list. Observe the haptic feedback confirming the item has been copied back to your system clipboard.
3. Copy some text from outside the app, then re-open SnipStash. Tap the "Save clipboard?" banner at the top to save it locally without paste-permission prompts.
4. Go to Settings -> SnipStash Pro to view the StoreKit paywall. Verify that prices load successfully and the "Restore Purchases" button is fully functional.
5. To test the paywall trigger, add 26 snippets to prompt the upgrade option.

Screenshots (gradient)

Preflight — BLOCKED

VERDICT: BLOCKED (dry-run: fixes simulated, re-check skipped)
BLOCKING: contentRightsDeclaration unset (Auto-fix: Simulated)
BLOCKING: version.copyright empty (Auto-fix: Simulated)
BLOCKING: 2026 age-rating fields unanswered (Auto-fix: Simulated)
BLOCKING: No primary category (Auto-fix: Simulated)
BLOCKING: App has no price schedule (Auto-fix: Simulated)
BLOCKING: App availability unset (Auto-fix: Simulated)
BLOCKING: IAP com.utenx.snipstash.pro.lifetime is MISSING_METADATA: no review screenshot (Auto-fix: Simulated)
BLOCKING: Subscription com.utenx.snipstash.pro.monthly is MISSING_METADATA: no review screenshot (Auto-fix: Simulated)
BLOCKING: Review contact/notes missing (Auto-fix: Simulated)
BLOCKING: Version localization missing description, keywords, supportUrl (Auto-fix: Simulated)
BLOCKING: App-info localization missing subtitle, privacyPolicyUrl (Auto-fix: Simulated)
BLOCKING: No APP_IPHONE_67 screenshots (Auto-fix: Simulated)
BLOCKING: No build attached to the version (Auto-fix: Skipped - upload build first)
OPERATOR: Publish App Privacy questionnaire (one click)
OPERATOR: Answer 2026 'regulated medical device' banner (one click)
OPERATOR: Set Paid Applications Agreement, banking, and tax to Active (one click)
OPERATOR: Attach first subscription/IAP via the version page IAP dialog (one click)
WARNING: App Privacy questionnaire must be PUBLISHED (saved ≠ published)
WARNING: 2026 'regulated medical device' banner under App Information — answer No
WARNING: Paid Applications Agreement + banking + tax Active, else StoreKit returns 0 products
WARNING: First subscription/IAP attaches via the version page IAP dialog (reviewSubmissionItems rejects inAppPurchaseV2 in 2026)
No build attached to the version.
17 findings before auto-fix
BLOCKcontent_rightscontentRightsDeclaration unset — surfaces only at reviewSubmissionItems POSTfix_content_rights
BLOCKcopyrightversion.copyright empty — hidden blocker at submitfix_copyright
BLOCKage_rating2026 age-rating fields unanswered: ['advertising', 'parentalControls', 'lootBox', 'healthOrWellnessTopics', 'ageAssurance', 'messagingAndChat', 'userGeneratedContent', 'gunsOrOtherWeapons']fix_age_rating
BLOCKcategoriesno primary categoryfix_categories
BLOCKapp_priceapp has NO price schedule (new apps ship without one; required even for Free)fix_app_price
BLOCKapp_availabilityapp availability unset — app would be sold nowherefix_app_availability
BLOCKiap_readinessIAP com.utenx.snipstash.pro.lifetime is MISSING_METADATA: no review screenshotfix_iap_review_screenshot
BLOCKiap_readinesssubscription com.utenx.snipstash.pro.monthly is MISSING_METADATA: no review screenshotfix_sub_review_screenshot
BLOCKreview_detailsreview contact/notes missing: ['contactFirstName', 'contactLastName', 'contactPhone', 'contactEmail', 'notes'] (phone needs country code; notes = exact test steps)fix_review_details
BLOCKversion_localizationversion localization missing ['description', 'keywords', 'supportUrl']fix_metadata
BLOCKversion_localizationapp-info localization missing ['subtitle', 'privacyPolicyUrl']fix_metadata
BLOCKscreenshotsno APP_IPHONE_67 screenshots (1320×2868 go here; APP_IPHONE_69 does not exist)fix_screenshots
BLOCKbuildno build attached to the versionfix_attach_build
WARNapp_privacyApp Privacy questionnaire must be PUBLISHED (saved ≠ published)operator
WARNmedical_device2026 'regulated medical device' banner under App Information — answer Nooperator
WARNpaid_apps_agreementPaid Applications Agreement + banking + tax Active, else StoreKit returns 0 productsoperator
WARNiap_draft_submissionfirst subscription/IAP attaches via the version page IAP dialog (reviewSubmissionItems rejects inAppPurchaseV2 in 2026)operator

Submission

{
 "blocking": [
  "contentRightsDeclaration unset \u2014 surfaces only at reviewSubmissionItems POST",
  "version.copyright empty \u2014 hidden blocker at submit",
  "2026 age-rating fields unanswered: ['advertising', 'parentalControls', 'lootBox', 'healthOrWellnessTopics', 'ageAssurance', 'messagingAndChat', 'userGeneratedContent', 'gunsOrOtherWeapons']",
  "no primary category",
  "app has NO price schedule (new apps ship without one; required even for Free)",
  "app availability unset \u2014 app would be sold nowhere",
  "IAP com.utenx.snipstash.pro.lifetime is MISSING_METADATA: no review screenshot",
  "subscription com.utenx.snipstash.pro.monthly is MISSING_METADATA: no review screenshot",
  "review contact/notes missing: ['contactFirstName', 'contactLastName', 'contactPhone', 'contactEmail', 'notes'] (phone needs country code; notes = exact test steps)",
  "version localization missing ['description', 'keywords', 'supportUrl']",
  "app-info localization missing ['subtitle', 'privacyPolicyUrl']",
  "no APP_IPHONE_67 screenshots (1320\u00d72868 go here; APP_IPHONE_69 does not exist)",
  "no build attached to the version"
 ],
 "reason": "preflight BLOCKED",
 "submitted": false
}

Operator items

Events

19:16:08job created from manual
19:16:09no build on this job — preparing the version without attaching a binary
19:17:28preflight pass 1: 17 findings, verdict BLOCKED
19:17:30auto-fix fix_metadata: ok
19:17:31auto-fix fix_metadata: ok
19:17:31auto-fix fix_content_rights: ok
19:17:31auto-fix fix_copyright: ok
19:17:31auto-fix fix_age_rating: ok
19:17:31auto-fix fix_categories: ok
19:17:33auto-fix fix_app_price: ok
19:17:34auto-fix fix_app_availability: ok
19:17:34auto-fix fix_review_details: ok
19:17:35auto-fix fix_screenshots: ok
19:17:35auto-fix fix_attach_build: ok
19:17:35auto-fix fix_iap_review_screenshot: ok
19:17:35auto-fix fix_sub_review_screenshot: ok
19:18:00pipeline finished: blocked