Signing Room

Signing Room Libraries & Utilities

Technical documentation of underlying handlers for annotations, secure certificates, and digital signing flow tools.

•

NotaryCentral’s live signing room depends on several core library modules that manage drawing annotations, caching digital credentials, verifying signatures, and generating the finalized PDF document.

1. Annotations Handler (appointments/\[id\]/lib/annotations.ts)

Manages how tag elements (signatures, stamps, text) are placed on the PDF document:

  • Normalization — Strips temporary editor flags (such as dragging or selection state) to serialise values for comparison.
  • Certificate Placement Hints — Locates where a notary seal is placed to calculate exactly where the cryptographic certificate signature block should be embedded.
  • Bounding Box Calculation — Extracts x/y coordinates and page indexes from diverse PDF formats.

2. Secure Certificate Password Caching (appointments/\[id\]/lib/certPasswordStorage.ts)

Provides secure, short-term caching of the notary’s digital certificate passwords during active sessions:

  • Session Lifetimes — Caches passphrases in memory or local secure storage to prevent re-entering passwords on every seal application.
  • Security Compliance — Ensures that passwords are never logged or stored in cleartext formats on remote databases.

3. Digital Certificate Storage (appointments/\[id\]/lib/digitalCertStorage.ts)

Manages downloading and mounting the notary’s state-approved digital certificate:

  • PKCS#12 Verification — Checks certificate validity, expiration dates, and key usage.
  • Cryptographic Operations — Prepares the digital certificate payload for document finalization.

4. Document Assets (appointments/\[id\]/lib/documentAssets.ts)

Tracks image resources, fonts, and external assets required to render signing elements:

  • Asset Mounting — Ensures custom seal images, notary stamps, and hand-drawn signatures are loaded and prepared for insertion.
  • Resolution Scale — Adjusts DPI rendering parameters to preserve visual clarity.

5. Document Finalization (appointments/\[id\]/lib/finalizeDocument.ts)

Compiles the final, legally binding notarized document:

  • Flattening — Flattens all interactive form annotations into the PDF content stream to prevent tampering.
  • Digital Signatures — Applies the cryptographic signature to the document using the loaded digital certificate.

6. Notary Seal Storage (appointments/\[id\]/lib/notarySealStorage.ts)

Manages the locally stored, state-regulated notary seal images:

  • DPI Scaling — Scales transparent PNG seal representations for proper placement on diverse document dimensions.
  • Caching — Caches user-generated seal designs to enable instant offline preview inside the signing room editor.

7. Notary Stamp Storage (appointments/\[id\]/lib/notaryStampStorage.ts)

Locally stores other notary stamps (e.g. commission stamp, expiration date stamp):

  • Stamp Retrieval — Manages metadata, placement constraints, and local caching.

8. Query Parsers (appointments/\[id\]/lib/parsers.ts)

Handles processing raw parameters passed into the signing room:

  • Input Cleaning — Validates appointment IDs, user tokens, role parameters, and browser configurations.

Open these pages in Notary Central