Artikel

Sebagai pebisnis, data invoice dan informasi klien adalah aset berharga yang harus dilindungi dengan serius. Kebocoran data keuangan bisa berakibat fatal bagi reputasi dan operasional bisnis Anda. Finifly memahami kebutuhan ini dengan mengimplementasikan sistem keamanan berlapis, mulai dari login Google OAuth hingga arsitektur multi-tenant yang memastikan setiap data invoice hanya bisa diakses oleh pemiliknya.
Artikel ini akan membahas secara mendalam bagaimana Finifly melindungi data invoice bisnis Anda melalui teknologi autentikasi modern dan desain sistem yang aman.
Keamanan data invoice mencakup seluruh perlindungan terhadap informasi finansial yang sensitif, termasuk nomor invoice, detail klien, jumlah pembayaran, dan تاريخ jatuh tempo. Bagi bisnis di Indonesia, dokumen invoice mengandung informasi strategis yang jika jatuh ke tangan yang salah bisa dimanfaatkan untuk penipuan, pencurian identitas, atau manipulasi data keuangan.
Risiko keamanan yang sering dihadapi bisnis menengah dan kecil di Indonesia meliputi:
Finifly hadir dengan solusi keamanan yang tidak hanya melindungi data Anda, tetapi juga memberikan kemudahan dalam pengelolaan invoice sehari-hari.
Finifly menggunakan Google OAuth sebagai satu-satunya metode login. Ketika Anda mengklik tombol "Masuk dengan Google", sistem akan mengalihkan Anda ke halaman persetujuan Google OAuth. Setelah Anda memberikan izin, Google akan mengembalikan token autentikasi yang digunakan Finifly untuk membuat atau memperbarui akun Anda.
Proses ini menggunakan JWT (JSON Web Token) yang disimpan sebagai cookie di browser Anda. Berbeda dengan sistem login tradisional yang menyimpan session di database, JWT di Finifly dirancang agar kompatibel dengan edge runtime, memberikan performa terbaik tanpa mengorbankan keamanan.
Pertama, tidak ada risiko password lemah. Banyak pengguna cenderung membuat password yang mudah diingat, seperti tanggal lahir atau nama hewan peliharaan. Dengan Google OAuth, password akun Google Anda yang sudah terenkripsi kuat menjadi satu-satunya pengaman.
Kedua, autentikasi dua faktor terintegrasi otomatis. Jika akun Google Anda sudah dilindungi dengan verifikasi dua langkah, maka akses ke Finifly juga secara otomatis mendapatkan perlindungan ekstra. Anda tidak perlu repot mengatur 2FA secara manual.
Ketiga, menghilangkan kebutuhan mengingat password tambahan. Sebagai pebisnis, Anda mungkin memiliki puluhan akun online. Dengan Google OAuth, Anda mengurangi beban mengingat password dan risiko lupa password yang bisa menghambat operasional bisnis.
Keempat, perlindungan terhadap serangan brute force. Karena tidak ada kolom password yang bisa ditebak secara berulang, serangan brute force menjadi tidak efektif terhadap sistem login Finifly.
Finifly menggunakan tiga variabel lingkungan utama untuk Google OAuth:
AUTH_SECRET: Secret untuk mengenkripsi JWT, sebaiknya di-generate menggunakan perintah npx auth secretAUTH_GOOGLE_ID: Google OAuth Client ID yang didaftarkan di Google Cloud ConsoleAUTH_GOOGLE_SECRET: Google OAuth Client Secret yang bersifat rahasiaUntuk deployment production, Anda perlu memastikan redirect URI Google OAuth di-daftarkan dengan benar di Google Console. Redirect URI yang salah adalah penyebab paling umum masalah login OAuth.
Arsitektur multi-tenant adalah desain sistem di mana satu instance aplikasi melayani banyak pengguna, namun data setiap pengguna tetap terpisah dan terisolasi. Dalam konteks Finifly, setiap user memiliki:
clients table dengan userId)invoices table dengan userId)invoice_items yang terhubung ke invoice milik user)Ini berarti meskipun Anda dan kompetitor Anda sama-sama menggunakan Finifly, data invoice dan klien Anda tidak akan pernah bercampur atau bisa diakses oleh pihak lain.
Setiap query database di Finifly selalu menyertakan filter userId. Berikut contoh perbedaan antara query yang benar dan salah:
typescript // BENAR - Data terisolasi per user const invoice = await db.query.invoices.findFirst({ where: and(eq(invoices.id, id), eq(invoices.userId, userId)) })
// SALAH - Bisa akses data user lain const invoice = await db.query.invoices.findFirst({ where: eq(invoices.id, id) })
Kode pertama akan selalu memastikan bahwa invoice yang diambil milik user yang sedang login. Kode kedua berbahaya karena siapapun bisa mengakses invoice orang lain hanya dengan mengetahui ID invoice tersebut.
Finifly tidak hanya melindungi di level database. Middleware proxy juga memastikan bahwa setiap request ke route /dashboard/* sudah melewati verifikasi token JWT. Jika user belum login, sistem akan otomatis redirect ke halaman login. Jika user belum menyelesaikan onboarding, sistem akan mengarahkan ke halaman onboarding.
Alur proteksi ini bekerja sebagai berikut:
/dashboard/*/loginonboarded = false, redirect ke /onboardingDi Finifly, setiap server action wajib memeriksa session sebelum melakukan operasi apapun. Berikut pola keamanan yang diterapkan:
typescript async function createInvoice(data: InvoiceData) { // Wajib: cek session terlebih dahulu const session = await auth()
if (!session || !session.user) { throw new Error('Unauthorized') }
// Baru lakukan operasi dengan userId dari session const invoice = await db.insert(invoices).values({ ...data, userId: session.user.id })
return invoice }
Praktik ini memastikan bahwa bahkan jika ada bug di frontend yang allow request tanpa otorisasi, server action tetap akan menolak operasi tersebut.
Selain проверка session, Finifly juga menggunakan Zod schema validation untuk setiap input. Ini防止注入攻击 dan memastikan data yang masuk sesuai format yang diharapkan.
Validasi untuk client creation misalnya:
null bukan string kosongValidasi untuk invoice creation:
Finifly menyimpan data moneter sebagai integer (Rupiah penuh), bukan float atau desimal. Keputusan desain ini bukan hanya soal presisi kalkulasi, tetapi juga keamanan:
Semua timestamp di Finifly disimpan dalam format UTC tanpa timezone. Ketika ditampilkan ke user, timestamp dikonversi ke zona waktu Asia/Jakarta. Pendekatan ini memastikan:
PPN di Finifly disimpan sebagai integer basis point, di mana 1100 merepresentasikan 11% dan 10000 merepresentasikan 100%. Format ini memberikan:
Karena Finifly bergantung pada keamanan akun Google Anda, langkah pertama adalah memastikan akun Google Anda sendiri aman:
Meskipun Finifly menggunakan JWT yang aman, praktik keamanan yang baik tetap mengharuskan Anda logout setelah selesai menggunakan aplikasi, terutama jika mengakses dari perangkat bersama atau publik.
Pastikan informasi profil bisnis Anda selalu akurat dan terkini. Informasi yang salah di invoice tidak hanya membingungkan klien, tetapi juga bisa menjadi celah untuk manipulasi.
Keamanan data invoice bisnis adalah prioritas utama Finifly. Melalui kombinasi login Google OAuth yang menghilangkan risiko password lemah, arsitektur multi-tenant yang memastikan isolasi data ketat, dan validasi berlapis di setiap level sistem, Finifly memberikan perlindungan menyeluruh untuk data keuangan bisnis Anda.
Bagi pebisnis Indonesia yang ingin mengelola invoice dengan tenang tanpa khawatir tentang keamanan data, Finifly menyediakan solusi yang tidak hanya feature-rich tetapi juga security-first. Dengan Finifly, Anda bisa fokus pada pertumbuhan bisnis mientras tim kamihandle keamanan data Anda.
Mulai kelola invoice bisnis Anda dengan aman hari ini di Finifly. Daftar gratis dengan akun Google Anda dan rasakan sendiri kemudahan serta keamanan invoice digital yang sesungguhnya.
© 2026 finifly. All rights reserved.
hello@finifly.com