Facing the Giants: My Struggle with Google Play's App Suspension and Account Termination

πŸš€ Introduction

Hi.

I am Slashpaf, the developer behind Audio Forgeβ€”an app crafted with passion to enhance your gaming and role-playing experiences with immersive soundscapes. Launched in May 2024 on Google Play and the Apple App Store, Audio Forge was growing steadily. But recently, Google Play suspended my app and terminated my developer account without clear reasons. I’m sharing my journey to highlight the challenges developers face and to advocate for more transparency and fairness in the app review process.


🎲 About Audio Forge

Audio Forge lets tabletop RPG enthusiasts mix ambient sounds, music tracks, and sound effects to create personalized audio experiences for their gaming sessions. It empowers players and DMs to use their own audio files, moving beyond the limited assets typically available.

It is available on the App Store and on Windows.

It is no longer available on the Google Play Store.


⚠️ The Suspension Shock

On September 6, 2024, I received a bewildering email from Google:

Publishing Status

App Status: Suspended

Issue found: MALWARE, BEHAVIOR TRANSPARENCY AND MOBILE UNWANTED SOFTWARE

Your app is not compliant with the Deceptive Behaviour policy. It includes hidden, dormant, or undocumented features.

Affected Versions: 2, 3, 4, 5, 6, 8

Confused, I knew my app had no malware or harmful features. What did these version codes mean? Was it something from early builds? The lack of clarity was frustrating.


πŸ“ Seeking Answers

I promptly appealed:

Me:

Do the version codes 2, 3, 4, etc., refer to my initial builds or the inactive Closed Beta track?

Google Play Support responded:

Your app includes hidden or undocumented features that could risk user data or device security. Review the Malware and Deceptive Behaviour policies. Suspensions count as strikes and may lead to termination.

Perplexed, asked for a little bit of clarification so that I could rectify the problem and assured them of my commitment to complying with all of Google Play’s policies.


πŸ”’ Account Termination

Shortly after, another email hit my inbox:

Publishing Status

Status: Account Terminated

Violations of Section 8.3 of the Developer Distribution Agreement.

Reason: Deceptive Behavior policy violations.

This termination not only removed Audio Forge from the Play Store but also barred me from publishing any future apps or even starting a career as a mobile developer, which as a seasoned software engineer is not the best of news.

Note that section 8.3 can be tl;dr as “we can kick any developer out at anytime and nobody has a say except for us”.


πŸ’» The Hidden Code

Keep in mind: this is just a suspicion. It was never raised nor confirmed by Google.

I was integrating a Discord functionality, allowing audio to stream to Discord voice channels. Some code for this feature mistakenly made it into the release. Though dormant, inactive and not accessible by the user, it might have been flagged by automated systems.

Specifically, I had made a Node.js WebSocket server that runs only on a local network and was designed to receive audio streams from the app purely for development purposes. It plays back audio through the speakers to ensure the feature functions as intended. I would later have sent the stream to a Discord bot.

  void toggleStream() {
    if (_isStreaming) {
      // Stop streaming
      _audioSubscription?.cancel(); // Cancels the audio subscription.
      _webSocketChannel?.sink.close(WebSocketStatus.normalClosure); // Close the WS connection.
      _stopAudioCapture(); // Stops the audio capture.
      _isStreaming = false; // Sets streaming status to false.
    } else {
      // Start streaming
      // Connects to a local WebSocket server at 192.168.0.9 for internal testing.
      _webSocketChannel = WebSocketChannel.connect(Uri.parse('ws://192.168.0.9:8080'));
      _startAudioCapture(); // Starts the audio capture.
      _isStreaming = true; // Sets streaming status to true.
    }
  }

Again, the code was inactive and harmless, though I know it was an oversight to include it in the release.


πŸ“© Appeals and Dead Ends

I appealed again, explaining the dormant Discord feature, including the whole code excerpts related to that. I am not even certain that this is the problem, with Google keeping to vague statements.

Dear Google Play Team,

I apologize for the oversight of including inactive Discord integration code. It was never intended to deceive or harm users. I’m ready to remove the code immediately. Please reconsider.

Google Play replied:

Status: Account termination confirmed. Violations persist. No reinstatement.

Well yes the violations persist, since Google gave me no chance of correcting the mistake.

I kept the conversation going with the Google Play support and explained all that and the harmless nature of the code to no avail.


βš–οΈ Seeking Justice

With internal appeals exhausted, I turned to external avenues:

  • ADROIT Alternative Dispute Resolution of Information Technologies, an independant Out-of-Court dispute mediator mandated by the EU.
  • Seeking legal counsel.
  • This here article.
  • Opened a case on the Google Play Developer Community.
  • Keep on sending Google emails every. Single. Day.

πŸ’” The Personal Toll

This ordeal has been devastating. Audio Forge was growing, and I was committed to enhancing it. Losing my Google Developer account means not being able to share Audio Forge to everyone.

Fortunately, the App Store version is still up, and the Windows version was just released. But still, about half of the community wouldn’t be able to use it.


πŸ†˜ How Can You Help

I have opened a case on the Google Play Developer Community.

Your upvotes (“I have the same problem”), positive comments, and shares could make a big difference in getting this resolved.


πŸ› οΈ Moving Forward

I’m exploring alternative distribution methods for Android users. However, the lack of transparency and support from Google Play for small developers like me is difficult to accept.


πŸ“£ Call for Change

I share my story to:

  1. Raise Awareness: Let other developers know the potential risks and challenges.
  2. Seek Support: Open the conversation for advice.
  3. Encourage Transparency: Urge Google to improve communication and fairness in their policies.

πŸ“¬ Get in Touch

Have you faced similar issues or have suggestions? Let’s connect!

Thank you for reading and supporting my journey.

Slashpaf