// MyAirSpace — Marketing landing page. Composes MyAirSpace design-system primitives. const { Button, Card, Badge, Seal } = window.MyAirSpace || {}; const Icon = window.MyAirSpaceIcon; const PRICE = "£14.99"; function Logo({ inverse = false }) { const src = inverse ? "../../assets/logo-wordmark-inverse.svg" : "../../assets/logo-wordmark.svg"; return MyAirSpace; } const navLink = { fontFamily: "var(--font-ui)", fontSize: 15, fontWeight: 500, color: "var(--text-secondary)", cursor: "pointer", textDecoration: "none" }; // Tracks viewport width so layout can switch between mobile / tablet / desktop. function useViewport() { const get = () => (typeof window === "undefined" ? 1180 : window.innerWidth); const [w, setW] = React.useState(get); React.useEffect(() => { const on = () => setW(get()); window.addEventListener("resize", on); return () => window.removeEventListener("resize", on); }, []); return { w, isMobile: w < 760, isTablet: w >= 760 && w < 1024 }; } const NAV_LINKS = [["How it works", "#how"], ["What it does", "#what"], ["Pricing", "#pricing"], ["FAQs", "#faq"]]; function Nav({ onStart }) { const { isMobile } = useViewport(); const [open, setOpen] = React.useState(false); return (
{isMobile ? ( ) : ( )}
{isMobile && open && ( )}
); } function CertificatePreview() { return (
Drone Recording
Privacy Certificate

This certificate records that on 18 June 2026 at 14:32, E. Hargreaves declared that they do not consent to drones recording private residential spaces at:

14 Rodwell Avenue
Weymouth · DT4 8QT
ID · MAS-4F2K-8WMTVerified record
); } function Hero({ onStart }) { const { isMobile } = useViewport(); return (
For UK homes & gardens

Record your home’s drone privacy position

Create a dated certificate stating that you do not consent to drones recording private spaces at your home.

Takes around 2 minutes · PDF emailed instantly after payment

); } function Problem() { return (

Concerned about drones near your home?

Drones are becoming more common, and many are fitted with cameras. While operators must follow UK flying and privacy rules, it can be hard for residents to clearly show their privacy preference. This certificate gives you a simple dated record that states your position.

); } const HOW = [ { icon: "map-pin", title: "Enter your address", body: "Find your home with a quick postcode lookup, or type it in manually." }, { icon: "shield-check", title: "Confirm declaration", body: "Tick the privacy declaration that records your no-consent position." }, { icon: "credit-card", title: "Pay securely", body: "A one-off fee. Card, Apple Pay and Google Pay accepted." }, { icon: "mail", title: "Receive by email", body: "Your PDF certificate is generated and emailed instantly." }, { icon: "download", title: "Download anytime", body: "Access, re-download and print it from your account whenever." }, ]; function HowItWorks() { return (
How it works

Five calm steps

{HOW.map((s, i) => (
0{i + 1}
{s.title}

{s.body}

))}
); } const DOES = ["Records your no-consent position", "Shows the date and time it was created", "Identifies the property address", "Provides a downloadable PDF", "Gives you a clear document to keep or print"]; const DOESNT = ["Create a legal no-fly zone", "Stop lawful drone flights", "Replace legal advice", "Come from the CAA, police, ICO or government", "Guarantee action against an operator"]; const listStyle = { listStyle: "none", margin: 0, padding: 0, display: "flex", flexDirection: "column", gap: 14 }; const liStyle = { display: "flex", gap: 10, alignItems: "flex-start", fontFamily: "var(--font-body)", fontSize: 16, lineHeight: 1.45, color: "var(--text-primary)" }; function WhatItDoes() { return (

What it does

    {DOES.map((t, i) =>
  • {t}
  • )}

What it does not do

    {DOESNT.map((t, i) =>
  • {t}
  • )}
); } function Pricing({ onStart }) { return (
Simple pricing

One certificate, one fee

No subscription. Pay once, keep your certificate, and download it whenever you need it from your account.

  • PDF emailed instantly
  • Unique verifiable certificate ID
  • Discounted certificates for extra properties
Single certificate
{PRICE}
one-off · covers one property
Secure payment by Stripe
); } const FAQS = [ ["Can this stop drones flying over my house?", "No. The certificate does not create a no-fly zone. It records that you do not consent to drone recording of private residential spaces."], ["Is this legally binding?", "No. It is a dated privacy record, not a legal document or court order."], ["Can I print the certificate?", "Yes. You can download the PDF and print it as many times as you like."], ["Will drone operators know about it?", "Only if you show, display or share it. The certificate is mainly a record for your own use."], ["Can I use it if I rent my home?", "Yes, if you are a resident or occupier and the declaration reflects your own privacy preference."], ["Can I get certificates for more than one property?", "Yes. Your account supports multiple certificates, and extra properties are discounted."], ]; function Faq() { const [open, setOpen] = React.useState(0); return (
Questions

Frequently asked

{FAQS.map(([q, a], i) => { const isOpen = open === i; return (
{isOpen &&
{a}
}
); })}
); } function FinalCta({ onStart }) { return (

Put your privacy position on record

A clear, dated record for your home — created in about two minutes.

); } function Footer() { const cols = [ ["Product", ["How it works", "What it does", "Pricing", "Example certificate"]], ["Support", ["FAQs", "Contact us", "Verify a certificate"]], ["Legal", ["Terms & conditions", "Privacy policy", "Cookie policy", "Disclaimer"]], ]; return (

This certificate is a dated record of the resident’s stated privacy preference. It is not a government document, CAA authorisation, legal notice, court order or no-fly zone registration. Drone operators remain responsible for complying with all applicable UK aviation, privacy and data protection laws.

A simple way for UK residents to record their drone privacy position.

{cols.map(([h, items]) => (
{h}
    {items.map((it) =>
  • {it}
  • )}
))}
© 2026 MyAirSpace. Not affiliated with any UK government body.
); } function LandingPage({ onStart = () => {} }) { return (
); } window.LandingPage = LandingPage;