Skip to content
ZERONE
Nazad na Insights
Arhitektonski patterni2026-06-05 · 4 min čitanjaIz Case 06

Anonimnost kao arhitektonska invarijanta: zašto „nećemo vas kontaktirati” nije dovoljno

Obećanja kao „nikada vas nećemo kontaktirati bez najave” u B2B platformama nisu izvršiva — provajderi ih zaobiđu van platforme. Ono što radi je tehnička invarijanta: kontakt podaci žive u odvojenoj sferi, server ih otključava tek na obostrani match. Svojstvo koda, ne TOS klauzula.

Klasično B2B matching obećanje: „Nikada nećete biti kontaktirani bez najave.” Lepo formulisano. Neodrživo.

Platforma ne može da spreči da provajder van platforme istraži, izvuče broj firme iz registra i pozove. Obećanje je tvrdnja o svetu — a svet je širi od bilo kog TOS ugovora.

Šta zaista drži: arhitektonske invarijante

Na PairSonalu smo preformulisali obećanje. Umesto:

„Vaše kontakt podatke nećemo proslediti.”

sada stoji:

„Vaši HR kontakt podaci na platformi tehnički nisu vidljivi provajderima — sve dok vi sami ne otključate match.”

Razlika nije semantička. Strukturna je:

  • Kontakt podaci žive u odvojenoj bazi-sferi.
  • Listing endpoint vraća profile čiji payload ne sadrži email, telefon, kontakt_person.
  • Match endpoint server-side radi join na kontakt-sferu tek nakon obostranog otključavanja.
  • Frontend nema code-path koji bi rekonstruisao polja koja ne postoje u tipu.

Obećanje postaje svojstvo koda. Ko testira „šta se desi kad učitam profile?” — polja jednostavno ne postoje u šemi.

Zašto je to jače

  1. Auditovo. Auditor čita OpenAPI šemu i utvrđuje: kontakt polja u anonymous-sferi ne postoje. To je činjenica, ne TOS.
  2. Skalira sa timom. Novi kolega ne može greškom napraviti endpoint koji procuri polja — ona nisu u klasi modela koju on import-uje.
  3. Otporno na auth bug. Bug u privilege sloju ne može otkriti skrivena polja koja u response šemi ne postoje.

Kada je preterano

Arhitektonske invarijante koštaju. Praktično praviš dva modela podataka, dva repository-ja, dve service klase, eksplicitan most. Za korisnički profil sa tri atributa, ovo je preterivanje.

Tačka isplativosti: kada je obećanje sam proizvod. Ako klijenti dolaze na platformu jer veruju anonimnosti — anonimnost ne sme biti TOS klauzula. Mora biti deo layer-arhitekture, inače proizvod umre sa prvim leak-om.

Opšte pravilo

Za svako „nećemo raditi X” obećanje sada pitamo:

Možemo li to izgraditi tako da to tehnički ne možemo?

Ako da: gradimo. Ako ne: obećanje je tvrdnja, ne feature — i treba ga imenovati kao tvrdnju, ne prodavati kao feature.

Sličan požar?

Verovatno smo već videli nešto slično. Javite se.

Započni razgovor