Zum Inhalt springen / Skip to content

Keselamatan di Wavor

Data perniagaan anda layak mendapat perlindungan yang sama seperti bank. Kami tidak hanya memberitahu anda APA yang kami lindungi. Kami menunjukkan kepada anda BAGAIMANA.

AES-256TLS 1.32FADSGVO/GDPRUK GDPRLGPD (BR)DPDP (IN)Pelayan EU

Keselamatan Teras

Penyulitan AES-256
Bidang sensitif disimpan dalam keadaan terenkripsi. Baca tanpa kunci, mereka tidak menunjukkan apa-apa.
Pusat Data EU (Hetzner DE)
Servers and customer files in Germany. Offsite backups sit encrypted outside the EU under the EU's transfer safeguards; the privacy policy names the provider.

Waktu Operasi & Infrastruktur

99.9%
Sasaran Waktu Operasi
6h
Selang Sandaran
90d
Longest retention
Nerd zone

It gets technical from here. You do not need to read any of it to use Wavor safely - it is here so it can be checked.

Arsitektur Keselamatan

Bagaimana data anda mengalir. Dari permintaan ke penyimpanan

LANGKAH 1
Cloudflare Edge
Perlindungan DDoS, WAF, TLS 1.3 dengan fallback 1.2. Rangkaian anycast global.
LANGKAH 2
Cloudflare Tunnel
Asal tidak dapat dicapai secara fizikal. Sambungan keluar sahaja ke CF, tiada port masuk. AOP Hanya Kepercayaan Kustom dengan sijil Wavor RSA-4096.
LANGKAH 3
Aplikasi Node.js
Pengesahan sesi, pemeriksaan 2FA, RBAC, pengesahan input melalui skema Zod.
LANGKAH 4
PostgreSQL + Vault
Encrypted storage with AES-256. Secrets in HashiCorp Vault.
TLS 1.3 (1.2 Fallback)
HTTPS Ketat Penuh pada semua 7 domain.
Perlindungan DDoS
Perlindungan tepi sebelum pelayan melihat permintaan.
Di mana data disimpan?
The servers are at Hetzner in Germany (Falkenstein and Nuremberg), customer files in object storage in Germany. The data centres are guarded around the clock, with biometric access. Backups and some services such as email, SMS and AI run through providers outside the EU. Those transfers are secured under the EU's rules, and the privacy policy names every provider.
Bagaimana kunci dilindungi?
Semua kunci API dan rahsia dalam HashiCorp Vault (KV v2, dienkripsi, dikawal akses). Amaran putaran automatik pada 90/180/365 hari. Tiada rahsia teks biasa dalam kod, env, atau log.
Bagaimana fungsi sandaran?
Automated PostgreSQL backups every 6 hours. Kept: every one for two days, one a day up to 14 days, one a week up to 90 days. Each is decrypted again and checked after encryption, and every night the newest is restored as a test. Offsite copy at Backblaze, encrypted with our own key before it leaves the server.

Lapisan Pertahanan

Header Keselamatan HTTP: 14 arahan yang diperkukuh

CSP Level 3 (21 Direktiven)
Mod penguatkuasaan. Standard W3C maksimum termasuk script-src-elem/-attr granular, Trusted-Types pada subdomain admin, whitelist manifest/worker/media-src.
HSTS (Strict-Transport-Security)
max-age 1 tahun, includeSubDomains, preload diaktifkan.
X-Frame-Options
TOLAK. Tiada clickjacking melalui iframes.
X-Content-Type-Options
nosniff. Pelayar tidak boleh salah tafsir jenis MIME.
Referrer-Policy
strict-origin-when-cross-origin.
Permissions-Policy
Kamera, mikrofon, geolokasi. Semua dinonaktifkan secara lalai.
COOP (Cross-Origin-Opener-Policy)
same-origin. Mengasingkan konteks pelayaran.
CORP (Cross-Origin-Resource-Policy)
same-site. Sumber tidak boleh disematkan silang asal.

Independently verifiable: Mozilla's HTTP Observatory grades the headers of wavor.io A+. A test asks Mozilla for the result again every night. https://developer.mozilla.org/en-US/observatory/analyze?host=wavor.io(developer.mozilla.org)

Keselamatan Akaun

2FA: TOTP / SMS / Email
Tiga kaedah untuk faktor kedua. Kod sandaran sekali guna.
Pengenalan Peranti
Pemberitahuan segera pada peranti baru melalui email dengan IP + User-Agent.
Pengurusan Sesi
Lihat sesi aktif, tamatkan secara individu atau log keluar semua sekaligus.
Perlindungan Brute-Force (3 lapisan)
5 kegagalan per email / 15min penguncian. 10 per IP / 1h. 5 email berbeza dari satu IP / larangan 24h.
Cloudflare Turnstile Captcha
Perlindungan bot tanpa teka-teki klik. Skrip dimuat dengan crossOrigin tanpa nama + tiada-referrer. Tiada kebocoran sesi ke Cloudflare.
Penyulitan Kata Laluan Bcrypt (kos 12)
Setiap tekaan memerlukan masa pengiraan, yang menjadikan serangan senarai tidak mampu. Kata laluan >= 12 aksara, semakan kekuatan zxcvbn.
Pengesahan Input Zod
Semua input API disahkan di sisi pelayan melalui Zod. Drizzle-Zod sebagai sumber kebenaran tunggal dengan skema DB.
Rate limiting with a sliding window
A sliding window rather than fixed blocks, so a limit is not handed out afresh at the top of every minute. The counter currently lives in the individual worker process; once Redis is configured, all processes share one.

Kawalan Lanjutan

RBAC Halus (tutup-gagal)
Peranan + menyedari kaedah HTTP: GET memerlukan pandangan, POST/PATCH memerlukan penyuntingan, DELETE memerlukan penghapusan. Kebenaran yang hilang = 403, tidak pernah dilangkaui.
Pengasingan Multi-Penyewa
skop companyId pada setiap pertanyaan DB. Tiada kebocoran data antara penyewa.
Log Audit
Setiap mutasi dicatat melalui eventLog + AuditLogger. Jejak tidak boleh diubah dengan userId, companyId, tindakan, entiti.
Approval by two people
Four actions need two approvals: changes to legal values, prices and terms, and a new sub-processor. While only one person is authorised, that person decides alone. The rule takes effect once there is a second.
Dasar Putaran Rahsia
Amaran automatik pada 90/180/365 hari melalui secretRotation.ts.
Penyamaran PII dalam Respons
Email, IBAN, telefon disamarkan untuk ahli pasukan tanpa akses PII. piiMasking.ts pusat.
Pembersihan Log
Semua log dibersihkan secara pusat. Tiada PII dalam log, pemantauan atau output debug.
Kunci API dengan Skop
Kebenaran halus dengan tamat tempoh melalui apiKeyAuth.ts.
Padam Lembut & Pemulihan
Pemulihan data yang dipadam selama 28 hari. lajur deletedAt dengan penapis pertanyaan automatik.
Data export
Eksport JSON penuh semua data pengguna dalam satu permintaan. Penghapusan melalui aliran DSAR (Art. 17).

Perlindungan Data

Concrete technical measures

Penyulitan Tahap-Feld (AES-256-GCM)
IBAN, ID cukai, keselamatan sosial, butiran bank, rahsia 2FA TOTP dan kod sekali guna (log masuk/pengesahan/reset): AES-256-GCM dengan IV 96-bit, tag-auth 128-bit. IV rawak setiap penyulitan.
Penyulitan Tutup-Gagal
Tanpa ENCRYPTION_KEY dalam pengeluaran: pelayan menolak untuk memulakan. Tiada fallback teks biasa (GDPR Art. 32 lit. a).
Pengesanan Pencerobohan (GCM)
Tag auth AES-GCM mengesan sebarang pengubahan ciphertext. Dekripsi gagal dengan keras. Tidak pernah menerima secara senyap.
HMAC-SHA256 Cari Hash
Medan yang dienkripsi tetap boleh dicari melalui HMAC deterministik. Kunci berasingan (Pemisahan Kunci mengikut NIST SP 800-57).
Pengurusan Kunci Vault
ENCRYPTION_KEY + SESSION_SECRET + semua kunci API dalam HashiCorp Vault (KV v2). Tiada teks biasa dalam kod, env, atau log.
Versi Kunci untuk Putaran
Format ciphertext v1:iv:data:tag. Boleh diputar ke versi baru tanpa kehilangan data.

Keselamatan Rantaian Bekalan

Perlindungan terhadap kebergantungan yang terjejas (event-stream 2018, ua-parser-js 2021)

Dependencies as a build gate
Every build checks all dependencies against the vulnerability database. New findings block; known ones sit in a dated baseline that may only shrink.
Amaran Dependabot
GitHub Dependabot memeriksa setiap hari terhadap pangkalan data CVE. PR keselamatan automatik.
Fail kunci yang dikomit
package-lock.json dalam repo. Mencegah CI daripada menarik versi yang berbeza daripada tempatan.
SSRF protection on outbound fetches
Every address that comes from user input is checked before Wavor fetches it. Private networks are blocked, and each redirect is checked again instead of being followed blindly.
Patching Keselamatan Automatik
unattended-upgrades installs operating-system security fixes automatically.
Skrip Luaran: CORS + Referrer
Turnstile (Cloudflare) dimuat dengan crossOrigin anonymous + referrerPolicy no-referrer. Tiada kebocoran kelayakan.

Pemantauan & Kebolehan Pengamatan

Penjejakan Ralat (dihoskan sendiri)
Amaran ralat masa nyata dengan jejak tumpukan.
Metrik (Prometheus + Grafana)
Kelewatan permintaan, pertanyaan DB, memori, metrik perniagaan khusus.
Pemantauan Pelayan
Waktu operasi, CPU, memori, cakera: pemeriksaan automatik 24/7.

Keselamatan Muat Naik Fail (Tumpukan 7-Lapisan)

Perlindungan terhadap malware, serangan polyglot, SVG-XSS, laluan-traversal, MIME-sniffing

Lapisan 1: Pintu Saiz Mutlak (100 MB)
Had keras terhadap bom zip + DoS. Multer + pertahanan dalam kedalaman.
Lapisan 2: Pintu Saiz Mengikut Jenis
Imej 5 MB, PDF 20 MB, video 100 MB. Had spesifik jenis.
Lapisan 3: Senarai Putih MIME + Senarai Hitam
22 jenis dibenarkan. HTML/JS/EXE/SH/JAR secara eksplisit disekat (vektor XSS).
Lapisan 4: Sanitasi Nama Fail
Perjalanan laluan (../), byte-null, nama yang diperuntukkan Windows disekat.
Lapisan 5: Pengesahan Magic-Byte
Kandungan fail MESTI sepadan dengan sambungan + MIME. Perpustakaan jenis fail mengesan serangan 'evil.exe dinamakan semula picture.jpg'.
Lapisan 6: Sanitasi SVG
DOMPurify menghapus tag <script> yang disematkan dari SVG. Tanpa sanitasi, muat naik SVG adalah vektor XSS biasa.
Layer 7: virus scan
Server-side virus scan before storage, provided the scanner is running on the server. If it is missing, that is logged rather than passed over silently.

Pertahanan XSS dalam Kedalaman (4 Lapisan)

XSS yang disimpan, dipantulkan, DOM, rantaian bekalan. Semua vektor dilindungi.

Lapisan 1: React JSX Auto-Escape
Semua input pengguna di-escape secara lalai. <script> tag dipaparkan sebagai teks, tidak pernah dilaksanakan. Peraturan kod: jangan pernah menggunakan dangerouslySetInnerHTML dengan input pengguna.
Lapisan 2: Sanitizer DOMPurify
sanitizeProse() + sanitizeEmailPreview() membersihkan artikel-HTML, pratonton-email + markdown. Mengeluarkan <script>, <iframe>, pengendali on*, javascript:/data: URI.
Lapisan 3: CSP script-src 'self'
Walaupun lapisan 1+2 gagal: penyemak imbas menyekat skrip asing. Senarai putih hanya untuk Stripe + Turnstile captcha.
Lapisan 4: Jenis Dipercayai (Admin)
require-trusted-types-for 'script' di admin.wavor.io memaksa setiap manipulasi DOM melalui polisi. Mencegah pepijat perpustakaan daripada menyebabkan DOM-XSS.

Peta Jalan Pensijilan

Kami telus: Kami sedang membangunkan dan belum mempunyai pensijilan formal. Tetapi kami sudah melaksanakan piawaian dan sedang berusaha ke arah itu.

DSGVO / GDPR (EU)
Dilaksanakan
UK GDPR (Data Protection Act 2018)
Dilaksanakan
LGPD (Brasilien)
Dilaksanakan
DPDP Act 2023 (Indien)
Dilaksanakan
AVG (Niederlande)
Dilaksanakan
FADP (Schweiz)
Dilaksanakan
ePrivacy (Cookie-Consent)
Dilaksanakan
DSA (Digital Services Act)
Dilaksanakan
SOC 2 Type II
Dirancang
ISO 27001:2022
Dirancang
ISO 27017 + 27018 (Cloud)
Dirancang
ISO 27701 (Privacy)
Dirancang
ISO 42001 (AI Management)
Dirancang
BSI C5 Type II
Dirancang
CSA STAR Level 1
Dirancang

Kami juga selaras dengan Akta AI EU, NIS2 dan GoBD (perakaunan Jerman). Ini adalah peraturan, bukan pensijilan.

Laporkan Isu Keselamatan

Menemui kerentanan? Laporkan secara sulit kepada pasukan kami. Kami mengambil setiap laporan dengan serius dan akan menghubungi anda secepat mungkin.