A digitális elfogadás működése és biztonsága
Az aláírási folyamat lépései, a módszerek, az ujjlenyomat és a token kezelése, az aláíró oldal védelmei, a jegyzőkönyv, az állapotok, a beállítások és a végpontok.
A digitális elfogadás admin oldala a szerződés-form „Digitális aláírás” kártyája (contract/esign.block), az aláíró oldal a portálon fut (contract/esign). A beállítás: contract/esign.settings (jog: settings).
Menet
- Dokumentum: a szerződéshez kötött PDF-ek közül (a jegyzőkönyv nem). A fajta a dokumentumtár-szerepből, az aláírási mód a forrás-sablonból; ennek híján felmondás és teljesítésigazolás egyoldalú, minden más kétoldalú.
- Aláírók: csak a felek személyei, a személyhez feloldott e-mail címmel (a POST-ban küldött címet nem fogadja el). Kétoldalúnál minden kötelező fél kap aláírót, egyoldalúnál csak a nyilatkozó; ismeretlen nyilatkozónál pontosan egy fél.
- Módszer:
click,email_otp(6 jegyű kód e-mailben),sms_otp(nem elérhető, nincs éles SMS-küldési út),dap(adapter kész,available = false). Munkaszerződésnél és a beállításban megjelölt típusoknál csakdapválasztható. - Befagyasztás: a PDF bájtjainak SHA-256 ujjlenyomata (
doc_sha256) a kiküldéskor rögzül. - Meghívó: központi levelező úton (
esign_invite), a client nevében, az aláíró nyelvén; egyedi link 64 hexa karakteres tokennel, lejárat 1–90 nap (alap 14). - Aláíró oldal: lejárat-ellenőrzés; eltérő hash esetén megtagadás (
doc_changed); beágyazott PDF; záradék (aláíró, szerződésszám, dokumentumnév és SHA-256); kötelező elfogadó jelölő. E-mailes kód: 10 percig érvényes, kódonként 5 próba, aláírásonként legfeljebb 5 kód, kettő között legalább 60 mp. Elutasítás indoklással. Fejlécek:noindex,no-store,no-referrer; POST-ok munkamenet-tokennel (CSRF). - Aláírás után: állapot
signed, IP, böngésző, az elfogadott záradék SHA-256-ja; jegyzőkönyv PDF a dokumentumtárba (signature_evidence): aláíró, e-mail, módszer, dokumentum és hash, kiküldés, megtekintés, aláírás ideje, IP, böngésző, záradék és hash, eseménynapló. Tárhely-szabály hiányában az aláírás érvényes marad, a hiány naplózódik, a jegyzőkönyv utólag előállítható (contract/esign.evidence). - Összesítés: a szerződés
esign_status(üres,pending,partial,signed,declined) ésesign_date; ha a fő szerződés-dokumentum (szerepcontract) minden aláírója aláírt, adate_signedaz utolsó aláírás napját kapja, ha üres.
Aláírás-állapotok: pending, sent, viewed, signed, declined, expired, cancelled. Újraküldés új tokennel; visszavonás: cancel; a lejárat lusta (link megnyitásakor és az admin blokk betöltésekor).
Adatmodell
A táblanevek a telepítés saját előtagjával állnak az adatbázisban. contract_signature (egyedi token_hash): contract_id, doc_id, doc_sha256, signer_person_id, signer_company_id, signer_name, signer_email, language_id, method, expires_at, otp_hash, otp_expires_at, otp_attempts, otp_sent_count, otp_sent_at, status, időpontok, decline_reason, ip, user_agent, accept_text_hash, evidence_doc_id. contract_signature_event: event, ip, user_agent, data (JSON, titok nélkül).
Biztonság
A link tokenje (256 bit) és a kód csak SHA-256 hash-ként tárolódik (a kód az aláírás azonosítójával sózva); nyers érték eseménynaplóba, listába, naplóba nem kerül. Eseménykódok: created, sent, resent, viewed, reopened, otp_sent, otp_failed, signed, declined, expired, cancelled, doc_mismatch, mail_failed, evidence, evidence_failed.
Beállítás
Telepítés-saját JSON beállítás: minősített aláírást igénylő típusok (fő- vagy altípus kódok), alapértelmezett lejárat (nap), DÁP: engedélyezés, kliens-azonosító, tanúsítvány-útvonal, környezet (test vagy prod), kliens-titok (a felület csak azt mutatja, hogy meg van-e adva).
Jogi keret
Végpontok és jogok
| Végpont | Jog |
|---|---|
contract/esign, .block | list + scope |
.send | send + scope |
.resend, .evidence | send |
.cancel | cancel |
.settings, .savesettings | settings |
portál: contract/esign, .document, .otp, .sign, .decline | érvényes, nyitott link; POST + CSRF |
Levelek: esign_invite, esign_otp. Naplócsatorna: contract/esign.