Securitate
Cu cheia API se poate citi catalogul companiei și se pot crea cereri în numele site-ului ei. Tratați-o ca pe o parolă.
Cheia — doar pe server
- Păstrați cheia în variabilele de mediu ale serverului (
TYPE_API_KEY), nu în cod. - Niciodată în browser: nici în componentele de client, nici în variabilele
NEXT_PUBLIC_*/VITE_*, nici în HTML-ul și JS-ul paginii. CRM-ul oricum nu răspunde browserului (fără CORS), iar pachetul@type/site-clientaruncă o eroare la import într-un bundle de browser. - Niciodată în depozit: adăugați
.env*în.gitignore; în README și exemple — doar înlocuitori de formatk_<key_id>_<secret>. Cheile încep cutk_— asta ajută scanerele de secrete să găsească scurgerile. - Nu scrieți în jurnale cheia și antetul
Authorization. Pachetul nu include cheia în mesajele erorilor. - Cheia — doar în antet. În adresă, cookie sau corp CRM-ul o respinge (
400 api_key_misplaced): astfel de locuri rămân în jurnalele proxy-ului și în istoricul browserului.
Minimum de drepturi
- Dați cheii site-ului doar dreptul „Chirii: site” (
rental:site). Drepturile în plus (leads:write,deals:read…) măresc paguba la o scurgere. - Setați valabilitatea (recomandăm un an) și, dacă serverul are un IP fix, lista IP-urilor permise.
- O cheie — un site. Pentru mediul de test creați o cheie separată.
Dacă cheia s-a scurs
- În CRM: Setări → Integrări → API → cheia → „Revocați”. Cheia nu mai funcționează imediat.
- Creați o cheie nouă (sau „Reemiteți” cu revocarea imediată a secretului vechi) și actualizați
TYPE_API_KEYpe server. - Uitați-vă în lista cheilor la ultima utilizare (ora, IP-ul, ruta) — dacă a fost ceva neobișnuit.
- Dacă cheia a ajuns în depozit — ștergerea commit-ului nu ajunge: cheia este deja compromisă și trebuie revocată.
Webhook
- Verificați întotdeauna semnătura (
X-Type-Signature) și ora (X-Type-Timestamp, fereastra de 300 s) înainte de a face ceva. Altfel oricine va putea goli cache-ul site-ului. Cum — în secțiunea „Webhook-uri”. - Comparați semnătura în timp constant.
- Păstrați secretul webhook-ului la fel ca cheia — în variabila de mediu a serverului.
- Dacă secretul s-a scurs — „Secret nou” în Setări → Chirii → Site; cel vechi nu mai funcționează imediat.
Datele vizitatorilor
- Formularul de rezervare transmite în CRM numele, telefonul, e-mailul și mesajul oaspetelui. Trimiteți-le doar prin HTTPS de pe serverul dvs. și nu le păstrați pe site mai mult decât e nevoie pentru repetarea cererii.
- Câmpul
consenteste acordul vizitatorului pentru prelucrarea datelor: trimitețitruedoar dacă vizitatorul l-a dat cu adevărat. - Răspunsurile
occupancy()nu conțin oaspeți și sume — doar intervalele ocupate.