Trust + Security

How we handle your closings.

Title companies trust us with non-public personal information (NPI), borrower documents, and signing records every day. This page describes the technical, operational, and legal controls behind that trust — concrete + auditable, not boilerplate.

Last updated: 2026-05-31 · Maintained by dispatch@itsofficialnotary.com

Authentication + access control

Ops (admin) sign-in
HMAC-signed magic-link email (15-min token), 12-hour session. Email allowlist enforced (OPS_ALLOWED_EMAILS). TOTP MFA available at /ops/security; ops account auto-bounces through the TOTP gate when enrolled.
Notary portal sign-in
HMAC-signed magic-link email (1-hour token), 30-day session. Only active notaries can request links — paused or terminated notaries are immediately blocked.
Title-co portal sign-in
HMAC-signed magic-link email (1-hour token), 30-day session. Only emails on the client record can request links.
Server-action authorization
Every ops mutation calls requireOpsSession() — no direct DB writes from unauthenticated requests. Same pattern for notary-portal and client-portal actions.
Session cookies
HTTP-only, Secure (in production), SameSite=lax. Distinct cookie + signing secret per role so a leaked notary cookie cannot elevate to ops.

Data storage + handling

Database
Neon Postgres (US-East-1). All connections require TLS + channel binding. Credentials rotated via Vercel environment secrets.
Document storage
Vercel Blob with random-suffix keys (URL itself is the capability — not enumerable from sequential IDs). Per-file 10–25 MB caps depending on document kind.
Secrets management
All API keys + session secrets stored as Vercel encrypted environment variables. Not pulled into source control.
Notary journal records
10-year retention per Texas Government Code Ch. 406. Physical journal kept by the notary; we keep digital scan + metadata.
Order + assignment records
7-year soft-archive via daily cron at /api/cron/records-retention. Archived rows filtered from operational views, retained for legal-hold lookups.
Audit log
Every order status change written to order_status_log with actor (ops email / notary id / system) + timestamp + note.
Email send log
Every outbound email (Resend or SMTP) writes a row to notification_log with kind, recipient, status (sent / rejected / skipped / thrown), and Resend message id.

Compliance frameworks

GLBA Safeguards Rule
We are a service provider to financial institutions (title companies, lenders). Privacy + Terms pages reflect Safeguards alignment. Designation of a Qualified Individual + formal Written Information Security Program (WISP) is on the launch list before our first ongoing-client contract.
Texas Data Privacy + Security Act (TDPSA)
Privacy notice describes categories of NPI collected, purposes, retention, and rights. We don't sell or share data for cross-context behavioral advertising.
FCRA § 604(b)(2)
Notary applicants sign a standalone disclosure + authorization on /apply before any background check. Signature, IP, timestamp, and disclosure version are captured in notary_applications.
Texas notary law (Gov. Code Ch. 406)
We do not interpret documents, select certificate language, or provide legal advice. UPL disclaimer appears on every title-co milestone email.
1099-NEC discipline
W-9 capture at notary onboarding via document upload. Year-end earnings summary PDF generated per-notary from /ops/notaries/[id].

Notary credentials + vetting

Texas commission
Verified at onboarding + tracked with expiration date. Daily expiry-check cron emails the notary + ops at 30 / 14 / 3 days out, and again on expiry.
Errors-and-omissions insurance
Minimum $100,000 per claim enforced at the contractor-agreement level. Cert PDF uploaded to the notary's Documents tab. Same expiry-check cadence.
Background check
Within prior 12 months required; expiry-check cron flags notaries whose check ages past 365 days.
NNA certification
Strongly preferred but not required at intake; tracked on the applicant + notary records.
Independent-contractor agreement
Pre-filled IC agreement (10 sections, signature block) auto-generated per-notary at /n/ic-agreement. Notary signs, scans, uploads — upload auto-flips the matching onboarding checklist item.

Document execution + scan-check

Signed-package upload
Notaries upload from the per-order page using phone camera (capture="environment") or file picker. Per-upload page count computed via pdf-lib server-side; notary declares expected total so multi-part scans show "N of M pages" progress.
Scan-check QA
Every executed package auto-routed to our AI scan-checker when uploaded page count meets the declared expected count. Runs against client-specific rule profile (state-of-venue, initials-required, witness rules, expected-doc list, etc.). Findings surface on /ops/scan-check before the title co receives the package.
Storage
Executed packages stored in Vercel Blob with random-suffix keys + Drizzle row keeps metadata. Ops + the assigned title co see uploads; nobody else.
Retention
7 years per the order retention schedule above. Physical originals shipped per title-co instructions; we are not the custodian after delivery.

Subprocessors

Vercel (hosting + Blob)
Application hosting, edge network, scheduled crons, object storage. SOC 2 Type II audited.
Neon (Postgres)
Primary application database. SOC 2 Type II audited. US-East-1 region.
Resend (transactional email)
Primary email-send backend for milestone emails, magic links, and the applicant lifecycle.
Gmail SMTP (fallback)
Used while the itsofficialnotary.com domain finishes Resend verification. Routed via Google Workspace.
Anthropic (Claude)
Powers email-to-order extraction (/ops/email-intake) and scan-check QA (lib/scan-route.ts).
Stripe (Connect Express)
Notary payouts. Stripe handles KYC + bank-account collection; we never see notary bank credentials directly.
Twilio (SMS)
Reminder + offer SMS to notaries. Optional per notary (Profile tab → notification prefs).

Incident response + business continuity

Monitoring
Vercel platform metrics + error reporting. notification_log surfaces email send failures on /ops/notifications.
Incident communication
Material incidents will be communicated to affected title-company customers within 72 hours via the contact email on file.
Backup + recovery
Neon point-in-time recovery enabled (7-day window). Blob storage is region-replicated by Vercel.
Insurance
General liability + cyber liability coverage is on the launch list before our first ongoing-client contract.
Continuity
Senior Notary maintains a manual signing capability independent of the platform — if the platform is down, signings still happen + reconcile to the system when service is restored.
Questions about a specific control?

Email dispatch@itsofficialnotary.com with a request for a vendor-packet response. We maintain a current packet at /vendor-packet for procurement teams.

This page is operational documentation, not a legal warranty. See Terms for the binding agreement that governs use of the platform.