Cara Membuat AppSheet Lebih Aman untuk Digunakan Banyak User

Tutorial AppSheet

Masalah yang paling sering terjadi saat menggunakan AppSheet untuk banyak user sebenarnya sederhana: data berubah tanpa kontrol.

Ada yang tidak sengaja mengedit, ada yang menghapus, bahkan ada yang melihat data yang seharusnya tidak boleh diakses. Ketika hal ini terjadi, aplikasi yang seharusnya membantu justru menjadi sumber masalah baru.

Agar hal ini tidak terjadi, keamanan di AppSheet harus dibangun dengan pendekatan yang jelas dan langsung diterapkan, bukan hanya dipahami.


Masalah 1: Semua User Bisa Edit Data

Ini adalah masalah paling umum. Secara default, AppSheet mengizinkan user untuk mengedit data jika tidak dibatasi.

Solusi paling efektif adalah mengunci data berdasarkan kondisi. Misalnya, hanya data dengan status tertentu yang boleh diedit.

Gunakan logika seperti ini di bagian Editable_If:

[Status] = "Draft"

Dengan cara ini, begitu status berubah (misalnya menjadi “Approved”), data otomatis tidak bisa diedit lagi. Tidak perlu pengawasan manual, sistem akan menjaga sendiri.


Masalah 2: User Melihat Data yang Bukan Miliknya

Sering terjadi dalam aplikasi tim: semua user melihat semua data. Ini berbahaya, terutama jika data bersifat sensitif.

Solusinya adalah menggunakan Security Filter dengan kondisi:

[Email] = USEREMAIL()

Hasilnya, setiap user hanya akan melihat data miliknya sendiri. Ini langsung menyelesaikan masalah tanpa perlu setup yang rumit.


Masalah 3: Tidak Ada Pembatasan Hak Akses

Jika semua user memiliki hak yang sama, maka tidak ada kontrol dalam sistem.

Solusi praktisnya adalah membuat pembagian role sederhana, misalnya:

  • Admin → bisa edit semua
  • User → hanya input & lihat

Gunakan kondisi seperti:

USEREMAIL() = "admin@email.com"

Atau kombinasikan dengan kolom Role di data user agar lebih fleksibel.


Masalah 4: Data Terhapus Tanpa Sengaja

Delete adalah fitur paling berisiko. Sekali klik, data bisa hilang.

Solusi paling aman adalah:

  • Matikan delete untuk user biasa
  • Atau batasi hanya untuk admin

Jika tidak ingin mematikan total, bisa juga mengganti delete dengan “soft delete” (misalnya ubah status jadi “Inactive”).

Dengan ini, data tidak benar-benar hilang.


Masalah 5: Banyak Kesalahan Input Data

Kesalahan input sering dianggap sepele, padahal dampaknya besar.

Solusi yang bisa langsung digunakan adalah validasi, misalnya:

ISNOTBLANK([Nama])

Atau untuk membatasi pilihan:

IN([Status], {"Draft","Approved","Rejected"})

Dengan validasi ini, user tidak bisa memasukkan data sembarangan.


Masalah 6: Tidak Tahu Siapa yang Mengubah Data

Tanpa tracking, setiap perubahan tidak bisa ditelusuri.

Solusinya adalah menambahkan kolom sederhana:

  • Updated By → USEREMAIL()
  • Updated At → NOW()

Dengan ini, setiap perubahan akan tercatat otomatis. Ketika terjadi masalah, kamu tahu siapa dan kapan perubahan dilakukan.


Masalah 7: Sistem Terasa Aman, Tapi Sebenarnya Tidak

Banyak aplikasi terlihat berjalan normal, tetapi sebenarnya tidak memiliki kontrol sama sekali.

Solusi utamanya bukan menambah fitur, tetapi memastikan 3 hal ini ada:

  • Akses dibatasi
  • Data terkunci saat final
  • Aktivitas bisa dilacak

Jika tiga hal ini sudah diterapkan, sistem sudah jauh lebih aman dibanding kebanyakan aplikasi dasar.


Kesimpulan, Masalah keamanan di AppSheet hampir selalu berasal dari hal yang sama: tidak ada pembatasan.

Kabar baiknya, semua masalah tersebut bisa diselesaikan dengan pengaturan sederhana tanpa perlu coding yang kompleks. Dengan membatasi akses, mengunci data, dan menambahkan tracking, aplikasi bisa berubah dari sekadar alat input menjadi sistem yang benar-benar terkontrol.

Keamanan bukan soal fitur tambahan, tetapi soal bagaimana sistem digunakan dengan benar.

Comments