Home / Ops / More in this area
Updated Jun 29, 2026 · Affirmology_NDAFlow_Status_v1.md
Pick-up note for the NDA gate -> Airtable CRM -> demo-access flow. Decision: went with a FREE clickwrap (not paid e-signature). Nothing here is committed or deployed yet.
Paid e-signature is per-document at scale: SignWell needs the Business plan ($30/mo) for API access, then 25 free API docs/month and ~$0.75 each after (so ~$100/mo around 120 signers). Dropbox Sign is $100/mo minimum. Jotform Sign free is only 10 docs/mo. For a gate many people pass through, every paid option grows with traffic. A clickwrap is $0 for any volume. Under E-SIGN/UETA, "I have read and agree" + typed name with intent IS a valid electronic signature, which is appropriate for a demo confidentiality gate. SignWell remains a fallback for formal hand-drawn signatures from select investors later (template "Affirmology NDA Demo" faac5de0 already exists in Jeff's account).
affirmology-studio/api/nda.py:POST /api/nda/agree (public, browser-called): validates name + email + typed signature + agreed, captures IP + user agent, then idempotent People upsert by email (Name, Email, NDA signed=true, NDA signed at, Stage "NDA signed", Link clicked, Last seen) + logs one Interaction audit row (typed signature, NDA v5, IP, user agent, timestamp)./api/nda/start|status|webhook from the earlier approach remain in the file, unused by the clickwrap; harmless.)config.py: added AIRTABLE_API_KEY, AIRTABLE_BASE_ID (default appSuTUcOQbpkxLUR), plus the earlier SIGNWELL_*. Router wired in main.py.affirmology-site/index.html: replaced the short #nda-gate clickwrap with a full-NDA "sign to enter" form: scrollable complete v5 agreement (sections 1-20), Full name + Email, a typed-signature field (gold italic), an "I have read and agree" checkbox, an "Agree & Enter" button disabled until valid. On submit it POSTs /api/nda/agree, then enters (carries name + email into the intake form). Fail-open: if the record call hiccups, the visitor still enters (they agreed). Rendered + visually confirmed on-brand.AIRTABLE_API_KEY on Render (the cloud Studio env) so the cloud /api/nda/agree can write. (It is in affirmology-studio/.env locally.)demo.affirmology.ai/api/nda/agree reach the cloud Studio. Either add the route to the Cloudflare demo worker, or post directly to the onrender Studio URL with that origin allowed in STUDIO_CORS_ORIGINS.affirmology-site/index.html (Cloudflare Pages auto-deploys) and the studio (api/nda.py, api/config.py, api/main.py). NOTE: do NOT sweep in the uncommitted PDF v2.1 files (Jeff: active redesign, do not commit)./api/track funnel events (link_clicked, demo_listened, vision_watched, report_read, beta_committed) -> same People row.Name fldd9ZIKCqWAGf9Z2, Email fldCnQ39xZKoQY6NA, Phone fldbQ0xChwNVeTcC6, Stage fldqvIA716ngjkmwz, NDA signed fldZM3ctrBuo27qvq, NDA signed at fldLzc2FDO1QBumgp, Link clicked fldSJzzk0soCzetDa, Last seen fldXbvDzxyYuzhMIs. Interactions tblvMUdNEZ6s5YHHR: Summary fldKg2WuIC4HKsbTn, Date fldUUx8olmKeJkuVz, Next step fldclVsYcbtFfAZg0, Person fld6yfUonM8bfnckj.