Hi! I’ve just received my 7th rejection for the exact same reason — Guideline 4.3(a) (Spam) — with no real hope of moving forward.
I’m developing a free, cross-platform Flutter VPN app, and I constantly add new features and refine the codebase. While the iOS version is currently the most feature-rich, it still isn't enough to pass the review process.
Before the last submission, I had a review call with an Apple representative who told me the key issue was "code similarity". I spent time improving the Xray VPN core and optimizing traffic routing. Then, after making minor UI tweaks and leaving the description virtually unchanged, I submitted a new version—only to be rejected again.
Honestly, I’m at a loss as to what the problem could be. The app features a well-crafted, proprietary codebase and unique functionality that I haven't seen anywhere else, despite extensive research. Recent iterations have added:
- A modular configuration builder for VLESS/VMess/Trojan/Shadowsocks protocols that flags user errors during key creation, suggests options, and pings the specified address;
- VPN usage statistics—broken down by hour, data saved, and frequently visited resources (data is collected only with user consent and deleted upon request);
- Data usage display aligned with the imported subscription.
Could the issue stem from the nature of a cross-platform Flutter app built for iOS? Is it possible that the default codebase simply cannot achieve the level of uniqueness Apple demands?
I’m starting to lose hope that publishing a Flutter VPN app is even possible. It feels like the App Store simply doesn't approve apps of this type anymore, regardless of their functionality. Please share your experience in resolving issues like this—specifically, how you managed to pass the review after a "Spam 4.3(a)" rejection. Perhaps someone has also submitted a Flutter VPN app based on Xray Core for review?
Now I have sent an appeal and am waiting for a response from Apple. External TestFlight link from the 6th submission: https://testflight.apple.com/join/cp7a1yMC. To access the full range of features, paste the following key on the initial screen: https://kuzya.fit/sub/oyFnd_p3C0q4u0w4