Satuan 9 / 11

Privasi, Izin, dan Penggunaan Aman

Keuntungan:

  • Kemampuan untuk meminta izin dengan skenario pembenaran, konteks dan penolakan, menggunakan prinsip hak istimewa paling rendah
  • Kemampuan untuk menyimpan data sensitif yang dienkripsi dengan Keychain/Keystore, menerapkan minimalisasi data dan mengontrol kecenderungan kecerdasan buatan untuk menambahkan terlalu banyak izin
  • Kemampuan untuk mengelola aliran data pengguna ke cloud atau layanan kecerdasan buatan sebagai keputusan privasi, mendapatkan persetujuan pengguna, dan menggunakan teknik keamanan hanya untuk tujuan yang sah dan defensif

Aplikasi seluler berfungsi pada perangkat paling pribadi pengguna: ia mengetahui lokasinya, kontak, foto, data kesehatan, mikrofon. Akses ini adalah kekuatan yang besar, dan kekuasaan berarti tanggung jawab. Privasi dan keamanan bukanlah “fitur tambahan” dalam pengembangan seluler, namun merupakan prinsip yang tertanam dalam arsitektur sejak awal; Ini disebut privasi berdasarkan desain. Selain itu, ini bukan hanya pilihan etis, tetapi juga kewajiban hukum (KVKK, GDPR) dan toko (App Store, Google Play). Di unit ini, kita akan mempelajari cara meminta izin dengan benar, memproses data dengan aman, menggunakan AI sebagai asisten di bidang ini, dan melindungi diri dari jebakannya. Ada masalah penting tambahan dalam konteks AI: data pengguna yang masuk ke model AI (terutama cloud) merupakan keputusan privasi itu sendiri.

Seni meminta izin: hak istimewa paling rendah

Prinsip dasar keamanan adalah hak istimewa yang paling sedikit (tidak meminta hak istimewa lebih dari yang dibutuhkan suatu pekerjaan). Aplikasi Anda hanya boleh meminta izin yang benar-benar diperlukan, pada saat diperlukan. Jika tidak ada fitur kamera, izin kamera tidak akan diminta; Jika lokasi hanya diperlukan saat peta terbuka, izin "saat menggunakan" sudah cukup, bukan "selalu". Izin yang berlebihan menyebabkan tiga kerugian: merusak kepercayaan pengguna, menyebabkan penolakan penyimpanan, dan memperbesar risiko kebocoran data.

Pengaturan waktu dan penjelasan yang tepat dalam meminta izin sangatlah penting. Mintalah izin kepada pengguna sesuai konteks dan dengan alasan, seperti "Akses kamera diperlukan untuk memindai tanda terima Anda". iOS memerlukan deskripsi ini di Info.plist; Deskripsi yang kosong atau menyesatkan adalah penolakan toko.

Jenis izin

pendekatan yang buruk

pendekatan yang bagus

waktu

Minta semuanya saat peluncuran

prompt saat menggunakan fitur ini

Ruang lingkup

"Selalu lokasi"

"lokasi saat menggunakan"

Deskripsi

Kosong atau generik

Pembenaran yang konkrit dan spesifik

status penolakan

Aplikasi mogok/rusak

Mohon menawarkan alternatif

Tip: Aplikasi Anda harus dapat terus berjalan ketika izin ditolak. Jika pengguna menolak kamera, tawarkan opsi "login manual". Pengenaan "izinkan atau aplikasi tidak akan berfungsi" merupakan pengalaman buruk dan masalah penyimpanan. Selalu tanyakan skenario penolakan saat mencetak kode izin ke AI.

Persetujuan dan kode privasi dengan AI: pertimbangan

AI dengan cepat menghasilkan kode permintaan izin, namun memiliki dua kelemahan umum. Pertama, menambahkan lebih banyak izin dari yang diperlukan: lokasi, kontak dapat memberikan izin penyimpanan secara massal "untuk berjaga-jaga". Kedua, melewatkan skenario penolakan: tulis saja status "diizinkan" dan abaikan penolakan tersebut. Untuk setiap izin yang dihasilkan Anda akan ditanya “apakah ini benar-benar diperlukan?” dan “apa yang terjadi jika ditolak?” Ajukan pertanyaan Anda.

Perhatian: Kode sampel yang dihasilkan oleh AI dapat menyimpan data pengguna tanpa enkripsi atau mengirimkannya secara tidak aman. Data sensitif (kata sandi, kesehatan, keuangan) harus disimpan dalam penyimpanan aman di perangkat (Gantungan Kunci — iOS, Keystore — Android; area brankas terenkripsi pada sistem operasi) dan dikirimkan di jaringan melalui koneksi terenkripsi (HTTPS/TLS). AI tidak selalu melakukan hal ini secara spontan; Tanyakan dengan jelas dan verifikasi.

Minimalkan data dan pengiriman data ke AI

Data yang tidak Anda kumpulkan tidak akan bocor. Minimalkan data (hanya mengumpulkan data yang benar-benar diperlukan) adalah alat paling ampuh untuk privasi. Dalam fitur AI, prinsip ini sangat penting: saat mengirim data ke cloud LLM atau layanan AI eksternal, data tersebut berada di luar kendali Anda. Sebelum mengirimkan catatan kesehatan, konten percakapan, atau informasi pribadi pengguna ke cloud, ajukan tiga pertanyaan: (1) Apakah data ini benar-benar diperlukan? (2) Bisakah diproses di perangkat? (3) Jika akan dikirim, apakah pengguna mengetahui dan menyetujuinya? Merupakan persyaratan hukum dan etika untuk memberi tahu pengguna dengan jelas bahwa data mereka akan masuk ke layanan AI.

Penggunaan yang aman dan fokus pertahanan

Peringatan dari perspektif TI dan keamanan: teknik yang dipelajari dalam modul ini hanya untuk penggunaan yang sah dan defensif. Menguji keamanan aplikasi Anda sendiri, melindungi data pengguna, dan menutup kerentanan adalah hal yang sah. Merekayasa balik aplikasi orang lain tanpa izin, mengumpulkan data pengguna tanpa izin, atau menggunakan AI untuk membuat malware adalah tindakan ilegal dan tidak etis. Saat meminta bantuan keamanan kepada AI, selalu tetap dalam kerangka membela sistem Anda sendiri.

tiga kasus mini

Kasus 1 — Penolakan cuti yang berlebihan. Aplikasi catatan meminta izin kamera, mikrofon, lokasi, dan kontak saat startup dengan kode yang dihasilkan oleh AI. Google Play menolak rilis tersebut, dengan alasan "izin yang tidak relevan dengan fungsi". Rilis tersebut disetujui ketika tim hanya merilis izin penyimpanan yang sebenarnya digunakan. Pelajaran: setiap cuti tambahan adalah sebuah risiko.

Kasus 2 — Penyimpanan tanpa kata sandi. Aplikasi kesehatan menyimpan pengukuran pengguna dalam file teks biasa seperti pada contoh AI. Audit keamanan menemukan bahwa siapa pun yang memperoleh perangkat tersebut dapat membaca semua data kesehatan. Data dipindahkan ke penyimpanan terenkripsi dengan Keystore/Keychain. Pelajaran: data sensitif selalu terenkripsi.

Kasus 3 — Dorongan mendadak ke cloud. Sebuah aplikasi mengirimkan catatan harian pengguna ke cloud LLM untuk merangkumnya, namun tidak memberi tahu pengguna. Ketika hal ini diberitakan di media, terjadi hilangnya kepercayaan dan pengawasan hukum. Tim menambahkan pemberitahuan dan konfirmasi yang jelas, serta opsi pada perangkat. Pelajaran: pengguna harus mengetahui dan memastikan bahwa datanya masuk ke AI.

Perintah lemah / Perintah kuat

Prompt lemah: "Minta izin lokasi."

Prompt yang kuat: "Minta izin lokasi di iOS/Swift dengan prinsip hak istimewa paling rendah. - Hanya izin 'saat digunakan', bukan 'selalu' - Deskripsi Info.plist: 'Untuk menampilkan toko terdekat' - Jika izin ditolak: tawarkan opsi untuk memilih kota secara manual, macet - Jika izin telah ditolak sebelumnya, alihkan ke pengaturan Jangan menambahkan izin lebih dari yang diperlukan. Tulis juga alur penolakannya."

Templat yang dapat disalin

Templat untuk meminta izin: "Minta izin [jenis izin] untuk [platform].- Cakupan minimal (saat menggunakan/sesuai kebutuhan)- Dalam konteks, dengan penjelasan yang masuk akal- Alternatif yang sopan jika terjadi penolakan, jangan pernah mogok- Berikan entri Info.plist / Manifest juga Jangan tambahkan izin tambahan; justifikasi setiap izin."

Templat audit izin: "Periksa izin yang diminta aplikasi saya: [daftar izin + properti]. Untuk setiap izin: apakah benar-benar diperlukan? Apakah cakupan yang lebih sempit sudah cukup? Apakah akan menyebabkan penolakan penyimpanan? Tandai tidak perlu."

Templat penyimpanan data yang aman: "Simpan data sensitif ([tipe]) dengan aman untuk [platform]:- Dienkripsi dengan Gantungan Kunci/Keystore- Jangan menyimpan di memori untuk waktu yang tidak perlu- Jangan membocorkan log dan cadangan. Berikan kode dan langkah verifikasi."

Templat untuk mengirim data ke AI: "Saya sedang mempertimbangkan untuk mengirimkan data berikut ke layanan cloud AI: [data]. Evaluasi: apakah benar-benar diperlukan? Bisakah data diproses di perangkat? Jika dikirim, bidang mana yang harus ditutup? Bagaimana cara mendapatkan persetujuan pengguna? Merekomendasikan desain yang paling aman dalam hal privasi."

Kesalahan umum

  • Meminta izin lebih dari yang diperlukan. Bahaya tiga kali lipat terhadap kepercayaan, persetujuan toko, dan keamanan.
  • Meminta izin secara massal saat startup. Permintaan izin tanpa konteks ditolak; meminta fitur tersebut secara instan.
  • Tidak menulis naskah penolakan. Aplikasi mogok saat izin ditolak adalah hal yang buruk dan juga ditolak.
  • Menyimpan data sensitif tanpa kata sandi. Kesehatan, keuangan, dan kata sandi harus disimpan dalam penyimpanan yang aman.
  • Mengirim data ke cloud/AI tanpa memberi tahu pengguna. Pelanggaran hukum dan etika; Diperlukan pemberitahuan dan persetujuan.
  • Penggunaan teknik keamanan yang tidak sah. Ini hanya sah untuk tujuan defensif pada sistem Anda sendiri.

Singkatnya

Privasi dan keamanan dirancang sejak awal, bukan ditambahkan kemudian. Prinsip dasarnya adalah hak istimewa paling rendah: mintalah hanya izin yang diperlukan, bila perlu, dengan alasan yang masuk akal, dan tawarkan alternatif yang sopan jika terjadi penolakan. Data sensitif disimpan dalam penyimpanan terenkripsi dan dikirimkan melalui koneksi terenkripsi. Minimalkan data adalah perlindungan terkuat: data yang tidak Anda kumpulkan tidak akan bocor. Mengirim data ke AI, terutama ke cloud, merupakan keputusan privasi tersendiri; Kebutuhannya dipertanyakan, jika memungkinkan, lebih disukai pada perangkat, pengguna diberi tahu dan persetujuannya diperoleh. Setiap kode yang dihasilkan diperiksa berdasarkan kecenderungan AI untuk menambahkan izin berlebihan dan menyimpannya secara tidak aman. Teknik keamanan digunakan untuk tujuan resmi dan defensif saja.

Tugas aplikasi

Buatlah daftar izin yang diminta oleh aplikasi (proyek Anda sendiri atau imajiner) dan minta AI memeriksa izin mana yang tidak diperlukan atau melampaui batas dengan "Templat audit izin". Perbaiki atau hapus setidaknya satu izin dan tulis skenario penolakan untuk fitur tersebut. Selain itu, jika Anda mengirim data pengguna ke cloud, tentukan desain yang paling aman dengan "Template keputusan pengiriman data ke AI" dan tulis teks persetujuan pengguna.

daftar periksa

  • [ ] Setiap izin saya minta dengan alasan yang beralasan, dengan prinsip paling tidak istimewa.
  • [ ] Saya meminta izin dalam konteks, pada waktu fitur, bukan secara massal saat peluncuran
  • [ ] Saya menulis skrip penolakan untuk setiap izin, tidak ada kerusakan
  • [ ] Saya menyimpan data sensitif yang dienkripsi dengan Gantungan Kunci/Keystore
  • [ ] Saya meminimalkan data yang masuk ke cloud/AI dan menambahkan persetujuan pengguna
  • [ ] Saya menggunakan teknik keamanan hanya pada sistem saya sendiri untuk tujuan defensif