PushizoDocs

Değişiklik günlüğü

Biçim: Keep a Changelog; sürümleme semver. Yeni değişiklikler en üstte [Yayınlanmamış] başlığı altında toplanır; sürüm etiketinden (vX.Y.Z) önce başlık sürüm numarası ve tarihle değiştirilir (release iş akışı bu bölümü…

Biçim: Keep a Changelog; sürümleme semver. Yeni değişiklikler en üstte [Yayınlanmamış] başlığı altında toplanır; sürüm etiketinden (vX.Y.Z) önce başlık sürüm numarası ve tarihle değiştirilir (release iş akışı bu bölümü GitHub Release notu olarak yayınlar).

[1.0.0] - 2026-10-16

İlk genel üretim sürümü (pushizo.com). 0.6.0 sonrasındaki tüm geliştirme bu sürümde toplanmıştır; ayrıntılar aşağıdaki alt bölümlerde.

Öne çıkanlar

  • Pushizo marka adı: ürün HeroSignal'den Pushizo'ya taşındı; paketler @pushizo/*, imajlar ghcr.io/exec0de/pushizo-*, SDK paket adları ve varsayılan API kökü https://api.pushizo.com, hata dokümantasyonu https://docs.pushizo.com/errors.
  • v2 fazları (15–21): kurumsal kimlik (SAML/OIDC SSO, SCIM, JWT kimlik doğrulama), ölçek mimarisi (ClickHouse, Kafka, Go dispatcher, Helm), iOS Live Activities, Huawei HMS, konum; sürükle-bırak e-posta editörü, HTML in-app, şablon galerisi, Data Feeds, Dynamic Content, AI içerik asistanı; WhatsApp, RCS, iki yönlü SMS, teslim edilebilirlik; Event Streams, veri ambarı dışa aktarımı, hazır entegrasyonlar ve MCP sunucusu; veri yerleşimi (EU/TR), white-label ve bayi.
  • Platform yönetim paneli (/admin): organizasyonlar, hesaplar, faturalama, özellik bayrakları, kötüye kullanım, destek, olaylar (incident), app taşıma onayları, sistem sağlığı ve denetim kaydı; gerekçe zorunlu işlemler, MFA'lı yönetici erişimi (ADMIN_MFA_REQUIRED).
  • OneSignal tarzı kurulum akışı: "Başlarken" ve SDK kurulum sayfaları (platform seçimi, adım adım kurulum, kod örneklerinde genel API adresi).
  • Tanıtım sitesi ve SEO: apps/web (pushizo.com) — çok dilli statik sayfalar, sitemap, robots, llms.txt, OG görselleri, IndexNow; dokümantasyon sitesi docs.pushizo.com.
  • Yayına alma: tek sunucu Docker Compose üretim yığını (nginx + Let's Encrypt, www → kök alan adı yönlendirmesi), isteğe bağlı staging, e-posta öncelikli Alertmanager, ayrı kimlik bilgili sunucu dışı yedek, üretimde zayıf/varsayılan gizli değerlerin reddi (SESSION_SECRET ≥ 32, geliştirme S3 parolası, yerel SMTP).

v2 Faz 15, 16, 17a ve 17b (2026-10-15, ADR-0023…0026)

Eklendi

  • Kurumsal kimlik (Faz 15): SAML 2.0 ve OIDC SSO (alan adı DNS doğrulaması, JIT, IdP grup → rol, test girişi, "yalnızca SSO" ve sahip kurtarma kodları), SCIM 2.0 (/scim/v2/Users, /Groups), org'lar arası app taşıma (iki sahip + platform admin onayı), olay başına saklama süresi, SIEM denetim akışı (audit.created webhook'u ve günlük NDJSON).
  • JWT identity verification: app başına ES256 genel anahtarları (/v1/apps/:appId/identity-keys), identity_verification_mode (hmac | jwt | both); Web/Android/iOS/Flutter/RN/Capacitor/Cordova/MAUI/Unity SDK'larında login(externalId, { jwt }) ve updateUserJwt; Node/PHP/Python/Go/Java/.NET/Ruby sunucu SDK'larında belirteç üretme yardımcısı.
  • iOS Live Activities (Faz 17a): tür kaydı ve şema doğrulaması, POST /v1/apps/:appId/live-activities/:activityType/start|update|end, SDK push-to-start/güncelleme belirteci uçları (sahiplik kanıtı zorunlu), APNs liveactivity yükü, journey live_activity düğümü (Liquid + şema çevirisi), dashboard Live Activities sayfası, iOS SDK Pushizo.LiveActivities.register ve köprülerde genel tür.
  • Huawei HMS, Flutter web, Mac Catalyst, konum (Faz 17b, ADR-0025): hms_push kanalı ve Push Kit sağlayıcısı (OAuth, data mesajı, doğrulama), Android pushizo-hms modülü, Flutter web (Web SDK köprüsü), iOS Mac Catalyst; tüm SDK'larda Location.setShared/isShared/requestPermission (yalnızca ön plan, KVKK rıza kaydı, kapatınca silme), segmentte "yarıçap içinde" koşulu, dashboard Huawei kanal kartı ve kullanıcı konumu.
  • Ölçek mimarisi (Faz 16, ADR-0026): ClickHouse analitik deposu (outbox aktarımı, AnalyticsStore, dual karşılaştırma, backfill, saklama/silme yansıtması), isteğe bağlı Kafka olay ingest yolu (packages/ingest), Go dispatcher (services/dispatcher, TS ile ortak test vektörleri), Helm 0.2.0 (PDB, NetworkPolicy, ExternalSecrets, KEDA, blue/green, dispatcher), k6-operator yük testi manifestleri; yerelde ClickHouse ve Kafka kurulumu (infra:install).
  • Migration 0029_enterprise_identity, 0030_live_activities, 0031_hms_push, 0032_subscription_location, 0033_analytics_outbox; dashboard Organizasyon → Güvenlik sayfası, admin app taşıma sayfası, girişte SSO.

Faz 0–14 denetimi ve güvenlik sertleştirmesi (2026-10-15, ADR-0022)

Güvenlik

  • Yol kanonikleştirme ve rota desenine göre kimlik türü (API anahtarı yalnızca /v1, oturum yalnızca /internal//admin); /internal ve /admin mutasyonlarında köken + içerik türü denetimi; HTML yanıtlarına CSP.
  • TRUST_PROXY ile sınırlı vekil güveni (XFF sahteciliğiyle IP izin listesi/hız sınırı atlatılamaz); IPv6 CIDR izin listesi.
  • API anahtarı kapsamı rol iznine bağlandı; app kapsamlı üyeler için org geneli işlem ve okuma sınırları.
  • Giriş kilidi atomik ve fail-closed, hesap başına MFA sınırı, MFA değişince oturumların kapatılması, OAuth ön-ele geçirme koruması ve onaylı hesap bağlama, güvenli next yönlendirmesi.
  • SDK sahiplik kanıtı e-posta/SMS yeniden kaydına, olaylara, in-app/inbox ve tercih uçlarına genişletildi (ADR-0016 K7–K9).
  • SSRF: Web Push uç noktası ve FCM token_uri izin listeleri, kiracı SMTP sunucusu için özel adres reddi ve IP sabitleme; Liquid sandbox; doğrusal e-posta HTML işleme (ReDoS); tehlikeli URL şemaları reddi.
  • Resend imza zorunluluğu (üretim), SNS TopicArn/tazelik; hook token'larının log maskelemesi; MinIO en az yetkili servis kullanıcısı; API Explorer SRI.

Eklendi

  • Başarısız kuyruk işleri (DLQ) listesi ve yeniden deneme (admin), kanal durumu ucu, olay tanımlarında imleç sayfalama, kampanya onayında kota önizlemesi, segment/şablon arama.
  • Migration 0026 (tercih FK), 0027 (teslimat sahiplenme kirası), 0028 (partition RLS).
  • npm run setup ve docs/YENI_BILGISAYAR.md (yeni bilgisayarda tek komut kurulum, yerel parolalar); .gitattributes (betikler LF).

Düzeltildi

  • Eşzamanlı dispatch aynı teslimatı iki kez gönderebiliyordu; delivered durumu sent ile eziliyordu.
  • Kampanya PATCH'i gönderilmeyen alanları varsayılana döndürüyordu; düzenleme sonrası onay korunuyordu.
  • Kullanıcı birleştirmede tercihler kayboluyordu; silme birleşik kayıtları bırakıyordu.
  • CI: ESLint bellek yetersizliği (çıkış 134); Node 20 tabanlı action sürümleri güncellendi.

Faz 11–14 ve denetim turu (2026-10-08 … 2026-10-14)

Eklendi

  • Journey'ler (Faz 11, ADR-0018): 13 düğüm türlü motor (bekleme, koşul, split, zaman penceresi, gönderim A/B, webhook, tag), giriş/çıkış kuralları, hedefler, takvim, sürümleme, çökme sonrası kurtarma; React Flow builder, run zaman çizelgesi, journey.* webhook'ları; gönderim düğümünde tercih kategorisi.
  • A/B ve tercihler (Faz 12, ADR-0019): kampanya/journey/in-app A/B (deterministik atama, holdout, z-testi, otomatik/elle kazanan; in-app kazanan 0024), kategoriler ve kullanıcı tercihleri (API, tüm istemci SDK'ları dahil RN/Capacitor/Cordova/MAUI/Unity, barındırılan tercih merkezi), etiketler, şablon analitiği, çoklu frekans pencereleri, outcome türleri (unique/unattributed), usage_duration segmenti, retention kohortu, SMS HELP/STOP yanıtları.
  • Faturalama ve platform (Faz 13, ADR-0020): plan matrisi, deneme, kota ve özellik kapıları, Stripe/iyzico/mock, kullanım raporu, kötüye kullanım incelemeleri, askıya alma, platform admin ve denetim kaydı, support session, feature flag'ler, status sayfası (+ e-posta aboneliği 0025), OAuth girişi ve hesap bağlama, Composer rolü.
  • Operasyon (Faz 14): Docker/compose/Helm, CI/CD (release, SDK yayını, E2E, Stripe test modu, gitleaks, Dependabot, PR imaj derleme), Prometheus/Grafana/Alertmanager, Sentry, sentetik izleme, kaos tatbikatı, wal-g + günlük temel yedek, runbook'lar, docs-site (+ dağıtım), OneSignal göç aracı, Postman koleksiyonu, GO_LIVE_CHECKLIST.md.

Güvenlik

  • Üretim Postgres'te uygulama rolü NOSUPERUSER/NOBYPASSRLS (RLS gerçekten uygulanır); API/worker açılışta rolü denetler.
  • Faturalama tablolarına RLS (0022); OAuth giriş CSRF koruması; support session için MFA; üretimde mock sağlayıcı yalnızca açık izinle; log maskelemesine OAuth/MFA parametreleri.

Düzeltildi

  • Netgsm gelen kutusunda HELP aboneliği yeniden açıyordu.
  • Kategori opt-out'u kategoride tanımlı olmayan kanalları da bastırıyordu.
  • Deneme süresi, yönetici tarafından atanmış daha yüksek planı Starter'a düşürüyordu.
  • Kuyruk derinliği metriği öncelikli (prioritized) işleri saymıyordu (alarmlar/KEDA kördü).
  • Duman testi dışarıya kapalı /readyz'yi çağırıyordu; imzalı indirme bağlantıları /storage önekiyle SigV4 doğrulamasından geçemiyordu.
  • A/B kampanyada bildirim kutusu öğesi varyant içeriğini kullanmıyordu; varyant içeriği hazır kontrolünde doğrulanmıyordu.

[0.6.0] — 2026-10-07 (Faz 10: e-posta, SMS, in-app, bildirim kutusu)

Eklendi

  • E-posta: SMTP, Amazon SES (SigV4), Resend sağlayıcıları; MJML/HTML gövde (Liquid çıktısı HTML kaçışlı), ön başlık, düz metin sürüm; HMAC imzalı açılma pikseli ve tıklama yönlendirmesi (açık yönlendirme yok), RFC 8058 tek tık List-Unsubscribe (/t/o, /t/c, /t/u), tr/en altbilgi; DKIM/SPF/DMARC rehberi.
  • SMS: Twilio ve Netgsm (encoding: TR, İYS filtresi); kısa link (/t/s), GSM-7/UCS-2/Türkçe kaydırma segment sayımı (smsSegments), STOP/START (Twilio gelen mesaj, Netgsm gelen kutusu sorgusu, genel webhook).
  • Gelen geri bildirim: /hooks/email/{ses|resend|smtp|mock}/{token}, /hooks/sms/{twilio|mock}/{token} (SNS/Svix/Twilio imzaları); bounce/complaint/teslim/açılma/tıklama teslimata, sayaçlara ve webhook'lara işlenir; Netgsm rapor sorgusu.
  • Suppression list: özet + maskeli değer; audience ve gönderim anında kontrol; internal + public API, dashboard ekranı.
  • In-app mesajlar: blok tabanlı modal/banner/tam ekran, tetikler (oturum, olay, ekran, trigger), segment kitlesi, sıklık, istatistik; Web/Android/iOS/Flutter render ve InAppMessages API'si; dashboard editörü ve canlı önizleme.
  • Bildirim kutusu: add_to_inbox mesajları; SDK Inbox (liste, okundu, tümü, arşiv) ve uçları; kullanıcı detayında inbox.
  • SDK: User.addEmail/removeEmail/addSms/removeSms (anonim kullanıcıya user.subscription_id ile bağlama); Node hs.suppressions, PHP Suppressions; örnek uygulamalar güncellendi.
  • Dashboard: E-posta/SMS kanal ayarları ve webhook adresi kartı, kampanya/şablon editöründe E-posta ve SMS sekmeleri (MJML editörü + sandbox önizleme, segment sayacı).
  • Migration 0015_email_sms_inapp_inbox (up/down); ADR-0015; docs/messaging.md; metrikler messaging_feedback_total, suppression_entries_total; E2E messaging.spec.ts, in-app-inbox.spec.ts.

Düzeltildi (Faz 10 eksik turu)

  • Hedefte kanal verilmeyen push mesajı/kampanyası artık e-posta/SMS abonelerine push metniyle gitmez: kanallar içerikten çıkarılır (push → push kanalları, email_* → e-posta, SMS yalnızca açıkça); hedeflenen kanalın içerik eksiği 422.
  • Tekrarlanan tek tık abonelikten çıkma ve şikâyet olayları sayaçları ikinci kez artırmaz.
  • SES/SNS geri bildiriminde konu bölgesi kanalın SES bölgesiyle eşleşmeli.
  • In-app gösterim kayıtları olay saklama süresine (global + organizasyon) tabi; süreli suppression kayıtları bitişte silinir.
  • In-app mesaj kitlesinde kullanılan segment silinemez (409).
  • Kök npm run dev 17 kalıcı görevle turbo'nun varsayılan eşzamanlılık sınırına (10) takılıyordu; --concurrency=32 (Playwright webServer yeniden sunucu başlatabilir).

Değişti

  • E-posta/SMS abonelik token'ları kayıt ve CSV içe aktarmada kanonik biçime getirilir (küçük harf e-posta, E.164); geçersiz değer 400.
  • E-posta/SMS kanalında mock dışı sağlayıcı artık 501 değil, kanalla uyumsuz sağlayıcı 400.
  • ci:local OpenAPI denetimi birleşim (oneOf/anyOf) varyantlarını ayırt eder: yeni varyant kırıcı sayılmaz, mevcut varyanta zorunlu alan eklemek sayılır.

[0.5.0] — 2026-10-07 (Faz 9: webhook'lar)

Eklendi

  • Giden webhook'lar: endpoint yönetimi (internal + public admin), 20 olay türü, HMAC-SHA256 imza (Pushizo-Signature), 24 saatlik secret rotasyonu, özel başlıklar (şifreli), batch modu (delivery.* 100'erli), test gönderimi, teslim geçmişi, tekil/toplu replay.
  • Teslim motoru: transactional outbox + worker taraması (ADR-0014), üstel yeniden deneme (1 dk → 24 sa, 7 istek sonra dead), SSRF koruması (https, özel IP/yerel ad reddi, DNS sonrası IP sabitleme, yönlendirme yok), endpoint sağlığı (7 gün failing + e-posta, 14 gün disabled), 30 gün saklama, webhook_deliveries_total metriği.
  • SDK: Node verifyWebhookSignature / constructWebhookEvents / hs.webhooks; PHP Pushizo\Webhook.
  • Dashboard: Webhooks liste ve detay ekranları, imza doğrulama örnekleri; trace'te webhook teslimleri.
  • Migration 0014_webhooks (up/down); docs/webhooks.md; E2E webhooks.spec.ts.

Düzeltildi (Faz 9 eksik turu)

  • Kullanıcı silme ve app veri temizliği webhook teslim geçmişindeki kişisel veriyi de siler (KVKK/GDPR).
  • Webhook taraması: endpoint başına kota ve eşzamanlılık sınırı, devre kesici, kira korumalı gönderim (çok worker'da çift gönderim önlenir).
  • event.received aboneliğinde olay adı filtresi zorunlu; başarısız test gönderimi endpoint sağlığını etkilemez; alias/external_id değişiminde user.updated; alias ekleme çakışması transaction'ı bozmaz; 64 KB üzeri yük kesilir.
  • Bildirim merkezinde sorunlu webhook'lar; gecikme metrikleri ve tests/load/webhooks-bench.mjs (p95 4,5 sn).

[0.4.0] — 2026-10-07 (Faz 0–8 derin denetim ve eksik kapatma)

Eklendi

  • Veri & Gizlilik: organizasyon silme (30 gün bekleme sonrası kalıcı temizlik), org saklama süresi ve oturum süresi politikaları, org veri dışa aktarma talebi, app verilerini temizleme; "beni hatırla" girişi.
  • API: Idempotency-Key başlığı, filter[...] ve sort parametreleri, export/import cursor sayfalaması, bildirim geçmişi (GET /v1/notifications/{id}/history), ?kind= filtresi, X-HTTP-Method-Override, SDK alias ve dismissed uçları, SDK hata raporları, kanal kimlik bilgisi dosya yükleme, statik segmentler (segments/{id}/refresh), bildirim merkezi, kullanıcı son mesajları, kampanya canlı akışı (SSE), genel bakışta özel tarih aralığı ve son kampanyalar, web push istem/SW ayarları SDK config'te, public organizasyon/üye/audit uçları.
  • Teslimat: FCM data-only ve ortak hs {dlv, msg, url, buttons} payload alanı, 4 KB payload sınırı, cihaz bazında APNs ortamı, iOS rozet artırma, app başına adil sıralama ve sağlayıcı hız sınırı, rate_limited için deneme sayılmayan erteleme, kimlik bilgisi reddinde sahibine e-posta, mock:open, test cihazı adları.
  • SDK'lar: Android 12+ uyumlu bildirim açma, token değişiminde güncelleme, alias API'si (Web/Android/iOS/Flutter), Flutter ön plan engelleme, iOS NSE rozet/kategori birleştirme, web slidedown kaydırma tetikleyicisi ve kategoriler, SW yeniden deneme, SDK hata raporlama, Node SDK notifications.history.
  • Dashboard: ⌘K komut paleti, bildirim zili, global app seçici; request_id'li hata durumları; DataTable/CodeBlock/DateRangePicker/JsonViewer/Stepper; yerel sayı biçimi ve hesap saat dilimi; API anahtarı süresi; gönderim onay modalı; kişiselleştirme değişken seçici; web izin istemi tasarımcısı; kullanıcı detayı düzenleme; SDK hataları log sekmesi.
  • Araçlar: npm run ci:local (OpenAPI kırıcı değişiklik, npm audit, gizli bilgi taraması, i18n, migration çiftleri), npm run openapi:baseline, k6 olay ingest betiği.
  • Migration'lar 0010–0013 (up/down); ADR-0011, ADR-0012, ADR-0013.

Değişti

  • Kiracı dışı erişim her zaman 404 HS_NOT_FOUND (ADR-0011); geçersiz cursor 400 HS_VALIDATION_ERROR.
  • Analitik açılma/tıklama sayıları teslimat satırındaki zaman damgalarından hesaplanır (olay saklama süresinden bağımsız).
  • Depolama anahtarları org/{org_id}/app/{app_id}/… önekli; istek logu kimlik öneki rlg_.

Güvenlik

  • fastify 5.11.3 → 5.12.5 (yüksek önem, 7 GHSA), js-yaml 5.3.0 → 5.4.3 (overrides); TOTP tekrar kullanım engeli, API anahtarı iptal önbelleği yarışı, artan giriş gecikmesi, JSON derinlik ve gövde boyutu sınırları, aktif DEK önbelleğinin rotasyonu algılaması.

[0.3.0] — 2026-10-07 (Faz 8: olaylar, analitik, dönüşüm, export/import)

Eklendi

  • Olay işleme: toplu referans çözümleme ile ingest, events kuyruğu (tanım kaydı, kullanıcı × olay × gün sayaçları, son etkinlik), dönüşüm atribüsyonu (direct_click / influenced, kampanya ve mesaj converted sayaçları), canlı olay akışı (SSE).
  • Analitik API ve ekranları: teslimat (gün/kanal/kampanya), abonelik büyümesi, olay hacmi, dönüşüm/gelir, funnel, sağlayıcı sağlığı (hata kodları, gecikme p50/p95), etkileşim ısı haritası; tarih aralığı, önceki dönemle karşılaştırma, CSV export; ECharts grafikleri.
  • Export/Import: CSV export işleri (users/subscriptions/events/deliveries → S3 uyumlu depolama, imzalı indirme bağlantısı), Pushizo CSV ve OneSignal player CSV içe aktarma (hata raporu), packages/storage SigV4 istemcisi.
  • Retention: olay/teslimat/teslimat olayı/audit saklama süreleri partition düşürme ile uygulanır; event_definitions.count_30d günlük yeniden hesap.
  • Dashboard: Olaylar, Analitik ve Dışa/İçe Aktarım ekranları; segment olay koşulları user_event_counts ile hızlandırıldı. Migration 0009_events_analytics (up/down).

Performans

  • 1M olay ingest tek API sürecinde 11679 olay/sn (hedef ≥ 5k); 100.000 kullanıcı export 2,0 sn (18,1 MB CSV, hedef < 60 sn); 1M olay ingest sırasında worker olay işlemesi eşzamanlı çalıştı.

[0.2.0] — 2026-10-07 (Faz 7: segmentler, şablonlar, kampanyalar)

Eklendi

  • Segmentler: iç içe all/any/none koşul AST'si → parametrik SQL derleyici (tag/özellik/dil/cihaz/semver/olay sayısı/mesaj etkileşimi/segment üyeliği), canlı önizleme ve önbellekli tahmin uçları, dashboard segment builder.
  • Şablonlar: sürümlü mesaj şablonları (template_versions), geri alma, Liquid render önizlemesi; POST /v1/notifications içinde template_id.
  • Kampanyalar: durum makinesi (taslak/zamanlandı/çalışıyor/duraklatıldı/tamamlandı/iptal/başarısız), planlı ve tekrarlı (cron + saat dilimi) gönderim, kullanıcı saat dilimi ve akıllı teslimat, hız sınırı, frekans/sessiz saat istisnaları, onay akışı (settings.campaignApprovalRequired), kopyalama, istatistik/rollup uçları; dashboard 5 adımlı kampanya oluşturucu ve detay ekranı.
  • Worker: scheduler kuyruğu (planlı tarama, tekrarlı tetikleme, saatlik delivery_event_rollups, kampanya kapanışı); duraklatılmış kampanya teslimatlarının ertelenmesi.
  • Hedefleme: included_segments, excluded_segments, filters, all ve delayed_option artık Public API'de çalışır (Faz 4 501 yanıtları kaldırıldı).
  • Migration 0008_campaigns (up/down), RLS politikaları; E2E campaign.spec.ts; erişilebilirlik taraması Faz 7 ekranlarını kapsar.
  • Tamamlama turu: Teslimat politikaları ekranı (sessiz saat, frekans sınırı, varsayılan TTL); segmentin kullanıldığı kampanyalar; kampanya listesinde tür/kanal filtresi ve iptal; kampanya detayında abone bazlı teslimat tablosu ve "başarısızlara yeniden gönder"; ad yazarak iptal onayı; Kullanıcılar sayfasında segment builder filtresi ve POST /v1/apps/{app_id}/users/search; hedef kitle snapshot'ı (segment_snapshot); TABLESAMPLE ile büyük tablo tahmini; builder between/subscription.status; içerik editöründe kanal sekmeleri; Chrome önizleme çerçevesi.

[0.1.0] — 2026-10-06 (MVP: Faz 0–6)

Eklendi

  • Altyapı (Faz 0): npm workspaces + Turborepo monorepo; NestJS 11 + Fastify API; BullMQ worker; Next.js 16 dashboard; Drizzle + SQL migration'lar (up/down); pino + Prometheus metrikleri; OpenAPI üretimi ve tip güvenli istemci.
  • Kimlik ve kiracılık (Faz 1): kayıt/giriş/e-posta doğrulama/parola sıfırlama, oturum yönetimi, TOTP MFA + kurtarma kodları, giriş kilidi; organizasyon/üyelik/davet, roller ve app kapsamı, API anahtarları (scope, iptal ≤ 60 sn önbellek), audit log, Redis hız sınırı, Postgres RLS ikinci savunma hattı, org MFA zorunluluğu ve IP izin listesi.
  • Son kullanıcı kimliği (Faz 2): end user / alias / abonelik modeli, anonim → kimlikli birleştirme, tag/özellik merge-patch, identity verification (HMAC), SDK API (/sdk/v1), public Users/Subscriptions API, KVKK/GDPR silme ve veri dışa aktarma.
  • Sağlayıcılar (Faz 3): envelope encryption (DEK + MASTER_KEY, rotasyon komutları), APNs HTTP/2, FCM HTTP v1, Web Push (VAPID), mock sağlayıcı, kanal doğrulama uçları.
  • Teslimat motoru (Faz 4): POST /v1/notifications (idempotency), audience/dispatch worker'ları, LiquidJS kişiselleştirme, bastırma (frekans sınırı, sessiz saat), planlı yeniden deneme, sayaçlar, trace ekranı, test cihazları, kuyruk-veritabanı uzlaştırma işi.
  • SDK'lar (Faz 5): Web (@pushizo/web), Android, iOS (+ Notification Service Extension), Flutter, Node, PHP; örnek uygulamalar ve docs/sdk/* rehberleri.
  • Dashboard çekirdeği (Faz 6): onboarding stepper (simülasyon modu, canlı cihaz algılama, test push), Genel Bakış KPI'ları, SDK Kurulumu, Test Cihazları, API Explorer, Loglar; tr/en, koyu tema, axe erişilebilirlik taraması.

Güvenlik

  • Güvenlik başlıkları (CSP, HSTS, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, X-Frame-Options) API ve dashboard'da.
  • Gizli bilgiler (p8, servis hesabı, VAPID private, SDK secret) yalnızca şifreli saklanır; API'den geri okunamaz.

Bu sayfada