Skip to content

Release history and developer statement

Pro shares editing features with ArtCut but is the paid, ad-free edition. This distinction does not itself resolve possible duplicate-listing concerns. ArtCut Pro is expressly included in the membership appeal whether or not it fit into the form's five selected entries.

Status clarification · September 13, 2026

Before the September 2 Pending Termination Notice, EasyTallys was In Review. The other six listings — VPN XX, VPN XX PRO, SpellVPN Tool, SpellVPN Ultra, ArtCut and ArtCut Pro — were shown as Distributable.

The developer now reports that all seven apps have been removed from the public App Store, while their status records remain visible in App Store Connect. Storefront removal does not mean that the app records or platform/version statuses have disappeared. A visible status is not evidence of restored distribution or membership.

This clarification was supplied by the developer on September 13. It is not an independent live check of App Store Connect, an Apple receipt, or a change to the preserved September 12 source evidence.

Download status clarification (TXT)

What the inspected material supports

The inspected non-ARTCUT_FREE branch sets paid distribution and displaysAds to false. The evidence supports that code distinction, not a certification of the linked frameworks in every historic archive. No unverified release or completed consolidation is claimed.

Next steps / not yet verified as complete

We will verify the exact paid archive and metadata and follow any consolidation or withdrawal requirement. We ask Apple to identify any ArtCut Pro build, behavior, or representation that formed part of the membership decision so it can be addressed directly.

Supporting evidence

E11

ArtCut / Pro: edition and tracking-permission paths

Compile-time differences and one permission path are shown. These do not prove framework linkage in historical archives, successful consent flows on devices, or upload of local fixes.

Selected excerpt

Source: VideoEditorPro/VideoEditorPro/App/AppVariant.swift · 1–22

Numbered source excerpt; selected lines preserved.

    1 | import Foundation
    2 | 
    3 | enum AppDistribution {
    4 |     case paid
    5 |     case freeWithAds
    6 | }
    7 | 
    8 | enum AppVariant {
    9 |     /// The App Store listing for the paid build. Keep this as a universal
   10 |     /// App Store URL so the storefront can localize the product name.
   11 |     static let proAppStoreURL = URL(string: "https://apps.apple.com/app/id6790354436")!
   12 | 
   13 | #if ARTCUT_FREE
   14 |     static let distribution: AppDistribution = .freeWithAds
   15 |     static let displaysAds = true
   16 |     static let displayName = "ArtCut"
   17 | #else
   18 |     static let distribution: AppDistribution = .paid
   19 |     static let displaysAds = false
   20 |     static let displayName = "ArtCutPro"
   21 | #endif
   22 | }
Original whole-file SHA-256
72e091896724be8dca7c2981a23f593c8b3e9a98dd3d4b1f361835180455cf76
Numbered excerpt SHA-256
5e59357e3959e55b04ba12ef0a8e229041ee6b9841f6a51ece760ba0c365eb38

Source: VideoEditorPro/VideoEditorPro/Services/TrackingAuthorizationManager.swift · 34–52

Numbered source excerpt; selected lines preserved.

   34 |     func requestIfNeededBeforeAdRequests() async -> TrackingAuthorizationState {
   35 |         guard AppVariant.displaysAds else { return .notRequired }
   36 | 
   37 | #if ARTCUT_FREE && canImport(AppTrackingTransparency)
   38 |         let current = map(status: ATTrackingManager.trackingAuthorizationStatus)
   39 |         guard current == .notDetermined else { return current }
   40 | 
   41 |         if let requestTask {
   42 |             return await requestTask.value
   43 |         }
   44 | 
   45 |         let task = Task { @MainActor in
   46 |             try? await Task.sleep(nanoseconds: 650_000_000)
   47 |             return await withCheckedContinuation { continuation in
   48 |                 ATTrackingManager.requestTrackingAuthorization { status in
   49 |                     continuation.resume(returning: Self.map(status: status))
   50 |                 }
   51 |             }
   52 |         }
Original whole-file SHA-256
06092d42bedd141bd32f96880f2e5acfd368d4e48a79d5b9d6f5039a3a52d982
Numbered excerpt SHA-256
9fa52ec7f8eb9066e92101a158c010f6c7b0d9d587246f96b2d30d8728141f8b

How to read this evidence

The record combines developer-confirmed release history, current local source excerpts, local metadata drafts, and two original developer-supplied form screenshots. These are different evidence types. No exact historical upload archives, Apple upload receipts, production service authorization documents, or new App Store approvals are included. A SHA-256 digest identifies the captured bytes; it does not certify that Apple reviewed or received them. Selected excerpts are not an exhaustive code or binary audit.

This is a public, sanitized record with identical content for all readers. It omits personal account identifiers, private correspondence, node credentials and working public subscription URLs. It is not password protected. Original materials can be provided privately to Apple through an appropriate channel if requested. Search-engine noindex is a preference, not access control.

Explanatory pages are available in English, Chinese and Russian. Source excerpts and original screenshots remain unchanged in their original languages; translations are not original evidence.

All evidence items →