01
Mulai Cepat (5 menit)
Saksi adalah platform bukti video packing untuk seller e-commerce di Indonesia. Setiap paket yang Anda kirim direkam otomatis oleh operator gudang, lengkap dengan watermark + hash SHA-256 (anti-tamper). Saat ada dispute marketplace (klaim barang rusak, kurang, salah kirim), Anda punya bukti yang bisa dipakai untuk banding.
โ Setup pertama kali biasanya 5 menit
Step-by-step pertama kali
- โขDaftar akun di /signup โ isi wizard 4 step (akun โ bisnis โ volume โ konfirmasi). 14 hari trial Growth gratis, tanpa kartu kredit.
- โขSetelah signup, otomatis login + masuk dashboard. Anda menjadi Owner tenant.
- โขBuat station pertama: Dashboard โ Stations โ + Tambah Station. Beri nama (mis. "Gudang Utama Station 1") โ dapat setup token (format stk_xxxxxxxx).
- โขBuat operator pertama: Dashboard โ Team โ + Invite Member โ pilih role Operator, isi nama + email + (opsional) PIN 4-digit. Sistem auto-generate password โ copy + kirim ke operator.
- โขDi device gudang (PC/laptop dengan webcam): buka /station/setup โ login owner dulu โ paste setup token โ izinkan kamera โ pilih resolusi (default 480p).
- โขOperator login: buka /login โ email + password operator. Otomatis redirect ke /station. Atau pakai PIN keypad di /station/login kalau sudah setup PIN.
- โขScan paket pertama: arahkan barcode scanner ke resi paket โ recording mulai otomatis โ packing seperti biasa โ scan resi BERIKUTNYA (atau klik Stop) โ video tersimpan dengan watermark + hash.
๐ก Tip pertama kali
02
Untuk Owner / Supervisor
Owner punya akses penuh termasuk billing + hapus tenant. Supervisor sama dengan owner kecuali tidak bisa manage billing dan bulk delete. Lihat lengkap permission di Team โ Lihat permission per role.
2.1 Dashboard
Halaman utama setelah login. Menampilkan KPI ringkas: jumlah recording hari ini, total durasi, retur, dan station yang aktif. Ada juga activity feed real-time + station status (online/offline berdasarkan heartbeat 30 detik terakhir).
2.2 Stations
Station = device gudang (PC/laptop/tablet) yang menjalankan operator UI. Satu station di-link ke satu physical device.
- โขTambah station: tombol + Tambah Station โ input nama + lokasi โ save โ dapat setup token sekali (copy + simpan).
- โขLink device: di device gudang, owner login โ /station/setup โ paste token โ izinkan kamera. Device sekarang bound ke station tersebut.
- โขNonaktifkan station: di table, toggle Active off. Semua operator yang login di station ini akan kena kick dalam 30 detik (via heartbeat check).
- โขHapus station: hapus permanen. Recording yang ada tetap tersimpan (hanya station relationship-nya null). Operator yang sedang aktif kena kick.
- โขAssign operator ke station: di Team, edit operator โ pilih station yang boleh dia akses. Operator hanya bisa scan di station yang di-assign.
โ Setup token = SEKALI PAKAI
2.3 Team & Roles
Semua anggota tim (Owner, Supervisor, Operator) login dengan email + password di halaman utama.
- โขInvite member: Team โ + Invite Member โ pilih role โ isi nama + email. Password optional (auto-generate kalau kosong).
- โขUntuk role Operator: bisa juga set PIN 4-digit opsional (untuk fast keypad login di station device). Kalau gak set, operator tetap bisa login email + password biasa.
- โขSave credentials: modal khusus muncul sekali setelah create kalau password auto-generate. Copy email + password โ kirim ke user via WhatsApp / email pribadi. User bisa ganti password sendiri setelah login (Profile page).
- โขReset PIN: di table, klik tombol Reset PIN di row operator โ masukkan PIN baru โ save. Operator lama auto-kick dari station kalau sedang login.
- โขHapus member: Owner only. Soft-delete (data tetap di DB untuk audit), session invalidated.
โน Roles & Permissions
2.4 Cari Packing
Halaman utama untuk audit + dispute. Semua recording ditampilkan dengan filter date / operator / station / status / hashvalid.
- โขFilter cepat: search box untuk resi / order ID / session ID. Filter date range dengan preset (hari ini, kemarin, 7 hari, 30 hari, custom).
- โขDetail rekaman: klik row โ halaman detail dengan VideoPlayer (7 speed, frame step, screenshot capture), metadata lengkap, SHA-256 hash, timeline session, dan linked return (kalau ada retur untuk order ini).
- โขInternal notes: tombol "Tambah catatan" โ fullscreen editor (max 8000 char). Berguna untuk track dispute case number / hasil banding.
- โขExport bundle dispute: tombol "Export Banding Bundle" โ pilih format marketplace (Shopee / TikTok Shop / Tokopedia / Lazada / generic) โ generate ZIP berisi video + PDF certificate + keyframes. TTL 7 hari download link.
- โขHapus rekaman: Owner only. Per-item (tombol Hapus di detail) atau bulk delete (checkbox + sticky action bar). Cascade hapus bundle + file video di disk.
2.5 Cari Retur
Khusus untuk track paket retur (buyer kirim balik). Beda dengan packing record karena ada flag kondisi (GOOD/DAMAGED/MISSING_ITEMS/WRONG_ITEM/USED_WORN/OTHER).
- โขQuick-tag GOOD: kalau paket retur masih bersegel utuh, operator pilih GOOD โ no video diperlukan (hemat waktu 90% kasus retur).
- โขRecording dengan video: kalau kondisi bermasalah (damaged/missing/dll), operator tetap rekam unboxing โ setelah stop, modal tag kondisi muncul.
- โขDetail retur: row clickable โ halaman detail mirip Cari Packing. Kalau ada video unboxing, ditampilkan dengan VideoPlayer. Cross-link ke rekaman packing original (kalau ada).
- โขBulk delete: Owner only, sama seperti Cari Packing.
2.6 Settings
3 tab: General, Recording, Integrations.
- General: nama bisnis, tipe bisnis, marketplace aktif.
- Recording: retention default (hari sebelum auto-delete, max 90 di Growth plan), rekam audio default (toggle), barcode STOP (kustomisasi + cetak โ lihat section 5).
- Integrations: roadmap V2 โ WhatsApp, Shopee API, TikTok Shop API, Tokopedia API, Google Sheets export. Saat ini display-only.
2.7 Billing & Audit Log
Billing: tampilkan plan aktif (Starter / Growth / Business / Enterprise) + quota usage (videos/bulan, storage, station, operator) + invoice history. Upgrade/downgrade plan dengan prorated billing.
Audit Log: semua mutasi sensitif tercatat dengan timestamp + IP + actor + role. Filter by action type + date. Gunakan kalau ada incident untuk forensic.
03
Untuk Operator
Operator = pekerja gudang yang scan packing + retur di device station. Tidak punya akses ke dashboard tenant (settings, team, billing).
3.1 Login (web atau PIN)
Ada 2 cara login:
- Email + password di /login (recommended) โ sama seperti owner. Auto-redirect ke /station.
- PIN keypad di /station/login โ hanya kalau owner sudah set PIN 4-digit untuk Anda. Lebih cepat untuk shift change di warehouse PC.
โ 1 operator = 1 station pada satu waktu
3.2 Mode Packing โ scan paket biasa
- โขPastikan mode = PACKING (toggle di kanan atas).
- โขScan resi paket dengan USB barcode scanner โ recording mulai otomatis. Watermark live tampil di video (order ID, resi, operator, station, timestamp).
- โขPacking seperti biasa di depan kamera. Pastikan barang terlihat jelas โ masukkan ke kardus, segel, tempel resi.
- โขStop recording: ada 3 cara โ (1) scan resi paket BERIKUTNYA (auto-stop + langsung mulai paket baru), (2) klik tombol Stop & Simpan di layar, (3) scan barcode STOP yang sudah dicetak (default SAKSI-DONE).
- โขVideo tersimpan otomatis dengan SHA-256 hash. Tidak perlu apa-apa lagi โ sistem upload background ke server.
๐ก Auto-stop berurutan
3.3 Mode Retur โ paket yang dikembalikan buyer
- โขSwitch mode ke RETUR (toggle kanan atas).
- โขScan resi paket retur โ modal quick-triage muncul: tanya kondisi paket.
- โขPilih GOOD kalau segel paket masih utuh / tidak ada masalah โ langsung save tanpa video (hemat 90% waktu retur).
- โขPilih Damaged / Missing / Wrong item / Used-worn / Other โ recording video unboxing mulai. Buka paket di depan kamera, tunjukkan kondisinya jelas.
- โขStop recording sama seperti mode Packing. Setelah stop, modal tag kondisi muncul โ konfirmasi + (opsional) tambah catatan.
3.4 Cara stop recording โ 3 opsi
- Scan resi berikutnya (paling cepat untuk batch) โ recording berjalan otomatis stop + langsung start untuk paket baru.
- Klik tombol Stop & Simpan di layar โ manual control kalau cuma 1 paket.
- Scan STOP barcode (default SAKSI-DONE) โ hands-free, owner perlu print barcode dulu (section 5). Cocok kalau operator hands-busy (pegang paket besar, pakai sarung tangan).
3.5 Switch operator / keluar mode operator
- Switch operator (tombol di header station): logout operator current, redirect ke PIN login. Berguna saat shift change tanpa restart device.
- Keluar mode operator (tombol pojok kanan-atas): keluar total dari station UI. Modal akan muncul kalau ada recording aktif โ pilih Simpan & keluar (await upload), Buang rekaman (abort), atau โ Tetap (batalkan keluar).
โ Simpan & keluar = menunggu upload selesai
04
Profile & Password
Setiap user (Owner / Supervisor / Operator) bisa edit profile sendiri di /dashboard/profile atau klik nama Anda di sidebar pojok kiri-bawah.
- โขEdit info akun: nama, email, nomor HP (opsional, untuk notifikasi V1.5). Ganti email akan minta verifikasi kalau email service aktif.
- โขGanti password: wajib masukkan password saat ini sebagai konfirmasi. Password baru min 8 karakter. Session di device ini tetap aktif (gak ke-logout).
- โขGanti PIN keypad (operator only): masukkan password akun โ PIN baru 4 digit.
โน Lupa password?
05
Cetak STOP Barcode
STOP barcode adalah barcode khusus yang kalau di-scan oleh operator, recording aktif otomatis stop & simpan. Default text: SAKSI-DONE. Bisa diganti di Settings โ Recording.
Cara cetak
- โขSettings โ Recording โ klik tombol ๐จ Cetak Barcode di sebelah field STOP barcode.
- โขTab baru terbuka dengan preview Code 128 SVG barcode + control panel.
- โขPilih ukuran: Kecil (stiker), Sedang (meja kerja), Besar (dinding station).
- โขPilih jumlah per halaman: 1 (single), 2 (stack), 4 (2ร2 untuk 4 station), 6 (2ร3), 9 (3ร3 mass-produce sticker).
- โขToggle label teks di bawah barcode (on/off).
- โขKlik ๐จ Print sekarang โ browser dialog โ cetak A4.
- โขGunting sesuai border dashed โ laminate atau pakai stiker matte โ tempel di meja kerja operator.
๐ก Tips supaya scanner gampang baca
- Kertas putih (jangan warna terlalu gelap).
- Jangan glossy โ pantul lampu bikin scanner susah baca. Pakai matte.
- Untuk durability, laminate atau pakai stiker vinyl.
- Jaga jarak 10-30cm dari scanner saat dipakai.
06
Master Admin (Platform Operator)
Master admin = staff platform Saksi (bukan tenant user). Punya akses ke semua tenant + insights + tracking. Login terpisah di hidden URL: /master/login. Tenant user TIDAK PERNAH bisa akses panel ini.
- Overview: MRR, tenant aktif, error 24h, friction 24h, top errors.
- Insights & Rekomendasi: 8 auto-insight rules (critical error spike, high-failure feature, discovery gap, dll) + 19 curated recommendations (beta launch, quick wins, monetization). Convert apapun ke Task Board dengan 1 klik. AI-readable export di /api/admin/insights-export.
- Daftar Task: capture ide, fitur, bug, to-do platform. 5 status (Draft/To-do/Ongoing/Pending/Completed), priority, category. AI assistant bisa CRUD via chat.
- Tenant / Pelanggan: list semua tenant + drill-down per akun (users, stations, recordings, errors, invoices).
- Log Error / Aktivitas User / Heatmap Fitur: monitoring untuk debugging + product improvement.
- Outbox Email / Konfigurasi Email: lihat email yang ter-enqueue, config SMTP per event.
- Riwayat Release: changelog public.
07
FAQ & Troubleshooting
Kamera tidak terdeteksi di /station/setupโพ
- Pastikan browser support WebRTC (Chrome / Edge / Firefox modern โ Safari kadang bermasalah).
- Izinkan kamera saat browser prompt. Kalau sudah deny, klik icon kunci di address bar โ reset permission.
- Coba unplug + replug USB webcam. Kalau pakai laptop built-in cam, restart browser.
- Pastikan kamera tidak sedang dipakai aplikasi lain (Zoom, Meet, OBS).
USB barcode scanner tidak masuk ke field scanโพ
- Scanner harus mode HID keyboard emulation (default semua scanner consumer). Cek manual kalau scanner industrial.
- Pastikan focus ada di field scan (klik dulu di input). Saksi auto-focus scan input, tapi kalau modal lain terbuka, focus pindah.
- Test di Notepad / text editor โ scanner harus bisa "ngetik" teks resi. Kalau tidak bisa, masalah di hardware.
- Beberapa scanner butuh konfigurasi suffix (Enter / Tab). Saksi auto-detect, tapi kalau gagal coba scan barcode konfigurasi "Enter suffix" dari manual scanner.
Recording terhenti tiba-tiba / video kosongโพ
- Cek log error di /admin/errors (atau hubungi owner kalau Anda operator).
- Kemungkinan: storage device penuh, MediaRecorder API crash karena codec issue, atau browser tab di-background terlalu lama.
- Solution: refresh browser, scan ulang paket.
- Untuk prevent: jangan biarkan tab station idle terlalu lama, restart browser tiap shift change.
Lupa password owner / supervisorโพ
Klik Lupa password? di /login โ masukkan email โ cek inbox untuk link reset. Link valid 1 jam.
Kalau email belum di-setup (SMTP belum config), hubungi master admin platform Saksi via support@saksi.id.
Lupa PIN operatorโพ
Hubungi owner / supervisor โ mereka reset di Dashboard โ Team โ tombol Reset PIN di row operator โ masukkan PIN baru โ kasih ke operator.
Alternative: operator login email + password biasa di /login (PIN cuma untuk fast keypad โ login web tetap work).
Saya operator, tiba-tiba di-kick dari stationโพ
- Anda login di station lain: sesi sebelumnya otomatis di-kick (1 operator = 1 station). Login ulang di station yang dimau.
- Station di-nonaktifkan owner: muncul pesan "Station nonaktif". Hubungi owner untuk re-aktif.
- Station di-hapus owner: device perlu setup ulang dengan token baru (owner kasih).
Storage hampir penuh โ apa yang terjadiโพ
Saat mendekati quota (mis. 90%), banner peringatan muncul di Dashboard. Saat 100%, recording baru gagal (HTTP 507). Options: (1) upgrade plan, (2) hapus rekaman lama (bulk delete), (3) kurangi retention default supaya auto-delete cepat.
Bisakah saya export video untuk simpan offlineโพ
Ya. Detail rekaman โ tombol โฌ Download MP4. Atau via Cari Packing โ bulk select โ export. Untuk dispute marketplace, pakai tombol Export Banding Bundle yang sudah include video + PDF certificate + hash chain proof.
Apa itu hash SHA-256 dan kenapa pentingโพ
SHA-256 hash = fingerprint unik dari file video. Kalau 1 byte saja diubah, hash-nya berubah total. Marketplace bisa verify hash di halaman public /verify (V1.5 โ roadmap) untuk konfirmasi video belum di-tamper sejak direkam. Hash chain = bukti integrity yang sulit dibantah di dispute.
08
Tips & Best Practices
Posisi kamera ideal
- Tinggi: kamera di atas meja kerja, angle ~45ยฐ ke bawah. Operator + barang + meja semua terlihat.
- Jarak: 50-80cm dari area packing. Cukup dekat untuk lihat detail, cukup jauh untuk frame penuh.
- Mount: pakai webcam tripod murah (Rp 100K) atau clip mount ke monitor.
- Test: di /station/setup, preview kamera dulu. Adjust sampai posisi ideal.
Pencahayaan
- Hindari backlight (jendela di belakang operator) โ wajah jadi siluet, barang gak kelihatan.
- Cahaya datang dari depan atau atas. Lampu LED biasa cukup, tidak perlu lighting profesional.
- Untuk packing malam, pastikan ada lampu di area packing โ jangan mengandalkan layar laptop saja.
Audio: on atau off?
- On kalau Anda ingin bukti tambahan โ operator bisa narasi ("Sneakers size 42 dimasukkan dalam kondisi baru, segel ori").
- Off kalau gudang berisik โ audio jadi noise, file size nambah tanpa value.
- Setting per-tenant di Settings โ Recording โ Rekam audio default. Operator bisa override per session.
Retention setting
- Default 60 hari cocok untuk kebanyakan dispute marketplace (Shopee 7-30 hari, TikTok 14 hari).
- Plan Growth max 60 hari, Business 90 hari. Setelah retention period, video auto-delete (metadata tetap).
- Kalau ada dispute aktif, owner bisa "pin" recording tertentu supaya tidak ke-delete (V1.5).
Backup strategy
- Untuk paket berharga tinggi (>Rp 500K), download MP4 manual setelah recording โ simpan di Google Drive / Dropbox sebagai backup ke-2.
- Bundle dispute (ZIP) yang sudah di-export simpan di lokal selama dispute belum selesai.
- Jangan rely 100% pada Saksi โ kami target 99.9% uptime tapi kalau dispute very high value, double-backup wajib.
09
Privacy & Security
Bagaimana data Anda dilindungi
- Tenant isolation: data tenant A tidak pernah accessible dari tenant B. Semua query di-filter via tenantId.
- Signed cookies: HMAC-SHA256 dengan secret di server. Cookie httpOnly + sameSite untuk anti-CSRF.
- Password hashing: scrypt (slow hash algorithm) โ tahan brute force jauh lebih baik daripada bcrypt/MD5.
- Master admin terpisah: Saksi staff punya auth terpisah di /master/login dengan env-based credentials. Kompromi 1 tenant tidak escalate ke platform admin.
Hash chain integrity
Setiap video direkam dengan SHA-256 hash yang dihitung di browser operator (sebelum upload). Hash + metadata disimpan di DB. Saat dispute, hash bisa di-verify ulang untuk membuktikan video belum di-tamper sejak direkam. Marketplace yang sophisticated (Shopee internal, TikTok Trust) bisa verify hash via API public (V1.5).
Audit log
Semua action sensitive (login, logout, hapus rekaman, ubah role, ganti settings, billing) tercatat dengan timestamp + IP + actor. Owner bisa review di Dashboard โ Audit Log untuk forensic.
Master admin separation
Saksi staff (master admin) punya auth terpisah total. Login URL /master/login hidden (tidak di-link dari tenant UI). Tenant user TIDAK BISA escalate ke master walau email-nya match โ terenforce di middleware + setiap server action. Audit log master admin lintas tenant (tenantId: null) supaya bisa di-trace siapa staff yang melakukan apa.
Compliance UU PDP (Perlindungan Data Pribadi)
Data customer (nama, no HP, alamat) by default di-mask di UI dan export untuk minimize PII exposure. Video sendiri tidak strip face/voice โ itu memang inti bukti. Tapi access video dikontrol via role + audit log. Untuk request hapus data (UU PDP article 26), email privacy@saksi.id.
Siap mencoba?
14 hari trial Growth gratis
Tanpa kartu kredit. Tanpa commitment. Cancel kapan saja.
Butuh bantuan? support@saksi.id ยท Enterprise / integration request: partner@saksi.id