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:
@@ -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 & 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 — a toggle that tells the platform which account is the adult and which is the child. That's not safety. That'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'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 "guardian on file" is not a safety system. It'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'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 — a teacher, a relative outside the household, a trusted friend — 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 — 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 — 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's conversations remain private unless a wellbeing signal triggers parent notification — 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 — a parent or guardian creates the family account, configures access, and designates the Hard Bell contact. The child's experience is private from everyone except the trusted adult who set it up — and from emergency services when the signal warrants it.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
"
|
||||
}
|
||||
Reference in New Issue
Block a user