Distribusi software Mac menaikkan level kortisol saya
(blog.kronis.dev)- Kisah pengalaman seorang pengembang independen yang mencoba mendistribusikan utilitas pengembang sederhana berbasis Go di macOS, lalu terbentur code signing dan Apple Developer Program
- Di Linux dan Windows distribusi relatif mudah, tetapi di macOS binary tanpa tanda tangan diblokir karena kebijakan karantina (quarantine)
- Biaya langganan tahunan Apple Developer Program berada di tingkat yang sulit ditutup dari pendapatan utilitas kecil, dan proses verifikasi identitas juga berulang kali gagal karena kualitas webcam MacBook yang rendah
- Layanan tanda tangan elektronik berbasis pemerintah seperti SmartID dan eParaksts di kawasan Baltik dapat menangani hal yang sama dalam puluhan detik hingga 1 menit, tetapi sistem perusahaan bernilai miliaran dolar justru gagal melakukannya dengan baik
- Code signing Windows juga memerlukan biaya tahunan mulai dari 209 EUR, sehingga seluruh ekosistem code signing terasa semahal dan tidak masuk akal seperti sertifikat TLS sebelum hadirnya Let's Encrypt
Hambatan yang terungkap dalam distribusi software Mac
- Saat membuat utilitas pengembang kecil untuk mempermudah pengelolaan profil Claude Code, executable statis untuk berbagai platform dapat dibangun dengan mudah menggunakan toolchain Go
- Rilis pertama dapat dilihat di ccode.kronis.dev dan halaman Itch.io, tempat pengguna bisa mengunduh atau membeli binary yang sudah dibangun sebelumnya serta memeriksa source code
- Saat ini kode masih belum ditandatangani, dan karena utilitas ini masih tahap awal, disarankan untuk mencobanya gratis terlebih dahulu lalu membayar nanti jika terasa berguna
- Distribusi Linux berjalan tanpa masalah setelah
chmod +x, dan di Windows file.exebisa dibuat, tetapi peringatan SmartScreen masih bisa dilewati dari popup yang sama - Di macOS, software yang diunduh akan dikenai karantina (quarantine) sehingga eksekusinya diblokir, dan masalah yang sama juga terjadi pada file yang dibagikan ke diri sendiri lewat Nextcloud
- Memang bisa diberi petunjuk untuk melepas karantina secara manual lewat terminal, tetapi meskipun mungkin dapat diterima oleh pengembang, itu bukan pengalaman pengguna yang baik dan bisa menimbulkan kecurigaan
Biaya bergabung dengan Apple Developer Program dan kelayakan ekonominya
- Untuk menyelesaikan masalah ini, penulis mencoba bergabung dengan Apple Developer Program agar dapat menandatangani executable, tetapi biaya langganan tahunannya tidak sebanding dengan skala distribusi utilitas kecil
- Utilitas yang ingin didistribusikan rencananya akan ditawarkan di Itch.io dengan model pay-what-you-want sekitar 7 dolar, dengan perkiraan unduhan paling banyak hanya 12 hingga 24 orang
- Karena kebanyakan orang bisa memilih 0 dolar, setelah dipotong PPN dan biaya Itch.io, dari pendapatan sekitar 50 dolar kemungkinan hanya tersisa sekitar 25 dolar, yang bahkan hanya cukup menutup sekitar 3 bulan biaya Apple Developer Program
- Struktur yang mengharuskan biaya hanya untuk menyediakan binary demi distribusi publik merugikan pengembang hobi dan mendorong ekonomi pengembangan software ke arah yang berpusat pada monetisasi
- Untuk software desktop memang ada Homebrew, tetapi jika memakai jalur ini akan sulit menarik bayaran walau hanya beberapa dolar, atau harus menambahkan panduan terpisah seperti
mac-homebrew-install-instructions.txtdi halaman unduhan Itch.io, yang terasa janggal - Penulis mengakui bahwa menghapus biaya sepenuhnya bisa memunculkan masalah lain seperti spam, tetapi struktur yang membebankan biaya distribusi binary bahkan untuk software privat atau yang source code-nya terbuka tetap terasa memberatkan
- Aplikasi macOS/iOS bahkan tidak bisa dikompilasi dari Windows atau Linux, sehingga sudah ada masalah vendor lock-in karena pengembang harus membeli MacBook yang mahal sejak awal
Friksi dalam proses verifikasi identitas
- Dalam proses pendaftaran Apple Developer Program, verifikasi identitas itu sendiri bisa dimengerti, tetapi keharusan memotret kartu identitas dengan webcam MacBook menjadi masalah besar
- Dengan kamera bawaan M1 MacBook Air, kualitas foto identitas tidak cukup baik walaupun pencahayaan diubah-ubah, dan meski sudah dicoba berkali-kali dokumen tetap tidak dapat dikenali dengan benar
- Meskipun iPhone terhubung ke jaringan lokal yang sama, tidak ada panduan untuk memakainya sebagai kamera, dan upaya tersebut terus gagal selama sekitar 10 kali percobaan
- Setelah itu penulis mencoba menghubungkan webcam utama, tetapi karena tidak memiliki autofocus untuk memotret dokumen dari dekat, hasilnya tetap tidak memadai
- Tidak ada opsi untuk mengunggah dokumen yang sudah dipindai, dan setiap kali gagal hanya muncul error umum, bahkan proses pendaftaran kadang harus dimulai ulang dari awal
- Setelah aplikasi dipasang langsung di iPhone, percobaan pertama berhasil, tetapi bagi pengguna yang tidak punya iPhone atau webcam bagus, ini bisa menjadi hambatan yang lebih besar
- Pembayaran diproses dengan normal dan akun pengembang tampak segera aktif, tetapi aplikasi menampilkan bahwa pengguna harus menunggu email, sementara aplikasi desktop tidak mengenali bahwa pendaftaran sudah pernah dicoba dan justru menyuruh memulai proses lagi
- Bisa jadi ini masalah pemrosesan backend atau eventual consistency, tetapi dari sudut pandang pengguna alurnya terasa menjengkelkan karena status pendaftaran terlihat berbeda di tiap aplikasi
Akumulasi keluhan terhadap ekosistem Apple
- Kualitas rancang bangun hardware Apple dan chip seri M dinilai tinggi, dan bagi orang yang mampu membeli model spesifikasi tinggi, perangkat itu bisa menjadi mesin pengembangan yang sangat bagus
- iPhone SE 2022 juga dirasa memuaskan, tetapi karena Apple menghapus seri entry-level, seri e yang baru lebih mahal, dan saklar mode senyap di samping serta TouchID dihapus, hal itu menjadi alasan untuk kembali memilih Android sebagai ponsel berikutnya
- Untuk menggunakan macOS sesuai keinginan, diperlukan alat seperti AutoRaise, Rectangle, dan DiscreteScroll
- Saat memindahkan fokus jendela di beberapa monitor, dibutuhkan klik tambahan, dan AutoRaise memang berguna tetapi bisa terasa agak agresif
- Finder tidak memiliki opsi “Cut”, shortcut keyboard terasa asing, dan susunan tombol Control/Command bahkan dapat merusak pengalaman memakai software remote desktop
- Pendekatan bahwa program tidak benar-benar berhenti meski jendelanya ditutup juga tidak nyaman, dan ini terasa makin berat ketika harus mengembangkan software di dalam ekosistem tertutup Apple dengan MacBook RAM 8GB
- Keluhan terbesar muncul dari kombinasi hal-hal berikut: pengembangan aplikasi yang dikunci ke ekosistem Apple, kewajiban membayar untuk software signing, pengiriman dokumen yang terhambat oleh kualitas kamera hardware, dan status pendaftaran yang tetap tidak tercermin jelas bahkan setelah memakai aplikasi iPhone
Contoh verifikasi identitas dan tanda tangan elektronik yang lebih baik
- Di toko bahan makanan lokal, saat membeli minuman energi, identitas dan usia bisa diverifikasi dalam sekitar 20 detik menggunakan SmartID
- Dengan eParaksts, dokumen dapat ditandatangani secara digital dalam sekitar 1 menit lewat PC dengan kartu identitas terbitan pemerintah dan card reader, atau lewat aplikasi ponsel
- Hasilnya menjadi tanda tangan kriptografis yang layak, baik dilampirkan ke kontainer EDOC (ASIC-E) maupun disematkan langsung ke file PDF
- Kemungkinan negara lain juga memiliki layanan serupa untuk verifikasi identitas, verifikasi usia, penandatanganan dokumen, dan layanan digital, meskipun tidak semua negara sama dan infrastruktur pembayarannya juga memiliki keterbatasan
- Meski begitu, sulit diterima bahwa berbagai paket software dari kawasan Baltik dapat bekerja lebih baik daripada prosedur perusahaan teknologi raksasa
Code signing Windows dan masalah biaya yang lebih luas
- Ini bukan masalah Apple saja; code signing Windows juga membebani dari sisi biaya
- Certum code signing tampak sebagai salah satu opsi yang relatif murah, tetapi tetap memerlukan sekitar 209 euro per tahun
- Azure Artifact Signing dengan tier Basic seharga 8,54 euro per bulan terlihat lebih baik, tetapi saat mencoba menyiapkan akun Azure ternyata individu di luar AS dan Kanada tidak bisa menandatangani sertifikat, dan di UE hanya organisasi yang dapat melakukan code signing
- Ruang code signing saat ini terasa terlalu mahal, mirip dengan masa ketika sertifikat TLS menuntut biaya sekitar 100 euro per tahun sebelum Let’s Encrypt hadir
- Let’s Encrypt memang menggantikan banyak struktur pencarian rente, tetapi karena alternatif dan pesaingnya tidak banyak, tetap ada risiko bergerak menuju satu titik kegagalan yang sangat besar
- Seharusnya code signing dapat dilakukan dengan kartu identitas terbitan pemerintah, dan bidang code signing juga membutuhkan inovasi seperti Let's Encrypt
1 komentar
Komentar Hacker News
Jika pengguna tidak suka Gatekeeper, mereka bisa mematikannya dalam 10 detik dengan menjalankan
sudo spctl —-master-disabledi terminalIni memang bisa dianggap terlalu ekstrem atau tidak aman, tetapi kita harus menentukan apa yang sebenarnya diinginkan. Jika Anda ingin friksi yang dibuat Gatekeeper, biarkan tetap aktif; jika tidak suka, matikan saja. Pengembang tidak bisa memutuskan untuk pengguna, dan pengguna memang seharusnya yang menentukan kode apa yang dijalankan di perangkat mereka sendiri. Fakta bahwa setelan bawaan bersifat membatasi juga masuk akal, karena orang yang paham apa yang mereka lakukan bisa mengubahnya dengan mudah
Di iOS sama sekali tidak ada cara untuk memasang perangkat lunak tanpa tanda tangan, dan Android kabarnya juga akan segera membuat proses itu memakan waktu 24 jam, bukan 10 detik; ini benar-benar merampas hak pilih pengguna, jadi absurd
Meski begitu, macOS terbaru punya banyak pembatasan lain yang tidak bisa dimatikan, dan itu benar-benar menjengkelkan. Menurut saya Gatekeeper bukan salah satunya. Sejak Sequoia, setelah perintah terminal dijalankan kita juga harus mencentang kotak di pengaturan, jadi mungkin butuh sekitar 30 detik, tetapi tetap bukan masalah besar
Pendekatan “percaya hanya pada Apple dan jangan percaya siapa pun lagi, bahkan diri sendiri, atau kalau tidak ya percaya pada semua orang” bukan implementasi yang niat baik. Apple sangat piawai mendorong narasi dengan kesetaraan palsu dan pilihan biner palsu. Dulu dalam debat soal secure boot, Apple juga membingkainya sebagai “Apple memegang kunci enkripsi, atau tidak ada enkripsi sama sekali”, dan orang-orang jadi lupa bertanya, “kenapa saya tidak bisa memegang kunci perangkat saya sendiri?”
Dan itu tanpa harus mematikan fitur keamanan. Friksi tambahan ini tampaknya bukan demi keselamatan saya, melainkan lebih dekat ke upaya memaksa pengembang membayar biaya tahunan ke Apple untuk distribusi. Bukan berarti sama sekali tidak membantu keamanan, tetapi menurut saya titik beratnya lebih ke yang pertama
Dulu ini bisa dilakukan, tetapi Apple menghapusnya dan menggantinya dengan proses yang sangat menjengkelkan, yaitu harus masuk ke System Settings setiap kali
Dengan begitu praktik distribusi yang baik tetap terjaga sekaligus membangun goodwill secara umum
Harusnya cukup tampilkan peringatan dan izinkan menjalankan sekali ini saja, atau setelah itu biarkan berjalan normal
Saya sudah 20 tahun mengembangkan perangkat lunak indie untuk Mac dan PC, dan saya memahami perasaan penulis
Apple memberi kesan seolah pengembang harus “bersyukur karena diizinkan membuat aplikasi untuk platform mereka”. Tulisannya tidak membahas ketidakpedulian Apple terhadap kompatibilitas mundur, padahal Apple suka merombak total seluruh sistem pengembang secara berkala seperti pemboman karpet. Coba jalankan aplikasi yang dibuat 10 tahun lalu di macOS terbaru, kemungkinan besar tidak akan jalan
Microsoft jauh lebih baik soal kompatibilitas mundur dan tidak memaksa pendaftaran program pengembang, tetapi setiap kali harus memperbarui sertifikat digital Authenticode untuk Windows, rasanya benar-benar diperas. Sertifikat digital saja sudah lebih mahal daripada 99 dolar per tahun, benar-benar ladang bisnis
Azure Artifact Signing dari Microsoft harganya mirip biaya tahunan Apple, tetapi sejak sebulan lalu installer yang ditandatangani dengannya sering memicu peringatan SmartScreen. Padahal keduanya sama-sama dikendalikan Microsoft
Opsi Store juga tidak gratis untuk organisasi, ada biaya pendaftaran satu kali. Yang lebih buruk, ia memaksa model lisensi/trial yang disederhanakan. Ini biasanya tidak cocok dengan perangkat lunak B2B yang memakai upgrade berbayar, kontrak dukungan tahunan, pembaruan terkontrol, atau masa evaluasi yang diperpanjang
https://github.com/Azure/artifact-signing-action/issues/128#...
Alih-alih menjaga stabilitas ABI dan API, Apple membebankan beban pemeliharaan terus-menerus kepada ribuan pengembang agar aplikasi lama tidak rusak setiap versi iOS baru keluar. Waktu ini sebenarnya bisa dipakai untuk hal yang lebih produktif seperti memperbaiki bug, menambah fitur, atau membuat aplikasi baru. Jika mempertimbangkan manfaat stabilitas yang memberi efek pengganda ke seluruh ekosistem, ini tampak seperti kompromi yang buruk
Apple seolah ingin aplikasi mati demi mengurangi banjir aplikasi berkualitas rendah di App Store, tetapi seharusnya ada cara yang lebih baik. Untuk eksposur dan penemuan aplikasi, kurasi manusia masih tampak sebagai satu-satunya metode yang benar-benar bisa dipercaya
Sebagian besar aplikasi iOS adalah game, tetapi tidak seperti platform game lain, pengembang iOS harus memperbaruinya setiap tahun agar game tetap berjalan. Apple dengan senang hati mematikan game 32-bit di iOS dan macOS, dan banyak game tidak pernah berhasil beralih ke 64-bit. Ini kontras dengan Nintendo DS/DSi/3DS, di mana game umumnya tetap berjalan sepanjang 2004~2020 meskipun ada revisi hardware besar maupun kecil dan puluhan revisi firmware, serta Switch yang sejak 2017 umumnya tetap bisa menjalankan game lintas Switch 1 dan 2
Banyak aplikasi perusahaan besar yang saya pakai masih berbasis Intel, jadi kinerjanya terbuang banyak. Saat Rosetta dihentikan, mereka akhirnya akan terpaksa berubah. Semua aplikasi open source yang saya pakai sudah native
Sebagai penulis, saya sudah menambahkan pembaruan cepat ke artikelnya
Kalau adil, saat melihat harga dari vendor seperti Certum untuk menandatangani sesuatu di Windows, mungkin Apple bukan satu-satunya yang mahal. Sepertinya semua memang begitu: https://www.certum.eu/en/code-signing-certificates/
Setelah melihat sisi Windows lebih jauh, ternyata ada juga Azure Artifact Signing yang murah, 8,54 euro per bulan, tetapi tidak mendukung pengguna individu di UE. Hanya individu di AS dan Kanada yang didukung, sedangkan di UE hanya organisasi. Itu berarti saya harus lebih dulu membuat perusahaan semacam SIA, yaitu setara Ltd., yang memang ada dalam rencana jangka panjang, tetapi menjadi hambatan untuk memakai Azure: https://azure.microsoft.com/en-us/products/artifact-signing
Nadanya mungkin terdengar frustrasi, tetapi saya benar-benar ingin menegaskan bahwa industri code signing butuh momen seperti Let’s Encrypt dalam bentuk apa pun. Setidaknya dibuat umum seperti yang dicoba Azure Artifact Signing, dan tersedia juga bagi pengembang individu di semua platform. Hanya saja, karena platform-platform itu sengaja berupa taman bertembok, rasanya kecil kemungkinan itu terjadi. Saya tidak membenci code signing itu sendiri; jika dilakukan dengan benar, itu ide bagus seperti TLS di banyak situs web
Bahkan dalam diskusi Stack Overflow 8 tahun lalu disebutkan bahwa satu-satunya cara pasti untuk segera dan permanen menghilangkan peringatan Microsoft SmartScreen adalah membeli sertifikat penandatanganan kode EV dari otoritas sertifikat yang disetujui Microsoft, lalu menandatangani aplikasinya dengan itu
Sertifikat EV seperti ini biasanya sekitar 300~700 dolar per tahun dan perlu dibandingkan harganya, serta hanya diterbitkan untuk badan usaha terdaftar. Jika Anda pengembang tunggal, Anda harus berstatus usaha perseorangan dan punya pendaftaran usaha yang valid
https://stackoverflow.com/questions/48946680/how-to-avoid-th...
Lalu saya memindahkan proses pendaftaran ke laptop Apple dan malah jatuh ke lubang yang lebih dalam. Entah bagaimana, meski terus memakai identitas resmi pemerintah yang sama, prosesnya terpecah menjadi dua pengajuan yang seperti saling bersaing; satu tampaknya berhasil dan satu lagi gagal. Sisi baiknya, uangnya tetap mereka ambil; sisi buruknya, barang yang dibeli tidak mereka berikan. Pada akhirnya saya harus mengunggah ulang data pribadi selama beberapa minggu, dan tentu saja hal seperti ini pasti tidak akan menimbulkan masalah di kemudian hari. Semua itu hanya supaya saya bisa memasukkan barang-barang vibe-coded buatan saya sendiri ke ponsel saya
Saat mencari cara mendistribusikan biner seperti ini ke pengguna akhir, saya merasakan frustrasi yang sama dengan penulis, jadi saya menulis panduan yang merangkum dengan tepat cara melakukannya
Dokumentasi Apple sangat buruk sampai mengejutkan, dan saya juga tidak menemukan tulisan blog yang relevan, jadi saya harus melakukan reverse engineering pada alur yang bekerja lewat trial and error dan dengan melihat proyek open source populer di GitHub
https://ofek.dev/words/guides/2025-05-13-distributing-comman...
https://successfulsoftware.net/2018/11/16/how-to-notarize-yo...
https://successfulsoftware.net/2023/04/28/moving-from-altool...
Kemungkinan besar inilah alasan terbesar saya sepenuhnya pindah ke Linux sekitar setahun lalu
Saya lelah tidak bisa membuat perangkat lunak lalu membiarkan orang memakainya. Solusinya mungkin dialog ala VS Code “Saya mempercayai pembuat ini”, tetapi itu pun terasa agak meleset. Membuat sesuatu di Linux benar-benar menyenangkan, dan hampir tidak ada yang saya rindukan dari macOS. Hal-hal yang saya rindukan, saya buat sendiri sebagai program dan saya bagikan [1][2] kepada orang lain. Siapa sangka ini akan jadi hal sesulit ini
https://github.com/zackb/tether
https://github.com/zackb/hyprwat
Saya tidak yakin orang yang peduli pada open source atau pengembangan dalam arti luas akan melihat ini dan berkata, “ya, inilah sistem operasi yang ingin saya pakai”
Saya sungguh sulit memahami kenapa begitu banyak pengembang mau mengompromikan begitu banyak hal hanya demi sebuah laptop tipis
Sejak era G4 PowerBook saya memakai Mac sebagai mesin pengembangan utama, dan beberapa kali mencoba pindah ke Linux tetapi selalu menjadi pengalaman yang lebih buruk. Lalu ketika melihat cerita seperti ini, saya kembali sadar bahwa kita memang memakai komputer dengan cara yang sangat berbeda satu sama lain
Ada inkompatibilitas hardware aneh, banyak hal seret dan kasar, dan terlalu banyak waktu terbuang untuk merawat mesin alih-alih menyelesaikan pekerjaan. Sesekali harus menjalankan
xattr -d com.apple.quarantinedemi mengunduh aplikasi FOSS acak yang sedikit penggunanya itu tidak ada apa-apanya dibanding pengalaman yang dialami pengguna LinuxSaya mungkin orang kedua paling keras kepala di antara teman-teman saya soal hal ini, tetapi setelah selama pandemi hanya memakai desktop selama beberapa tahun dan lalu menghindari laptop Mac selama 5 tahun berikutnya, pengalaman itu benar-benar buruk. Akhirnya saya menyerah setelah sadar bahwa MacBook Air M5 baru kemungkinan lebih cepat untuk pekerjaan browsing web, entah bagaimana juga kompetitif untuk kompilasi kode melawan build monster Xeon terbaru yang baru saya rakit, dan bahkan tidak punya kipas
Buat saya, ini sudah selesai. Apple menang dalam segala hal kecuali kualitas layar. Saya sedih karena sudah telanjur kecanduan OLED, dan secara prinsip saya tidak setuju dengan sikap Apple yang tidak mau memasang layar sentuh di laptop. Setelah menghabiskan banyak waktu bersama anak-anak, saya makin merasa begitu
Di Linux, kalau harus
chmod +xuntuk menjalankan alat, orang menganggap itu biasa saja; jadi apakah di macOS harus menjalankanxattrbenar-benar layak dijadikan alasan menulis satu posting blog penuh keluhan?Saya benar-benar penasaran, apakah Windows 11 memang akan menjalankan
.exeyang tidak dipercaya tanpa peringatan?Ini alat Claude Code untuk pengembang. Pengguna potensialnya seharusnya cukup mampu menjalankan perintah
xattr. Jika tidak, mungkin mereka memang sebaiknya tidak menyentuh Claude Code. Di sini juga ada sedikit “gatekeeping” tambahan dari pihak sayaUntuk pengguna seperti ini, Anda juga bisa membuat skrip
curl -sL [https://github.com/myrepo/installme.sh](<https://github.com/myrepo/installme.sh>) | bashyang menangani sampai ke perintahxattrPengguna akhir macOS pada umumnya tidak memakai alat command line, atau memakai Homebrew. Cara yang benar untuk distribusi biner mungkin adalah installer pkg
.exe/PE yang tidak dipercayaMicrosoft Defender SmartScreen yang menanganinya, dan ia memunculkan pop-up yang menakut-nakuti orang. Jika Anda belum pernah melakukannya sebelumnya, proses klik-klik untuk tetap menjalankan programnya juga tidak intuitif
Itu cukup untuk menakut-nakuti orang yang tidak punya pengetahuan mendalam. Tentu saja semua ini bisa dimatikan
Jauh lebih mudah menjelaskan dan meyakinkan pengguna untuk mencentang kotak “izinkan menjalankan file sebagai program” daripada mengajari mereka perintah command line yang tidak transparan seperti
xattrKemarin saya menjalani proses verifikasi identitas ini, dan mungkin baru berhasil di percobaan ke-8
Desainnya benar-benar mengerikan. Sekarang saya sedang bertukar dokumen dengan entah pihak ketiga siapa untuk menghubungkan LLC dan akun saya. Akan menyenangkan kalau saya bisa sekadar menulis dan mendistribusikan perangkat lunak, tetapi karena monopoli iOS cuma satu, ya mau tidak mau harus ikut iramanya
Jika ini setahun lalu, saya mungkin akan setuju, tetapi sekarang saya ada di pihak sebaliknya
Jumlah malware yang masuk ke perangkat lunak sekarang meningkat secara eksponensial. Memang ini pajak menyakitkan yang dibebankan ke semua perangkat lunak, baik yang jahat maupun tidak, tetapi sampai ada sistem yang lebih baik, pendekatan ini akan membuat sebagian pelaku jahat menyerah. Terutama karena mereka harus membayar biaya
Sebagai pengguna Mac, saya ingin tahu bahwa pengembang telah membayar biaya yang cukup besar untuk menyampaikan perangkat lunak ini kepada saya. Bagi saya itu sinyal yang berguna. Jika mereka bahkan tidak membayar biaya dan tidak mengunggah paspor, saya ingin mempertimbangkan dengan sangat hati-hati risiko yang saya ambil saat menjalankannya
Jangan pernah mengunggah identitas resmi
Jika itu berarti tidak mengembangkan untuk suatu platform, ya jangan mengembangkan untuk platform itu