Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
capacitor-plugin-app-tracking-transparency
Advanced tools
Capacitor plugin to request user authorization to access app-related data for tracking the user or the device.
Capacitor plugin to request user authorization to access app-related data for tracking the user or the device. iOS only.
Read more about Apple's App Tracking Transparency framework here. Also this might be a good read.
iOS only but with web fallback for development purposes.
Capacitor version | Plugin version |
---|---|
6.x | >= 2.0.2 |
5.x | >= 2.0.2 |
4.x | >= 2.0.2 |
3.x | >= 2.0.0 |
< 3.0.0 | 1.x.x |
For plugin version 1.x.x docs please refer to branch v1.
Maintainer | GitHub | Social |
---|---|---|
Manuel Heidrich | mahnuh | @mahnuh |
npm install capacitor-plugin-app-tracking-transparency
npx cap sync
Add this to your app's Info.plist and update the message according to your needs:
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads to you.</string>
This message can be provided in multiple languages by using a InfoPlist.strings
file. See the Apple docs or this stack overflow answer for help.
There is a small demo app available to showcase this plugin and its usage: capacitor-plugin-app-tracking-transparency-demo-app
import {
AppTrackingTransparency,
AppTrackingStatusResponse,
} from 'capacitor-plugin-app-tracking-transparency';
...
public async getStatus(): Promise<AppTrackingStatusResponse> {
const response = await AppTrackingTransparency.getStatus();
console.log(response);
// { status: 'authorized' } for example
return response;
}
public async requestPermission(): Promise<AppTrackingStatusResponse> {
const response = await AppTrackingTransparency.requestPermission();
console.log(response);
// { status: 'authorized' } for example
return response;
}
Both available methods return AppTrackingStatusResponse
with status: AppTrackingStatus
, which will be one of the following: authorized
, denied
, notDetermined
or restricted
. See Apple's docs for reference.
getStatus() => Promise<AppTrackingStatusResponse>
Returns: Promise<AppTrackingStatusResponse>
requestPermission() => Promise<AppTrackingStatusResponse>
Returns: Promise<AppTrackingStatusResponse>
{ status: AppTrackingStatus }
'authorized' | 'denied' | 'notDetermined' | 'restricted'
FAQs
Capacitor plugin to request user authorization to access app-related data for tracking the user or the device.
We found that capacitor-plugin-app-tracking-transparency 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.