パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.5.3

screen_protector

アプリケーションのバックグラウンドスクリーンショットによる安全なデータ漏洩と、AndroidおよびiOS向けのスクリーンショット防止。

AndroidiOS
30日間ダウンロード
12.8万
いいね数
326
Pub ポイント
150

パッケージをインストール

flutter pub add screen_protector

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

スクリーンプロテクターは、AndroidおよびiOSの両方でアプリがバックグラウンドで実行されているときに、不正なスクリーンショットを防ぐことで機密データを保護するFlutterパッケージです。プラットフォーム固有のメカニズムを使用してスクリーンショットの試行を検出し、ブロックすることでデータ漏洩のリスクを低減します。銀行業務、医療情報、セキュアなメッセージングなどの機密情報を扱うアプリに最適であり、複雑な実装なしにセキュリティを強化します。このパッケージは、単純なpub addコマンドでFlutterプロジェクトにシームレスに統合できます。

用途

  • 金融アプリにおける機密ユーザー情報の保護
  • 医療アプリケーションにおけるスクリーンキャプチャの防止
  • 機密通信の保護
  • アプリのバックグラウンド化中にスクリーンショットをブロックする
  • エンタープライズモバイルソリューションにおけるプライバシーの向上

主な機能

  • Android および iOS でのバックグラウンドスクリーンショットを防止します
  • 信頼性の高い検出にネイティブプラットフォームAPIを使用
  • Flutterとの統合作業が最小限
  • Android および iOS プラットフォームの両方をサポートしています
  • アプリが最小化されたときにスクリーンショットのブロッキングが自動で行われます

適している対象

  • 機密個人情報を取り扱うアプリ
  • エンタープライズグレードのセキュリティ要件
  • プライバシーに配慮したアプリケーション
  • モバイルバンキングおよび決済プラットフォーム
  • セキュアなメッセージングおよび通信ツール

注意事項

  • OSの制限により、すべてのデバイスで動作しない可能性があります
  • 適切な権限の取り扱いが必要です
  • 物理的なカメラ撮影に対する効果は限定的
  • 過剰に使用した場合のユーザー体験への潜在的な影響
  • エンドツーエンド暗号化の代替ではありません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

screen_protector

Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.

Important (Breaking Change)

Versions 1.4.4 through 1.4.13 may cause crashes on some devices. Please use version 1.4.3 or earlier, or upgrade to version 1.5.1 or later.

Feature

Import
import 'package:screen_protector/screen_protector.dart';
iOS
Protect Data Leakage Background Screenshot
  • Protect data leakage with image
await ScreenProtector.protectDataLeakageWithImage('LaunchImage');
  • Protect data leakage with color ON
await ScreenProtector.protectDataLeakageWithColor(Colors.white);
  • Protect data leakage with color OFF
await ScreenProtector.protectDataLeakageWithColorOff();
  • Protect data leakage with blur ON
await ScreenProtector.protectDataLeakageWithBlur();
  • Protect data leakage with blur OFF
await ScreenProtector.protectDataLeakageWithBlurOff();
Prevent Screenshot
  • ON
await ScreenProtector.preventScreenshotOn();
  • OFF
await ScreenProtector.preventScreenshotOff();
Check Screen Recording
final isRecording = await ScreenProtector.isRecording();
Android
Protect Data Leakage Background Screenshot and Prevent Screenshot
  • ON
await ScreenProtector.protectDataLeakageOn();

or

await ScreenProtector.preventScreenshotOn();
  • OFF
await ScreenProtector.protectDataLeakageOff();

or

await ScreenProtector.preventScreenshotOff();
Protect Data Leakage for Android 12+ (Optional)

https://github.com/prongbang/screen-protector

import com.prongbang.screenprotect.AndroidScreenProtector

class MainActivity : FlutterFragmentActivity() {

    private val screenProtector by lazy { AndroidScreenProtector.newInstance(this) }

    // For Android 12+
    override fun onWindowFocusChanged(hasFocus: Boolean) {
        super.onWindowFocusChanged(hasFocus)
        screenProtector.process(hasFocus.not())
    }
}

Usage

Android
  • Protect Data Leakage Background Screenshot and Prevent Screenshot.
import 'package:screen_protector/screen_protector.dart';

class _PreventScreenshotPageState extends State<MyApp> {

  void _preventScreenshotOn() async => await ScreenProtector.protectDataLeakageOn();

  void _protectDataLeakageOff() async => await ScreenProtector.protectDataLeakageOff();

  @override
  void initState() {
    _preventScreenshotOn();
    super.initState();
  }

  @override
  void dispose() {
    _protectDataLeakageOff();
    super.dispose();
  }

}
iOS
  • Prevent Screenshot
import 'package:screen_protector/screen_protector.dart';

class _PreventScreenshotPageState extends State<MyApp> {

  void _preventScreenshotOn() async => await ScreenProtector.preventScreenshotOn();

  void _preventScreenshotOff() async => await ScreenProtector.preventScreenshotOff();

  @override
  void initState() {
    _preventScreenshotOn();
    super.initState();
  }

  @override
  void dispose() {
    _preventScreenshotOff();
    super.dispose();
  }

}
  • Protect data leakage with color
import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithColor() async => await ScreenProtector.protectDataLeakageWithColor(Colors.white);

  @override
  void initState() {
    _protectDataLeakageWithColor();
    super.initState();
  }

}
  • Protect data leakage with image

image01.png

import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithImage() async => await ScreenProtector.protectDataLeakageWithImage('LaunchImage');

  @override
  void initState() {
    _protectDataLeakageWithImage();
    super.initState();
  }

}
  • Protect data leakage with blur
import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithBlur() async => await ScreenProtector.protectDataLeakageWithBlur();

  @override
  void initState() {
    _protectDataLeakageWithBlur();
    super.initState();
  }

}

💖 Support the Project

If you find this package helpful, please consider supporting it:

"Buy Me A Coffee"

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト