本文へスキップ
Unveilydocs

プラットフォームのセキュリティ

Unveilyがアプリとデータをデフォルトで保護する方法

ひと目でわかる

Unveily SDKとプラットフォームはセキュリティをデフォルトとして設計されています。以下の保護措置は自動的に適用されます — 追加設定は不要です。


SDKセキュリティ (Android & iOS)

ライセンスキーの暗号化ストレージ

初回起動時に、ライセンスキーはハードウェアバックの安全なストレージに自動移行されます。

プラットフォームストレージ
AndroidAndroidKeyStoreベースのEncryptedSharedPreferences (AES256-GCM)
iOSiOS Keychain (kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)

2回目以降の起動では、ファイルシステムを経由せずに暗号化ストレージから直接読み込まれます。

SSL証明書ピンニング + XOR難読化

すべての内部SDK API通信にSHA-256証明書ピンが適用されます。コンパイル済みバイナリ内のピン値はフィールドごとに異なるXORキーでエンコードされており、平文文字列として見えることはありません。

  • ホスト名、プライマリピン、バックアップピンはそれぞれ異なるキーでエンコード
  • バイナリ解析で1つのフィールドが露出しても、他のフィールドは保護されます

ルート / ジェイルブレイク検出

ルート化(Android)またはジェイルブレイク(iOS)されたデバイスではSDKの実行がブロックされます。

assets/config.json
{
  "security": {
    "rootDetectionEnabled": true
  }
}

スクリーンショット・バックグラウンド保護

  • スクリーンショットブロック: アプリ内での画面キャプチャおよび録画を防止
  • バックグラウンドブラー: アプリスイッチャーでコンテンツが表示されないようにブラー処理
assets/config.json
{
  "security": {
    "screenshotProtectionEnabled": true,
    "backgroundProtectionEnabled": true
  }
}

金融・医療・決済アプリにはこのオプションを有効にすることを推奨します。

アプリ署名検証

ライセンスはパッケージ名と署名証明書ハッシュの組み合わせで検証されます。リパッケージまたは改ざんされたアプリは検証を通過しません。


APIセキュリティ

項目方式
認証JWT(短期有効期限)
シークレット管理GCP Secret Manager — ソースコードや環境変数への平文保存禁止
通信すべてのエンドポイントにHTTPS強制
レート制限認証エンドポイントに適用

インフラ

項目構成
サーバーGCP Cloud Run — 永続サーバーなし
データベースCloud SQL、プライベートIP(パブリックインターネット接続不可)
ファイル配信GCSプライベートバケット、署名付きURL(15分で失効)
コンテナArtifact Registry(公開Docker Hub未使用)

依存関係の脆弱性管理

GitHub Dependabotを通じて、すべてのリポジトリの依存関係を毎週自動スキャンします。

リポジトリカバレッジ
ActuallyWorks.PlatformNuGet (API)、npm (Web、BFF)
HybridApp Android SDKGradle
HybridApp iOS SDKSwift Package Manager
  • Critical CVEは公開後72時間以内にパッチ適用
  • 毎週月曜日 09:00 KST に自動スキャン

脆弱性の報告

セキュリティの脆弱性を発見された場合は、公開Issueではなく以下のアドレスへ非公開でご報告ください。

[email protected]

報告受領後48時間以内に確認のご連絡をし、7営業日以内に解決スケジュールをお知らせします。善意のセキュリティ研究者に対して法的措置を取ることはありません。

次の旅へ

On this page