セキュリティ
人々は macOS のセキュリティを高く評価しており、アプリも同様に安全であることを期待しています。システムが提供するセキュリティテクノロジを利用すると、情報をローカルに安全に保存し、特定の操作をユーザに許可し、ネットワークを介して情報を転送できます。
認証のためにパスワードだけに依存することは避けてください。 ユーザが指紋で認証できる Touch ID などの他のテクノロジーを利用してください。開発者向けガイダンスについては、LocalAuthentication (LocalAuthentication) を参照してください。
機密情報をキーチェーンに保存して下さい。 キーチェーンは、誰かの個人情報を処理するときに、安全で予測可能なユーザ体験を提供します。開発者向けガイダンスについては、キーチェーンサービス (Keychain Services) を参照してください。
パスワードやその他の安全コンテンツをプレーンテキストファイルに決して保存しないでください。 ファイルの許可を使用してアクセスを制限する場合でも、暗号化されたキーチェーンでは機密情報の方がはるかに安全です。
カスタム認証スキームを作り上げることは避けてください。 あなたのアプリで認証が必要な場合は、システムが提供する認証 API を使用してください。関連するガイダンスについては、認証 を参照してください。
別のプロセスへの特権アクセスを必要とするコードを除外します。 除外は、安全なコードを安全でないコードから分離し、意図的かどうかにかかわらず、有害な不正操作が発生していないことを簡単に確認できるようにします。
ロードされた特権コードに注意してください。 特に、親プロセスの特権を採用する、特権コードプラグインのロードは避けてください。ロードされたコードまたは特権コードから システム や popen などの潜在的に危険な関数を呼び出さないでください。
開発者向けガイダンスについては、セキュリティ (Security) を参照してください。
アプリの整合性の確保
ユーザのセキュリティとプライバシーの設定により、ダウンロードしたアプリの使用を管理します。Mac App Store からダウンロードしたアプリは、常に使用が承認されています。ユーザは、オプションで、既知の開発者によって作成されたアプリの使用をオンにすることができます。
Mac App Store からアプリを販売します。 ユーザは、ストア内のすべてのアプリが Apple によってレビューされており、改ざんされていないことを知っています。
有効な開発者 ID を使用してあなたのアプリに署名します。 アプリをストア外で配布することを選択した場合、開発者 ID を使用してアプリに署名すると、Apple の開発者として識別され、あなたのアプリが安全に使用できることが確認されます。開発者向けガイダンスについては、Xcode ヘルプ を参照してください。
アプリのサンドボックスでユーザデータを保護します。 サンドボックスは、マルウェアからアプリを保護しながら、システムリソースとユーザーデータへのアクセスをアプリに提供します。Mac App Store に送信されるすべてのアプリには、サンドボックスが必要です。開発者向けガイダンスについては、App Sandbox Design Guide (App Sandbox Design Guide)を参照してください。