- Added centralized, self-learning GeoService (ZIP, City, Street) - Implemented Hybrid Address Management (Centralized table + Denormalized fields) - Fixed Gamification logic (PointsLedger field names & filtering) - Added address autocomplete and two-tier (Free/Premium) search API - Synchronized UserStats and PointsLedger schemas
6.1 KiB
🔐 05_AUTH_AND_IDENTITY_SPEC (v1.3)
1. Azonosítási Stratégia
A rendszer alapelve a technikai hozzáférés (User) és a valós identitás (Person) szigorú szétválasztása.
1.1. Identitás szintek
- User (Login): Email + Jelszó. Kizárólag a belépéshez és a munkamenet (session) kezeléséhez szükséges technikai entitás.
- Person (Identity): A valós személy adatai (Név, anyja neve, születési adatok, okmányok). Minden Person kap egy globális egyedi azonosítót (UUID).
1.2. Social Auth (Google / Facebook)
- Működés: Engedélyezett a gyors belépéshez.
- Kényszerített KYC: Social Auth esetén a 2. lépésben kötelező a KYC adatok pótlása.
- Korlátozás: Amíg a KYC adatok hiányoznak, a felhasználó "Free User" marad, és nem fér hozzá a regisztrációkor járó extra prémium szolgáltatásokhoz.
1.3. Soft Delete & Re-regisztráció
- Nincs fizikai törlés: A felhasználó törléskor
is_hiddenvagydeleted_atflag-et kap. - Ismételt regisztráció: Ha az email/név/okmány alapján a rendszer felismeri a visszatérőt:
- Új technikai User fiók jön létre, de a korábbi Person ID-hoz kapcsolódik.
- Adat-izoláció: A felhasználó csak az új regisztráció utáni eseményeket látja, a régi adatok (statisztika, elemzés) csak a háttérben maradnak meg.
2. Bizalmi Szintek (Trust Tiers)
A rendszer a "Tier-based Access Control" (szintezett hozzáférés) elvét alkalmazza az adatszolgáltatás mértékétől függően.
| Szint | Megnevezés | Követelmény | Jogosultságok |
|---|---|---|---|
| Tier 0 | Anonymous | Nincs | Csak publikus adatok megtekintése. |
| Tier 1 | Verified Email | Step 1 (Regisztráció) sikeres | Belépés, saját profil megtekintése. |
| Tier 2 | KYC Submitted | Step 2 (Személyi adatok + Telefon) | Privát Széf/Flotta aktiválása, Wallet használat. |
| Tier 3 | AI/OCR Verified | Okmánykép AI általi ellenőrzése | Harmadik fél szolgáltatásainak igénybevétele. |
3. KYC és Bővített Adattár (Safety)
A persons tábla progresszív feltöltéssel tárolja az adatokat a "Minimal Friction" elv mentén.
3.1. Kötelező Adatkör (Step 2 - Tier 2)
A "Privát Széf" aktiválásához az alábbi adatok megadása kötelező:
- Alapadatok:
last_name,first_name,birth_place,birth_date,mothers_name. - Kapcsolat: Valós telefonszám (nemzetközi formátum).
- Hivatalos okmányok: Személyi ig. szám, Jogosítvány (szám, kategóriák, érvényesség), Lakcímkártya, TAJ, Adóazonosító.
- Biztonság (ICE): "In Case of Emergency" adatok (értesítendő személy neve és telefonszáma).
- Vészhelyzeti adatok: Vércsoport, Allergia.
3.2. Jutalom Trigger
A teljes körű adategyeztetésért (100%-os profilkitöltöttség) 2 hét PRÉMIUM tagság jár.
4. Céges Azonosítás és Verifikáció
A szervezetek (Companies) hitelesítése és bizalmi szintjeinek kezelése.
4.1. Verifikációs Státuszok
- Unverified (Nem ellenőrzött): Kézi rögzítés utáni alapállapot. 30 napos türelmi időt biztosít a funkciókhoz.
- Verified (Hitelesített): Hitelesített állapot (VIES API találat vagy Admin kézi jóváhagyás után).
- Suspended (Felfüggesztett): Megszűnt cég vagy le nem igazolt adatok esetén az időszakos ellenőrzés során.
4.2. Ellenőrzési Logika (Robot & Admin)
- Robot: A
VAT_NUMBERrögzítésekor a rendszer azonnal meghívja az EU-s VIES API-t. Egyezőség esetén azonnalVerified. - Hibrid Validálás: Ha a VIES API nem ad eredményt, a rendszer céges dokumentum feltöltését kéri.
- Ellenőrzés: Adminisztrátori jóváhagyás vagy AI-alapú dokumentum-validálás után válik a státusz véglegessé.
- Időszakos ellenőrzés: Ütemezett feladat (Cron) 30 naponta újraellenőrzi a cégeket. Megszűnés esetén
Suspendedstátusz és értesítés.
4.3. Korlátozások (Suspended/Unverified)
- Nem rögzíthető új jármű a flottába.
- Nem generálható meghívó (Invite Token).
- Statisztikai kimutatások korlátozása.
5. Jutalék és Gazdasági Rendszer
5.1. Piramis rendszer (3 szint)
A meghívó lánc alapján számolt jóváírások (Referral):
- 1. szint (Közvetlen): 10%
- 2. szint: 5%
- 3. szint: 2% Megjegyzés: A százalékok a befizetés pillanatában érvényes admin beállítások alapján rögzülnek (Snapshot technika).
5.2. Wallets
Minden regisztrációnál automatikusan létrejön:
- Coin Wallet: Belső fizetőeszköz (Kredit).
- XP Ledger: Tapasztalati pontok (Gamification és rangsor).
6. Moderáció és Validálás
- Validált vélemény: Csak igazolt ott-tartózkodás (GPS log) vagy számlafotó (OCR) feltöltése után adható.
- Fellebbezés: A szervizek kérhetik a vélemények felülvizsgálatát, amit moderátorok bírálnak el.
7. Adattárolási Stratégia (Technikai)
- A rugalmas okmányadatokat (
identity_docs) és a vészhelyzeti kapcsolatokat (ice_contact) JSONB mezőkben tároljuk apersonstáblában a kereshetőség és a jövőbeli bővíthetőség érdekében.
4. Multi-Account & Identity Linking
A felhasználók több e-mail címet is csatolhatnak egyetlen profilhoz, hogy könnyen válthassanak a magánszemély és a céges flotta-menedzser szerepkörök között.
4.1 Szabályrendszer
- Limit: Egy felhasználói profilhoz maximum 3 másodlagos e-mail cím csatolható.
- Elsődleges cím: Ez a belépési azonosító és a hivatalos értesítési cím.
- Context Switching: A felhasználó a fejlécben válthat a "Személyes" és a "Céges" nézetek között (pl. Flotta Manager mód).
4.2 Account Linking Folyamat
- User belép az elsődleges fiókba.
Settings -> Linked Accounts -> Add New.- Rendszer küld egy megerősítő linket az új címre.
- Ha a linkre kattint, az új cím hozzáadódik a
user_identitiestáblához. - Ha az új címen már volt regisztráció: A rendszer felajánlja az Account Merge (Fiókegyesítés) lehetőségét (biztonsági kérdések után).