Eleştirmen erişimi ve izinler
Projende kim feedback bırakabilir — açık erişim vs davet listesi, eleştirmen davet etmek, kaldırmak ve 403 hatalarının ne anlama geldiği.
Projende kimin feedback gönderebileceğini iki soru belirler: bu proje herkese açık mı, yoksa yalnızca davetli mi? ve bu e-posta davet listesinde mi? Bu sayfa her ikisini de anlatır.
Açık erişim vs davet listesi
Her projenin tek bir toggle’ı var — Açık erişim — erişim modunu çevirir.
- Açık erişim KAPALI (varsayılan) — yalnızca davetli eleştirmenler + workspace üyeleri gönderebilir. Widget’ın e-posta-OTP modal’ı yalnızca projenin eleştirmen listesindeki e-postalardan kod kabul eder.
- Açık erişim AÇIK — sayfaya ulaşan herkes e-postasını doğrulayıp gönderebilir. Widget ilk OTP’de eleştirmen kaydını otomatik oluşturur.
Projenin düzenleme panelinden çevir. Tavsiye:
Production için kapalı — dashboard sinyal/gürültü oranını yüksek tutar. Public beta testleri için açık — gerçek ziyaretçilerden istenmeyen geri bildirim istersin.
İstediğin zaman çevirebilirsin. Mevcut eleştirmen satırları her iki yönde de hayatta kalır; toggle sadece kimin YENİDEN doğrulayabileceğini değiştirir.
Eleştirmen davet etmek
Admin’deki projenin eleştirmen listesinden: + Eleştirmen ekle → e-posta gir → kaydet. Her davetli için tekrarla. Varsayılan olarak bildirim e-postası gitmez — sayfa URL’ini sen paylaş (Slack, e-posta, proje takipçisi).
Workspace üyeleri (PinAppAI workspace’ine eklediğin herkes), proje-başına eleştirmen kaydı gerekmeden örtük olarak izinlidir. İç ekipler için kullanışlı.
Eleştirmen kaldırmak (iki aşamalı)
Bir eleştirmen satırındaki Kaldır düğmesi, Çöp Kutusu → Çöpü Boşalt kalıbını yansıtan iki aşamalı bir aksiyondur:
- Aktif bir eleştirmene ilk tıklama → soft-revoke (
status='revoked'). Satır listede REVOKED rozetiyle kalır; kimin eskiden erişimi olduğunu görebilirsin. Zaten gönderilmiş feedback’ler dokunulmadan hayatta kalır. - Revoke edilmiş bir eleştirmene ikinci tıklama → satırı tamamen siler. Liste’den tamamen kalkar.
İki aşama bilinçli — revocation ruh olarak geri alınabilir (kimin eskiden eleştirmen olduğuna dair audit trail), ama hard-delete değil. Gönderilmiş feedback satırları her iki aşamayı da hep atlatır — eleştirmenin user hesabını referanslar, project_reviewer satırını değil.
Eleştirmenler için 403 hataları ne anlama geliyor
OTP modal’ı, bir eleştirmen giremezse kendin teşhis edebilmen için spesifik 403 mesajları yüzeye çıkarır:
| Modal metni | Ne demek | Nasıl düzeltilir |
|---|---|---|
| ”Bu site projenin allowed-origins listesinde değil…” | Sayfanın origin’i (örn. https://staging.siten.com) projenin allowed_origins’ünde değil | Admin → proje düzenle → Allowed origins’tan origin’i ekle |
| ”Bu e-posta projenin eleştirmen listesinde değil…” | Eleştirmenin e-postası listede yok VE açık erişim kapalı | Ya e-postayı eleştirmen olarak ekle, ya da Açık erişim’i aç |
| Başka bir mesaj | API literal mesajı döndürdü — genelde eski bir data-project anahtarı | Script tag’in mevcut projenin API anahtarıyla eşleştiğini doğrula |
Bu detaylı mesajlar, sahipleri kör hâlde bırakan eski “izniniz yok, proje sahibiyle iletişime geçin” generic mesajının yerini aldı.
API anahtarı vs eleştirmen
İki ayrı kavram:
pk_*(widget anahtarı) — widget script tag’ine gömülür. Public, tek bir projeye kapsamlandırılmış, müşteri tarafına çıkan HTML’inde olmak üzere tasarlanmış. Tek başına feedback gönderemez; yalnızca widget’ın hangi projeye ait olduğunu belirtir.- Eleştirmen token’ı (
pt_*) — OTP doğrulamasından sonra Better Auth tarafından üretilir. Widget tarafından localStorage’a kaydedilir. Her feedback POST’unda gerekli. Eleştirmen-başına, browser-başına.
Bir eleştirmeni revoke etmek localStorage token’ını anında geçersiz kılmaz — ama o token’ın bir sonraki POST denemesi API gate’inde reddedilir, böylece kullanıcı submit anında kilitlenir. Yeniden denediğinde modal’da detaylı 403’ü görür.
Workspace rolleri (gelişmiş)
Workspace’lerin dört rolü var: owner > admin > editor > viewer. Proje erişimi workspace üyeliğinden akar: herhangi bir workspace üyesi workspace’teki herhangi bir projede feedback gönderebilir. Yalnızca owner + admin API anahtarlarını ve proje ayarlarını yönetebilir. Viewer ve editor’ler gönderebilir ama yapılandıramaz.
Workspace üyelik değişiklikleri proje erişimine anında yansır — proje-başına sync yok.