General

Keamanan & privacy data

Bagaimana FlowJob handle data Anda: encryption, RLS, ownership, retention, dan GDPR-style rights.

2 menit baca

FlowJob nge-handle data trading Anda. Privacy dan security bukan fitur tambahan, itu dasar.

Enkripsi

  • In transit: semua traffic HTTPS / TLS 1.2+ enforced. HSTS enabled.
  • At rest: Supabase database di-encrypt dengan AES-256 (managed PostgreSQL).
  • Storage: Screenshot buckets di Supabase Storage dengan encryption at rest.
  • API keys: secrets (Discord, Midtrans) di-encrypt di env vars. Service role key tidak pernah exposed ke client.

Row Level Security (RLS)

Semua tabel punya RLS policies. Artinya: meskipun service-role key di-compromise, query langsung ke database tetep ke-restrict oleh row-level rules.

TabelPolicy
usersSelf-read + self-update. Staff read all.
journal_tradesSelf-only.
journal_dailySelf-only.
journal_modelsSelf-only (default models read-only for non-staff).
journal_accountsSelf-only.
entitlementsSelf-only.

[!INFO] RLS = "user A tidak bisa baca data user B, even if mereka punya table name." Ini standard defense in depth, kalau ada bug di app, database tetep enforce.

Public profile privacy

Saat Anda enable public profile, hanya field ini yang ter-expose ke public:

  • display_name, username, bio, avatar_url
  • Aggregate stats: win rate, profit factor, expectancy, avg R, etc.
  • Per-trade: date, pair, direction, outcome, P&L amount (kalau di-enable), R-multiple, screenshot URLs
  • Per-model: name, cover image, WR, P&L, R-multiple

Field ini tidak pernah ter-expose, no matter what:

  • notes (catatan pribadi Anda)
  • emotional_state
  • mistake_tag
  • rule_violation (private ke Anda, tidak ke-share di public)
  • entry_price, sl_points, tp_points (execution details)
  • position_size

Liat Sharing your journal untuk detail.

Account safety

  • Password tidak di-store plain-text. Pake Supabase Auth (bcrypt).
  • OAuth via Discord, Discord handles authentication. FlowJob hanya nerima verified user ID + email.
  • Session, httpOnly cookie, secure, sameSite=lax. Tidak bisa dicuri via JavaScript.
  • CSRF, SameSite cookie + server-side origin check.
  • Rate limiting, /api/me di-rate-limit per IP. Fail-closed di production.

Discord integration

  • Anda pakai Discord hanya untuk sign in dan opsional display name di public profile.
  • FlowJob tidak post ke Discord atas nama Anda (kecuali role sync saat Anda subscribe).
  • Anda bisa opt-out dari Discord link: ganti avatar manual, dan FlowJob akan hapus discord_username dari public profile.

Payment data

  • Midtrans handle payment processing. FlowJob tidak nyimpan credit card number atau CVV.
  • Token payment (saved card) disimpan encrypted di Midtrans vault, bukan di FlowJob.
  • Subscription state di FlowJob hanya nyimpan: tier, status, expires_at, dan Midtrans order ID untuk reference.

Cookies & tracking

FlowJob pakai cookies minimal:

  • Session cookie (httpOnly), Supabase auth
  • Locale preference (loose cookie), bahasa Anda (id / en)
  • Theme preference (localStorage), dark / light

Tidak ada third-party tracker di dashboard. Marketing page mungkin pakai PostHog untuk analytics, tapi PostHog configured untuk tidak collect PII (no email, no IP, no user_id in events).

Data retention

TipeRetention
Active subscriptionSelamanya
Grace period (subscription cancel, sebelum data archive)30 hari
Archived (subscription lapse > 30 hari)Data di-archive, bisa di-restore dalam 90 hari
Permanent deletion (user request atau > 1 tahun inactive)Email notifikasi 30 hari sebelum, kemudian permanent delete

[!NOTE] Kami bisa permanent delete data Anda kapan aja atas request. Email support@flowjob.id dengan subject "Data deletion request" dan user ID Anda.

Hak user (GDPR-style)

Meskipun FlowJob bukan di-EU, kami apply GDPR-equivalent rights untuk semua user:

  • Right to access, export semua data Anda (CSV + JSON via support request)
  • Right to rectification, edit trade / daily / account / model kapan aja
  • Right to erasure, permanent delete atas request
  • Right to portability, CSV export
  • Right to restrict processing, set public profile OFF, tidak di-share
  • Right to object, opt-out dari marketing emails
  • Right to withdraw consent, unsubscribe kapan aja

Security disclosure

Kalau Anda nemu security vulnerability, please report responsibly:

  • Email: security@flowjob.id
  • Subject: "Security disclosure"
  • JANGAN post di Discord atau public

Kami respond dalam 48 jam dan coordinate disclosure timeline.

FAQ keamanan

FlowJob punya ISO 27001 / SOC 2 certification?

Belum. Kami pakai managed services (Vercel, Supabase, Midtrans) yang punya sertifikasi masing-masing. Untuk enterprise / compliance-specific questions, kontak support@flowjob.id.

Apakah data saya di-encrypt di database?

Ya. Supabase Postgres at-rest encryption (AES-256), plus TLS in transit.

Bisa request deletion permanent?

Ya. Email support@flowjob.id dengan subject "Data deletion request". Kami process dalam 7 hari kerja.

Apakah FlowJob share data ke third party?

Tidak untuk tujuan marketing. Aggregated, anonymized metrics bisa di-share untuk research (misal "average win rate trader futures Indonesia 2026"). Tapi never identifiable data. Public profile adalah opt-in dan hanya field yang Anda enable.

Apakah password saya di-log di server logs?

Tidak. Kami log request level (URL, method, status code) tapi tidak log request body atau headers (yang punya auth token). Logs di-retain 30 hari.

Coming soon

  • 2FA (TOTP), optional, on top of Discord auth
  • Hardware security key support (WebAuthn)
  • Audit log, every action Anda lakukan di journal di-log dengan timestamp, bisa di-review
  • GDPR data export endpoint, self-service download semua data Anda dalam format JSON + CSV bundle

Punya pertanyaan atau nemu bug? Tanya di Discord atau email ke support@flowjob.id.