Reference detail

Apps with signing-metadata findings

Android apps signed with a debug key, a weak algorithm (SHA-1/MD5), a short key, an expired cert, or v1-only signatures.

Mapped findings are review signals. Interpret each app’s build, scan date and coverage before drawing a conclusion. Historical verification describes only its recorded scan time.

What this finding means

Every Android app is signed, and the signature is what ties an update to the app it updates. This category covers properties of that signature which weaken the guarantee: a short key, a debug key, an expired certificate, or reliance on the original v1 JAR signing scheme alone.

We have recorded one of these in 1,009 apps, and all of them are the same property: an RSA key of 1024 bits. The debug-key, expired-certificate and v1-only checks are live and currently match nothing in this corpus.

Why key length is the one that matters here

A 1024-bit RSA key is below every current recommendation and has been deprecated across the industry for over a decade. The practical consequence is about longevity rather than an immediate break: a signing key has to resist attack for as long as the app exists, because whoever can forge the signature can ship an update your users will install.

It is also the hardest of these to fix, which is why it persists. The signing identity cannot simply be replaced; an app signed with a new key is, to Android, a different app. Play App Signing with key rotation is the route through, and it needs planning rather than a build-file change.

A note on something we used to report and no longer do. We previously flagged the algorithm a signing certificate used to sign itself, typically SHA-1. Android pins a signer by the certificate's exact bytes rather than by validating that self-signature, and the v2 and v3 schemes digest the APK with SHA-256 or SHA-512 regardless, so on a self-signed certificate that value is inert. Every app we had flagged already satisfied the remediation we were giving them, so the check was retired and the corpus regraded.

How to fix it

  • Enrol in Play App Signing, which lets Google hold a strong app signing key while you rotate your upload key independently.
  • Generate new keys as RSA 4096 or EC P-256, and keep them in a hardware-backed store or a KMS rather than a file on a laptop.
  • Make sure v2 and v3 signature blocks are present; v1 alone leaves the APK open to tampering tricks the later schemes close.
  • Check the signature of the artifact you actually ship, in CI, so a local keystore cannot end up signing a release.
  • Treat expiry as a real deadline: a certificate must outlive the app, and Play requires validity well into the future.

How we detect it

Signature blocks and certificates are read from the APK with a parser written for this purpose, which reports the schemes present, the key type and size, and the validity window. No network lookup is involved and nothing about the signature is inferred.

Mapped checks & review guidance (5)

Signed with a debug certificate

Sign release builds with a private release key, not the well-known Android debug key.

Browse this category

Certificate self-signature algorithm (retired)

No action: Android identifies a signer by the certificate's exact bytes, so a self-signed certificate's own signature algorithm does not affect APK integrity. Signing-scheme and key-strength issues are reported separately.

Browse this category

Short signing key

Use an RSA key of at least 2048 bits or an EC P-256 key for signing.

Browse this category

Expired signing certificate

Renew the signing certificate; ensure validity extends well beyond the app's expected lifetime.

Browse this category

v1-only APK signature

Adopt APK Signature Scheme v2/v3 — v1-only signing is exposed to the Janus (CVE-2017-13156) tampering class.

Browse this category

Apps with mapped findings

Reset

1009 matching apps · Counts below include only this page’s mapped finding types.

MobiOffice: Word, Sheets, PDF

com.mobisystems.officeBuild 16.6.61048 · 2026-10-11 15:33 UTC

1 matching category · 1 matching occurrence

B · 85/100Static analysis complete

Trello: Personal Planner App

com.trelloBuild 2026.20.3.86722 · 2026-10-11 15:27 UTC

1 matching category · 1 matching occurrence

A · 91/100Static analysis complete

Millenniumbcp

wit.android.bcpBankingApp.millenniumBuild 6.39.2.2026.09.02.01 · 2026-10-11 15:21 UTC

1 matching category · 1 matching occurrence

C · 72/100Static analysis complete

Philadelphia Eagles

com.yinzcam.nfl.eaglesBuild 3.9.7 · 2026-10-11 15:14 UTC

1 matching category · 1 matching occurrence

B · 86/100Static analysis complete

Talk: Text to Voice

com.ktix007.talkBuild 2.10.7 · 2026-10-11 15:08 UTC

1 matching category · 1 matching occurrence

A · 92/100Static analysis complete

Mustang Drift Simulator

com.ProcessGames.MustangDriftSimulatorBuild 1.1.5.8 · 2026-10-11 15:07 UTC

1 matching category · 1 matching occurrence

B · 88/100Static analysis complete

Infinite Painter

com.brakefield.painterBuild 7.2.11 · 2026-10-11 15:01 UTC

1 matching category · 1 matching occurrence

B · 89/100Static analysis complete

Harbor Pines Golf Club

com.gallusgolf.c879.android.harborpinesBuild 23.01.00 · 2026-10-11 14:45 UTC

1 matching category · 1 matching occurrence

B · 83/100Static analysis complete

Camera for Android: HD Camera

video.photo.hd.cameraBuild 3.0.0 · 2026-10-11 14:40 UTC

1 matching category · 1 matching occurrence

B · 79/100Static analysis complete

Asphalt 8 - Car Racing Game

com.gameloft.android.ANMP.GloftA8HMBuild 9.1.0i · 2026-10-11 14:38 UTC

1 matching category · 1 matching occurrence

B · 89/100Static analysis complete

Facebook

com.facebook.katanaBuild 582.0.0.50.54 · 2026-10-11 14:23 UTC

1 matching category · 1 matching occurrence

A · 92/100Static analysis complete

Battery Widget % Level Plus

com.geekyouup.android.widgets.batteryBuild 8.8.1 · 2026-10-11 14:05 UTC

1 matching category · 1 matching occurrence

A · 91/100Static analysis complete

Google Sheets

com.google.android.apps.docs.editors.sheetsBuild 1.26.401.02.90 · 2026-10-11 13:53 UTC

1 matching category · 1 matching occurrence

B · 80/100Static analysis complete

Lifetime: TV Shows & Movies

com.aetn.lifetime.watchBuild 8.10.1_android · 2026-10-11 13:36 UTC

1 matching category · 1 matching occurrence

A · 91/100Static analysis complete

Cook'n Recipe App

com.dvo.cooknBuild 11.2.0 · 2026-10-11 13:28 UTC

1 matching category · 1 matching occurrence

B · 83/100Static analysis complete

Metronome Beats

com.andymstone.metronomeBuild 7.5.0 · 2026-10-11 13:26 UTC

1 matching category · 1 matching occurrence

B · 86/100Static analysis complete

Cooking Festival

com.boombit.cooking.festivalBuild 1.4.3 · 2026-10-11 13:02 UTC

1 matching category · 1 matching occurrence

B · 85/100Static analysis complete

Traffic Racer

com.skgames.trafficracerBuild 4.0 · 2026-10-11 12:49 UTC

1 matching category · 1 matching occurrence

A · 91/100Static analysis complete

RYDE - Ride Hailing & More

com.rydesharing.rydeBuild 6.1.20 · 2026-10-11 12:12 UTC

1 matching category · 1 matching occurrence

F · 0/100Static analysis complete

Choice Hotels

com.choicehotels.androidBuild 6.10.0 · 2026-10-11 12:02 UTC

1 matching category · 1 matching occurrence

A · 91/100Static analysis complete

Splitwise

com.Splitwise.SplitwiseMobileBuild 26.8.3 · 2026-10-11 11:54 UTC

1 matching category · 1 matching occurrence

A · 91/100Static analysis complete

HotPads Rent Apartments

com.hotpads.mobileBuild 7.3.2 · 2026-10-11 11:29 UTC

1 matching category · 1 matching occurrence

B · 84/100Static analysis complete

Battery Widget Reborn

net.hubalek.android.reborn.betaBuild 5.3.16/FREE · 2026-10-11 10:50 UTC

1 matching category · 1 matching occurrence

B · 85/100Static analysis complete

Google Home

com.google.android.apps.chromecast.appBuild 4.31.27.4 · 2026-10-11 10:36 UTC

1 matching category · 1 matching occurrence

B · 83/100Static analysis complete

CarX Highway Racing

com.CarXTech.highWayBuild 1.75.9 · 2026-10-11 10:33 UTC

1 matching category · 1 matching occurrence

Limited coverageRecorded findings available · overall grade withheld