Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

⚡️ Capacitor plugin that protects your app from displaying a screenshot in Recents screen/App Switcher.

License

Notifications You must be signed in to change notification settings

poligonosapp/privacy-screen

 
 

Repository files navigation


Privacy Screen

@capacitor-community/privacy-screen

Capacitor Privacy Screen Plugin


Introduction

⚡️ Capacitor plugin that protects your app from displaying a screenshot in Recents screen/App Switcher.

On Android, this plugin sets the FLAG_SECURE flag to treat the content of the window as secure, preventing it from appearing in screenshots or from being viewed on non-secure displays.
On iOS, this plugin hides the webview window when the app is no longer active and loses focus (UIApplicationWillResignActiveNotification) so that a gray screen is shown instead.

Maintainers

Maintainer GitHub Social
Robin Genz robingenz @robin_genz

Installation

npm install @capacitor-community/privacy-screen
npx cap sync

Configuration

These configuration values are available:

Prop Type Description Default
enable boolean Configure whether the plugin should be enabled from startup. Only available for Android and iOS. true

Examples

In capacitor.config.json:

{
  "plugins": {
    "PrivacyScreen": {
      "enable": true
    }
  }
}

In capacitor.config.ts:

/// <reference types="@capacitor/privacy-screen" />

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  plugins: {
    PrivacyScreen: {
      enable: true,
    },
  },
};

export default config;

Demo

A working example can be found here: robingenz/capacitor-plugin-demo

Usage

The plugin only needs to be installed. The protection is enabled by default.
However, you have the option to enable/disable the protection:

import { PrivacyScreen } from '@capacitor-community/privacy-screen';

const enable = async () => {
  await PrivacyScreen.enable();
};

const disable = async () => {
  await PrivacyScreen.disable();
};

API

enable()

enable() => Promise<void>

Enables the privacy screen protection.

Only available for Android and iOS.

Since: 1.1.0


disable()

disable() => Promise<void>

Disables the privacy screen protection.

Only available for Android and iOS.

Since: 1.1.0


Changelog

See CHANGELOG.md.

License

See LICENSE.

About

⚡️ Capacitor plugin that protects your app from displaying a screenshot in Recents screen/App Switcher.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 34.0%
  • Swift 29.6%
  • TypeScript 15.0%
  • Ruby 9.5%
  • Objective-C 7.2%
  • JavaScript 4.7%