Add integrated checkout, child safety section, and content polish

- checkout.el: Custom Stripe Payment Element page at /checkout?plan=...
- safety.el: Hard Bell and emergency routing architecture section
- main.el: Wire checkout + safety, /api/payment-intent, STRIPE_PUBLISHABLE_KEY
- enterprise_terms.el: Add nav bar (was missing, page had no navigation)
- styles.el: Checkout buttons now link to integrated page, not hosted Stripe
- El runtime: Auto-detect HTML responses, serve text/html vs application/json
- footer.el: Wordmark image centered above "Built Different." tagline
- environmental.el: Replace SQLite with custom on-device storage
- enterprise.el: Replace SQLite with custom on-device storage
- pricing.el: Local models degraded performance note near Ollama feature
- about.el: "left home at fifteen", remove programming language mention
This commit is contained in:
Will Anderson
2026-04-29 16:59:57 -05:00
parent d190e08f38
commit 393d982d04
10 changed files with 567 additions and 29 deletions
+76
View File
@@ -0,0 +1,76 @@
// components/safety.el Child and family safety section.
//
// Describes the Hard Bell architecture and genuine protective design.
// Not "safe for kids" marketing actual architecture that treats
// family safety as a structural property, not a feature checkbox.
fn safety() -> String {
return "
<section id=\"safety\" aria-label=\"Family safety\" style=\"padding:8rem 2.5rem;background:var(--bg2)\">
<div class=\"container-lg\">
<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start\">
<div>
<div style=\"display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem\">
<div class=\"navy-line-left\" style=\"width:3rem;flex-shrink:0\"></div>
<span class=\"label reveal\" style=\"color:var(--navy-85)\">Family &amp; safety</span>
</div>
<h2 class=\"display-lg reveal\" style=\"transition-delay:80ms;margin-bottom:1.5rem\">
Built for real families.<br>Not the idea of them.
</h2>
<p class=\"reveal\" style=\"transition-delay:160ms;font-family:var(--body);font-weight:300;font-size:1rem;color:var(--t2);line-height:1.8;margin-bottom:1.25rem\">
Most AI products add parental controls as an afterthought &#8212; a toggle that tells the platform which account is the adult and which is the child. That&#39;s not safety. That&#39;s a permission system with a friendly name.
</p>
<p class=\"reveal\" style=\"transition-delay:220ms;font-family:var(--body);font-weight:300;font-size:1rem;color:var(--t2);line-height:1.8;margin-bottom:1.25rem\">
Neuron&#39;s family architecture was designed around an uncomfortable statistical fact: the people closest to a child are statistically the most likely threat. The emergency contact on file and the source of danger are often the same person. A system that routes every distress signal to &#34;guardian on file&#34; is not a safety system. It&#39;s a notification system that may alert the very person the child needs protection from.
</p>
<p class=\"reveal\" style=\"transition-delay:280ms;font-family:var(--body);font-weight:300;font-size:1rem;color:var(--t2);line-height:1.8\">
We built something different. We called it the Hard Bell.
</p>
</div>
<div style=\"display:flex;flex-direction:column;gap:1.5rem;padding-top:1rem\">
<div class=\"reveal card-dark\" style=\"transition-delay:100ms;padding:1.75rem 2rem;border-left:3px solid rgba(0,82,160,.40)\">
<p style=\"font-family:var(--body);font-size:0.7rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--navy-65);margin-bottom:0.75rem\">Hard Bell</p>
<p style=\"font-family:var(--body);font-weight:400;font-size:0.9375rem;color:var(--t1);margin-bottom:0.5rem\">An emergency contact the threat can&#39;t intercept</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.875rem;color:var(--t2);line-height:1.7\">
The Hard Bell is an emergency contact designated in a calm moment &#8212; a teacher, a relative outside the household, a trusted friend &#8212; set up independently from the guardian account. When a signal warrants it, this contact is reached. The guardian is not automatically notified.
</p>
</div>
<div class=\"reveal card-dark\" style=\"transition-delay:200ms;padding:1.75rem 2rem;border-left:3px solid rgba(0,82,160,.40)\">
<p style=\"font-family:var(--body);font-size:0.7rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--navy-65);margin-bottom:0.75rem\">Emergency routing</p>
<p style=\"font-family:var(--body);font-weight:400;font-size:0.9375rem;color:var(--t1);margin-bottom:0.5rem\">Emergency services first &#8212; not parent notification</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.875rem;color:var(--t2);line-height:1.7\">
Physical danger and abuse signals route to emergency services and crisis lines &#8212; not to the guardian account. Neuron evaluates the content of the signal, not just the age of the user. The guardian cannot disable or redirect this path.
</p>
</div>
<div class=\"reveal card-dark\" style=\"transition-delay:300ms;padding:1.75rem 2rem;border-left:3px solid rgba(0,82,160,.40)\">
<p style=\"font-family:var(--body);font-size:0.7rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--navy-65);margin-bottom:0.75rem\">Parent dashboard</p>
<p style=\"font-family:var(--body);font-weight:400;font-size:0.9375rem;color:var(--t1);margin-bottom:0.5rem\">Oversight without surveillance</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.875rem;color:var(--t2);line-height:1.7\">
Parents see what they need to see. The child&#39;s conversations remain private unless a wellbeing signal triggers parent notification &#8212; and even then, the routing logic protects against the parent being the source of harm.
</p>
</div>
</div>
</div>
<div class=\"reveal\" style=\"margin-top:4rem;padding:2rem 2.5rem;border:1px solid rgba(0,82,160,.15);border-left:3px solid var(--navy);background:rgba(0,82,160,.03)\">
<p style=\"font-family:var(--body);font-weight:300;font-size:0.9375rem;color:var(--t2);line-height:1.8;\">
<strong style=\"color:var(--t1);font-weight:500\">Minors require a parent account.</strong> Children and teens cannot create accounts on their own &#8212; a parent or guardian creates the family account, configures access, and designates the Hard Bell contact. The child&#39;s experience is private from everyone except the trusted adult who set it up &#8212; and from emergency services when the signal warrants it.
</p>
</div>
</div>
</section>
"
}