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
- https://app.notarycentral.org/appointments/[id]/lib/annotations
- https://app.notarycentral.org/appointments/[id]/lib/certPasswordStorage
- https://app.notarycentral.org/appointments/[id]/lib/digitalCertStorage
- https://app.notarycentral.org/appointments/[id]/lib/documentAssets
- https://app.notarycentral.org/appointments/[id]/lib/finalizeDocument
- https://app.notarycentral.org/appointments/[id]/lib/notarySealStorage
- https://app.notarycentral.org/appointments/[id]/lib/notaryStampStorage
- https://app.notarycentral.org/appointments/[id]/lib/parsers