Acces doar pentru conturile marcate ca admin în Supabase.
Autentificarea se face cu identitatea ta reală. Secretul partajat din browser nu mai este folosit.
Admin
—
Total organizații
—
Trial activ (org)
—
—
Plătitori (org)
—
€0
MRR estimat
—
Insights operaționale
Pulse de business, adopție și activitate: cine folosește platforma, ce acțiuni apar și unde ai blocaje pe funnel.
Organizații totale
—
—
Utilizatori activi (30z)
—
—
Acțiuni audit (7z)
—
—
Conversie trial → paid
—
—
Distribuție planuri
Top acțiuni (30z)
Acțiune
Count
Trend activitate audit (ultimele 14 zile)
—14 zile—
Organizații (model org-based)
Vizibilitate completă pe tenant: owner, membri activi, auditori și invitații pendinte.
—
Organizație
Plan
Owner
Membri activi
Auditori activi
Invitații
Creată
Acțiune
Se încarcă...
Control Auditori (Admin platformă)
Auditorii se adaugă doar de aici, după validare internă. Clienții nu pot atribui rolul auditor.
Auditor
Organizație
Rol
Activ din
Acțiune
Se încarcă...
Lead-uri (Enterprise / Partener / Auditor)
Aplicații primite de pe landing. Marchează progresul pentru tracking. Pentru auditori: după ce discuți cu aplicantul, invită-l via tab Auditori de mai sus.
Tip
Nume
Email
Companie
Data
Status
Acțiuni
Se încarcă...
Email
Plan
Trial / Expirare
Înregistrat
Ultima activitate
Paddle Sub.
Acțiuni
Se încarcă...
Ghid pentru admini CERTO
Cum funcționează platforma pentru cele 3 roluri principale și ce trebuie să faci tu, admin, la fiecare pas.
👤 Flow Client (User) — ce face un client obișnuit
Signup pe app.clearsecurity.vision → Supabase creează user cu role=owner într-o org nouă. Email confirmare trimis automat prin Supabase.
Onboarding wizard (2 pași): nume companie + sector NIS2 → scor inițial estimativ.
Gap analysis: 51 cerințe NIS2 evaluate la nivel 0-3. Scor precis = Σlevels / (51 × 3) × 100.
Generează documente din 17 template-uri (politică securitate, plan incidente, DPA etc.). Toate au placeholder-uri {{COMPANY}} completate cu datele companiei.
Raportează incidente cu tracking 24h/72h DNSC (praguri legale din Directiva 2022/2555).
Audit log cronologic — fiecare acțiune (scor actualizat, doc generat, incident) e timestampată în audit_log.
Trial 14 zile → dacă nu upgrade, tier devine expired (read-only). Upgrade prin Paddle checkout → webhook actualizează tier-ul automat.
Ce face admin-ul pentru un client:
Găsește userul: tab Utilizatori, search după email.
Extinde trial: buton „+30 zile" în row (edge function admin-update-user).
Schimbă tier manual: select trial | starter | business | expired — util pentru clienți enterprise plătiți offline.
Re-trimite email activare: din Supabase Dashboard → Auth → Users → Re-send confirmation (nu e încă în admin panel).
Șterge cont GDPR Art. 17: buton „Șterge" → confirm → edge function delete-account (cascade delete pe toate datele userului).
Insights: dashboard cu stat-uri agregate (total orgs, active users, coverage, conversion rate, top actions). Verifică trend-ul pe 14 zile.
Organizații: membrii fiecărei orgs, transfer ownership, view detalii. Useful când o companie schimbă responsabil NIS2.
Auditori: listă cu auditori aprobați, câți clienți are fiecare, când a fost activ ultima dată. Aici generezi coduri noi pentru auditori aprobați.
Lead-uri (badge roșu = pending): aplicații Partner / Auditor / Enterprise venite din landing. Aprobă / respinge. La aprobare auditor → se trimite email automat cu cod CERTO-XXXX-….
Utilizatori: CRUD pe tier, extensie trial, ștergere GDPR.
Rutină zilnică recomandată:
Verifică badge Lead-uri — dacă e > 0, răspunde în < 24h (lead-urile reci pierd interes).
Scan Insights — conversion rate care scade brusc = semnal de alarmă pe trial → paid.
Filtrează trial expiring în 3 zile — email manual dacă sunt clienți strategici.
Verifică audit log admin (în Supabase, tabel admin_audit) — orice acțiune ta e logată cu actor + target + timestamp.
Acțiuni ireversibile (ștergere cont, revocare auditor cu clienți activi) cer confirmare dublă. Gândește-te de 2 ori înainte să apeși „Confirm".
🔍 Flow Auditor — cum devine și ce face un auditor
Aplicație: auditorul completează formularul „Aplică pentru Program Auditor" pe landing → lead tip auditor creat în DB.
Aprobare admin: vezi lead în tab Lead-uri → buton „Aprobă + trimite link" → edge function admin-approve-auditor generează un token de invite (256-bit, hash salvat în auditor_invites) și trimite email cu link /auditor-signup?token=….
Generare cod pentru client: auditorul logged-in → buton „Generează cod pentru client" → edge function auditor-generate-code emite cod CERTO-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX (single-use, 48h expiry, hash salvat în auditor_codes). Plaintext returnat o singură dată — auditorul îl trimite manual la client (email / Slack / telefon).
Client adaugă auditor: clientul (owner/admin al org) deschide Setări → „Adăugare auditor" → introduce codul primit → edge function client-link-auditor validează codul → adaugă auditor ca organization_members cu role=auditor, status=active. Auditorul primește email notify.
Acces workspace partajat: auditorul vede datele clientului (read-only predominant; anumite acțiuni permise prin RLS). Izolarea între clienți e garantată de Row-Level Security pe auditor_assessments.
Revocare: clientul revocă oricând din UI → edge function revoke-member. Sau admin revocă din panel (buton „Revocă" în tab Auditori).
Ce face admin-ul cu auditorii:
Aprobă aplicații noi din tab Lead-uri — emite token de invite + email automat.
Monitorizează activitate în tab Auditori: câți clienți are fiecare, dată ultim login. Zero clienți după 60 zile = auditor inactiv, poate fi dezactivat.
Dezactivează auditor problematic: set status=inactive pe toate membership-urile lui (SQL manual sau UI viitor).
Flag abuz: un cod auditor folosit de > 10 orgs → posibil share-uit în comunitate. Investighează.
⚙️ Edge Functions — referință rapidă
Funcție
Triggered by
Face
admin-get-data
Admin panel load
Returnează users + stats (verifică is_admin)
admin-update-user
Admin click pe row
Schimbă tier / extinde trial
admin-update-lead
Admin aprobă/respinge lead
Update status lead + trigger email
admin-approve-auditor
Admin aprobă aplicație auditor (Lead)
Update lead status + generează invite token (256-bit) în auditor_invites + email cu link /auditor-signup?token=…
auditor-signup
Auditor click pe link invite + setează parolă
Validează invite token + creează user Supabase + profiles.user_type='auditor' + invite marked used
auditor-generate-code
Auditor logged-in generează cod pentru client nou
Creează cod CERTO-XXXX-… (256-bit, single-use, 48h expiry, hash în auditor_codes) — plaintext returnat o singură dată
client-link-auditor
Client (owner/admin) introduce codul primit de la auditor