Skip to content

AI & TechnologySafetyNet Is Gone: Moving to Play Integrity and App Check

Simon Dziak
Simon Dziak
Founder & developer, App369
LinkedIn
October 19, 20267 min

Key takeaways

  • Google deprecated the SafetyNet Attestation API in 2022 and fully turned it down in January 2025. Its replacement is the Play Integrity API.
  • An app that still calls SafetyNet attestation gets an error every time: Google says the call fails with an ApiException and status code 7 (NETWORK_ERROR).
  • Firebase App Check's SafetyNet provider is gone too. Firebase says projects must use another provider, such as Play Integrity.
  • By default, an app can make up to 10,000 Play Integrity requests a day across all installs, and you can ask Google for more.
  • The App Check setup steps to get right are the Cloud project link in Play Console, the correct SHA-256 fingerprint, and registering every app before you enforce.

Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.

SafetyNet Attestation is gone: Google turned it down fully in January 2025, so any app or backend that still relies on it gets an error on every check. Replace it with the Play Integrity API. If you used SafetyNet through Firebase App Check, switch App Check to its Play Integrity provider. For App Check users the code change is small, and most of the work is setup in Play Console and the Firebase console.

If you landed here from an old link to Google's SafetyNet attestation guide, that address now redirects to the deprecation timeline. Dates and behavior come from Android Developers and Firebase documentation, as listed in the sources. I checked each page on October 18, 2026.

Disclosure: App369 is my studio. I build and fix Flutter and Firebase apps, and the last section mentions what I sell. Google doesn't pay me for anything on this page.

What happened to SafetyNet, and when

WhenWhat happenedSource
2022Google deprecates the SafetyNet Attestation API and recommends the Play Integrity APIAndroid Developers
January 2025SafetyNet Attestation is fully turned downAndroid Developers
NowFirebase App Check's SafetyNet provider is gone; Firebase says to use another provider, such as Play IntegrityFirebase

What failing apps see

Google says that if you call the SafetyNet Attestation API now, the attest call always fails: it returns an ApiException with status code 7, NETWORK_ERROR. That code is misleading, because it isn't a network problem on your side and retrying won't fix it.

What that means for users depends on what you did with the result:

  • If your app blocked users when attestation failed, users on that version are blocked from whatever the check gated.
  • If your backend required a SafetyNet result, requests from that version are rejected.
  • If the check only logged the result, nothing visible broke, but you've had no integrity signal since the turndown.

Google's advice for the first two cases: once you've released a version that uses Play Integrity, tell users to update.

Moving from SafetyNet to Play Integrity

Google says the two APIs are conceptually similar, so if you already had an anti-abuse strategy built on SafetyNet, the migration is straightforward.

  1. Set up Play Integrity in Play Console. Open your app, go to the App integrity page, and set up the Play Integrity API there, including linking a Google Cloud project.
  2. Choose the request type. Play Integrity has standard requests and classic requests. Read Google's standard request guide and the classic one, and pick the one that fits how often you check.
  3. Request a token in the app and verify it on your server. As with SafetyNet, the app gets an integrity token and your backend decides what to do with the verdict. Don't make the decision on the device.
  4. Watch the quota. By default, an app can make up to 10,000 Play Integrity requests a day across all installs. If you check on every app open with many users, ask Google for a higher daily maximum before launch.
  5. Collect verdicts before you block anyone. Google suggests gathering telemetry on your current users before you change app behavior based on verdicts, and treating Play Integrity as one part of your anti-abuse strategy, not the only one.
  6. Remove the SafetyNet code and dependency once the new path works, so nobody mistakes an old error for a new problem.

Switching Firebase App Check to Play Integrity

If you used SafetyNet through Firebase App Check, the steps come from Firebase's Play Integrity setup guide:

  1. Link the projects. In Google Play Console, open your app, go to App integrity, find the Play Integrity API section and click Link Cloud project. Pick the same Firebase project your app is registered in. Firebase says you must be an Owner of that project yourself: being in a group that has the Owner role isn't enough.
  2. Register the app in Firebase. In the Firebase console, go to Security > App Check, and register your Android app with the Play Integrity provider. You'll need the SHA-256 fingerprint of your app's signing certificate. If you use Play App Signing, use the SHA-256 of the app signing key certificate shown in Play Console, not your upload key's.
  3. Register every app. Once you turn on enforcement for a Firebase product, only registered apps can reach it, so register all of your project's apps before you enforce.
  4. Change the provider in code. On Android, install PlayIntegrityAppCheckProviderFactory before you use any other Firebase SDK. In a Flutter app, set the Android provider to Play Integrity where you activate firebase_app_check, right after Firebase.initializeApp(). The parameter name has changed between plugin versions, so check the docs for the version you use.
  5. Use the debug provider for development. Emulators and debug builds you install yourself often can't pass Play Integrity checks. App Check's debug provider lets those builds through. Keep its debug tokens out of release builds.
  6. Monitor, then enforce. Check the App Check metrics in the Firebase console to see how many requests come from verified and unverified apps before you turn on enforcement for Firestore, Storage, Functions or other products.

Need a hand?

If App Check enforcement starts rejecting your real users, or the Play Integrity setup won't verify, the App Fix Ticket covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days. For a wider check of how your Firebase app is locked down, see the Firebase security guide, or send me a short description.

Frequently asked questions

Is SafetyNet still working?
No. Google says the SafetyNet Attestation API was deprecated in 2022 and fully turned down in January 2025. Any call to it now fails.
What does SafetyNet error code 7 mean in 2026?
It means the SafetyNet Attestation API has been turned down. Google says the attest call now always fails with an ApiException and status code 7 (NETWORK_ERROR). It isn't a network problem on your side, and retrying won't help. Move to the Play Integrity API.
What replaced SafetyNet?
The Play Integrity API. Google says it brings several integrity checks, including what SafetyNet Attestation offered, under one API. It offers standard and classic requests, and Google's docs explain when to use each.
Does Firebase App Check still support SafetyNet?
No. Firebase says SafetyNet has been shut down and projects must use an alternative provider, such as Play Integrity. Register your Android app with the Play Integrity provider in the App Check section of the Firebase console, then switch the provider in your app's code.
Does Play Integrity work for apps outside Google Play?
Firebase says the App Check Play Integrity provider supports Android apps published on Google Play, outside Google Play, or both. Check the Play Integrity documentation for which verdicts you get in each case.
How many Play Integrity requests can my app make?
By default, up to 10,000 requests per day across all installs. Google lets you request a higher daily maximum.

Sources

  1. Android Developers, SafetyNet Attestation API deprecation timeline
  2. Android Developers, Play Integrity API overview
  3. Android Developers, make a standard Play Integrity request
  4. Firebase, App Check SafetyNet turndown
  5. Firebase, get started using App Check with Play Integrity on Android
  6. Firebase, use App Check with the debug provider on Android
Tags
#safetynet shut down #safetynet attestation deprecated #safetynet alternative #play integrity api migration #safetynet error code 7 #firebase app check safetynet #app check play integrity provider #safetynet to play integrity #android app attestation 2026 #flutter app check android
Share:

Related Resources

Related guides