Home / Ops / More in this area
Updated Jun 29, 2026 · Affirmology_NDAFlow_Status_v1.md
STATUS: SHIPPED + LIVE 2026-06-29. Decision: FREE clickwrap (not paid e-signature).
POST /api/nda/agree live, airtable_key_set: true.AIRTABLE_API_KEY added; STUDIO_CORS_ORIGINS = https://studio.affirmology.ai,https://demo.affirmology.ai (added the demo origin so the gate's browser JS can call the studio).https://affirmology-studio-api.onrender.com/api/nda/agree (direct onrender; the demo render worker was deliberately left untouched).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, a centered "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.#teaser + its IIFE in index.html, GSAP): the four systems (Astrology, Human Design, Gene Keys, Numerology) drop in one at a time as a centered VERTICAL STACK, hold, fade, then three poetic Cormorant lines ("A precise map of who you are..." / "So we turn it into your own voice." / "The truth of you, sung back to you."), then fades into the gate. ~13s, Skip pill bottom-right, graceful no-JS degrade (gate shows, no teaser). Jeff approved. First pass in text graphics; can later ride on a Higgsfield cosmic video bed.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.