Pernah suatu kali saya memesan tiket pesawat mepet sekali dengan hari keberangkatan.

Pembayaran berhasil. Uang sudah dipotong dari akun.

Namun, alih-alih muncul “Pemesanan berhasil”, layar hanya menampilkan satu baris pendek:

“Sedang diproses.”

Saat itu, reaksi pertama saya adalah mengira sistemnya sedang lambat.

Semua hal yang perlu saya lakukan sudah selesai.

Kalau begitu, masih harus menunggu apa lagi?

Belakangan saya baru menyadari, mungkin sistemnya memang tidak benar-benar sedang lambat.

Ia hanya belum mau membiarkan transaksi itu selesai sekarang.

Kedengarannya aneh.

Karena kita biasanya berpikir bahwa sebuah keputusan hanya punya dua kemungkinan: diizinkan atau tidak diizinkan.

Tapi pada kenyataannya, masih ada pilihan lain.

Boleh, tapi belum sekarang.

Ini membuat saya berpikir cukup banyak saat membaca tentang @NewtonProtocol.

Hal yang menarik bagi saya bukanlah apakah policy menjawab “allow” atau “deny”.

Tapi ada pertanyaan kecil lainnya:

Apakah eksekusi yang valid harus selalu terjadi segera setelah diminta?

Saya pikir tidak juga.

Ada eksekusi di mana nilai dari keputusan tidak hanya terletak pada apakah hal itu diizinkan atau tidak.

Itu juga berkaitan dengan kapan sistem memilih untuk memutuskan bahwa hal tersebut benar-benar terjadi.

Saat itu, “menunggu” tidak lagi menjadi tanda sistem yang lambat.

Itu bisa menjadi bagian dari keputusan itu sendiri.

Itu poin yang menurut saya cukup berbeda.

Biasanya, kita menganggap waktu hanya sebagai jarak dari saat menekan tombol sampai saat selesai.

Tapi ada juga situasi di mana waktu menjadi sebuah parameter dalam otorisasi.

Bukan karena eksekusinya salah.

Tapi eksekusi yang benar tidak berarti bahwa itu harus terjadi seketika.

Sanggahan.

Jika sebuah policy selalu memilih untuk menunda demi keamanan yang lebih baik, pengalaman pengguna akan cepat menjadi tidak menyenangkan. Pengguna akan mulai merasa semua tindakan terasa lambat, bahkan ketika tidak ada alasan yang jelas.

Tapi jika policy bawaan menetapkan bahwa semua eksekusi yang valid harus dilakukan segera, sistem juga kehilangan cara memproses yang sangat penting di antara dua pilihan “mengizinkan” dan “menolak”.

Hal yang ingin saya lihat dari @NewtonProtocol tidak hanya kemampuan untuk mengambil sebuah keputusan.

Yaitu cara policy menentukan kapan sebuah eksekusi harus langsung terjadi, dan kapan menunggu tambahan beberapa waktu justru merupakan keputusan yang lebih masuk akal.

Bagi saya, layer otorisasi yang baik tidak hanya memutuskan apa yang boleh terjadi.

Dia juga memahami bahwa kadang-kadang, waktu yang tepat juga merupakan bagian dari keputusan itu.

#Newt $SPCXB $LAB $NEWT