
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
@capgo/capacitor-android-age-signals
Advanced tools
Capacitor plugin that exposes Google Play Age Signals to your app.
Capacitor wrapper for the Google Play Age Signals API. Detect supervised accounts, guardian approvals, and verified users directly from your app (Android only). Compatible with Capacitor 8/7
The only free Capacitor plugin for Google Play's Age Signals API. Implement COPPA and teen safety compliance with:
Critical for apps targeting families, children, and teens who need age-gate functionality.
Authoritative docs live inside this repo for now. Explore the TypeScript definitions in src/definitions.ts and the Android implementation under android/ for platform behavior. Run the included example app for an end-to-end walkthrough.
| Plugin version | Capacitor compatibility | Maintained |
|---|---|---|
| v8.*.* | v8.*.* | ✅ |
| v7.*.* | v7.*.* | On demand |
| v6.*.* | v6.*.* | ❌ |
| v5.*.* | v5.*.* | ❌ |
Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.
npm install @capgo/capacitor-android-age-signals
npx cap sync android
Google Play Age Signals is available only on Android phones with the Play Store installed.
import { AgeSignals } from '@capgo/capacitor-android-age-signals';
import { UserStatus } from '@capgo/capacitor-android-age-signals';
const result = await AgeSignals.checkAgeSignals();
if (result.userStatus === UserStatus.Supervised) {
console.info(`Supervised user aged between ${result.ageLower} and ${result.ageUpper}`);
} else if (result.userStatus === UserStatus.Verified) {
console.info('User is 18+ and verified by Google.');
} else {
console.warn('No definitive age signal returned.');
}
Capacitor interface for retrieving Play Age Signals.
checkAgeSignals() => Promise<CheckAgeSignalsResult>
Request the current Play Age Signals for the active user.
Only available on Android devices with Google Play installed.
Returns: Promise<CheckAgeSignalsResult>
Since: 0.0.1
getPluginVersion() => Promise<{ version: string; }>
Get the native Capacitor plugin version.
Returns: Promise<{ version: string; }>
Since: 1.0.0
Structured result returned by {@link AgeSignalsPlugin.checkAgeSignals}.
| Prop | Type | Description | Since |
|---|---|---|---|
userStatus | UserStatus | The user's verification status as reported by Google Play. | 0.0.1 |
ageLower | number | Inclusive lower bound of the supervised user's age range. Present only when userStatus is SUPERVISED, SUPERVISED_APPROVAL_PENDING, or SUPERVISED_APPROVAL_DENIED. | 0.0.1 |
ageUpper | number | Inclusive upper bound of the supervised user's age range. Present only when userStatus is SUPERVISED, SUPERVISED_APPROVAL_PENDING, or SUPERVISED_APPROVAL_DENIED and the user's age is reported as less than 18. | 0.0.1 |
mostRecentApprovalDate | string | Effective date for the most recent significant change that received guardian approval. Present only when userStatus is SUPERVISED_APPROVAL_PENDING or SUPERVISED_APPROVAL_DENIED. | 0.0.1 |
installId | string | Identifier assigned to supervised installs in Google Play for revocation notifications. Present only when userStatus is SUPERVISED, SUPERVISED_APPROVAL_PENDING, or SUPERVISED_APPROVAL_DENIED. | 0.0.1 |
| Members | Value | Description | Since |
|---|---|---|---|
Verified | 'VERIFIED' | The user is over 18 and their age has been verified by Google. | 0.0.1 |
Supervised | 'SUPERVISED' | The user has a supervised Google Account managed by a guardian. Use ageLower and ageUpper to determine the user's age range. | 0.0.1 |
SupervisedApprovalPending | 'SUPERVISED_APPROVAL_PENDING' | The supervised user has pending significant changes awaiting guardian approval. Use ageLower and ageUpper to determine the user's age range and mostRecentApprovalDate to identify the most recent approved change. | 0.0.1 |
SupervisedApprovalDenied | 'SUPERVISED_APPROVAL_DENIED' | The supervised user's guardian denied one or more significant changes. Use ageLower and ageUpper to determine the user's age range and mostRecentApprovalDate to identify the last approved change. | 0.0.1 |
Unknown | 'UNKNOWN' | The user is not verified or supervised in supported regions. You should prompt the user to resolve their status in the Play Store. | 0.0.1 |
Empty | 'EMPTY' | All other users return this value. | 0.0.1 |
FAQs
Capacitor plugin that exposes Google Play Age Signals to your app.
The npm package @capgo/capacitor-android-age-signals receives a total of 33 weekly downloads. As such, @capgo/capacitor-android-age-signals popularity was classified as not popular.
We found that @capgo/capacitor-android-age-signals demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.