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

  1. 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ú.
  2. 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.
  3. 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 csak dap választható.
  4. Befagyasztás: a PDF bájtjainak SHA-256 ujjlenyomata (doc_sha256) a kiküldéskor rögzül.
  5. 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).
  6. 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).
  7. 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).
  8. Összesítés: a szerződés esign_status (üres, pending, partial, signed, declined) és esign_date; ha a fő szerződés-dokumentum (szerep contract) minden aláírója aláírt, a date_signed az 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

A kód és a súgó a Ptk. 6:7. § (3) bekezdésére hivatkozik, a (3a) szerinti különös területeket kizárja az egyszerű módszerből, munkaszerződésnél minősített aláírást ír elő, a DÁP-ra a 2023. évi CIII. törvényt hivatkozza. A jogi ellenőrzés a bevezetés előtt szükséges.

Végpontok és jogok

VégpontJog
contract/esign, .blocklist + scope
.sendsend + scope
.resend, .evidencesend
.cancelcancel
.settings, .savesettingssettings
portál: contract/esign, .document, .otp, .sign, .declineérvényes, nyitott link; POST + CSRF

Levelek: esign_invite, esign_otp. Naplócsatorna: contract/esign.