6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
733 lines
25 KiB
HTML
733 lines
25 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Security — LandveX | Enterprise-Grade Data Security</title>
|
|
<meta name="description" content="LandveX security overview: data encryption, identity management, GDPR compliance, and operational security for enterprise customers.">
|
|
<link rel="canonical" href="https://landvex.com/security/">
|
|
<meta name="robots" content="index, follow">
|
|
|
|
<!-- Open Graph -->
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="https://landvex.com/security/">
|
|
<meta property="og:title" content="Security — LandveX | Enterprise-Grade Data Security">
|
|
<meta property="og:description" content="LandveX security overview: data encryption, identity management, GDPR compliance, and operational security for enterprise customers.">
|
|
<meta property="og:image" content="https://landvex.com/og-image.jpg">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="Security — LandveX">
|
|
<meta name="twitter:description" content="Enterprise-grade security: TLS 1.3+, AES-256, GDPR compliance, and AWS-hosted infrastructure.">
|
|
<meta name="twitter:image" content="https://landvex.com/og-image.jpg">
|
|
|
|
<!-- Favicons -->
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
|
|
<!-- Structured Data -->
|
|
<script type="application/ld+json">
|
|
{"@context":"https://schema.org","@type":"WebPage","name":"Security — LandveX","url":"https://landvex.com/security/","description":"Enterprise-grade data security at LandveX: encryption, identity, compliance and operational security.","isPartOf":{"@type":"WebSite","url":"https://landvex.com"}}
|
|
</script>
|
|
|
|
<link rel="stylesheet" href="/assets/css/landvex-complete.css">
|
|
<style>
|
|
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
|
|
:root {
|
|
--bg-dark: #f5f5f7;
|
|
--blue: #0066FF;
|
|
--blue-dark: #0052CC;
|
|
--blue-glow: rgba(0, 102, 255, 0.15);
|
|
--text-dark: #0a0a0a;
|
|
--text-body: #3a3a3a;
|
|
--text-muted: #6B6B6B;
|
|
--text-light: #1d1d1f;
|
|
--text-dim: #6B6B6B;
|
|
--surface: #ffffff;
|
|
--surface-2: #f5f5f7;
|
|
--border: rgba(0,0,0,0.08);
|
|
--radius-sm: 8px;
|
|
--radius-md: 14px;
|
|
--radius-lg: 24px;
|
|
--green: #22c55e;
|
|
--green-glow: rgba(34,197,94,0.12);
|
|
}
|
|
|
|
html { scroll-behavior: smooth; }
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Helvetica Neue', sans-serif;
|
|
background: var(--bg-dark);
|
|
color: var(--text-light);
|
|
line-height: 1.6;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
a { color: inherit; text-decoration: none; }
|
|
|
|
/* ── NAV ── */
|
|
nav {
|
|
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
|
|
display: flex; align-items: center; justify-content: space-between;
|
|
padding: 0 40px;
|
|
height: 64px;
|
|
background: rgba(255,255,255,0.92);
|
|
backdrop-filter: blur(16px);
|
|
-webkit-backdrop-filter: blur(16px);
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
|
|
.nav-logo {
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
letter-spacing: -0.3px;
|
|
color: #1d1d1f;
|
|
}
|
|
|
|
.nav-links {
|
|
display: flex; gap: 16px; list-style: none;
|
|
}
|
|
|
|
.nav-links a {
|
|
font-size: 14px;
|
|
color: var(--text-dim);
|
|
transition: color 0.2s;
|
|
}
|
|
.nav-links a:hover { color: #1d1d1f; }
|
|
.nav-links a.active { color: #1d1d1f; }
|
|
|
|
.btn {
|
|
display: inline-flex; align-items: center; gap: 16px;
|
|
padding: 24px;
|
|
background: var(--blue);
|
|
color: #1d1d1f;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
border-radius: var(--radius-md);
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: background 0.2s, transform 0.15s;
|
|
}
|
|
.btn:hover { background: var(--blue-dark); transform: translateY(-1px); }
|
|
.btn-outline {
|
|
background: transparent;
|
|
border: 1.5px solid rgba(0,0,0,0.18);
|
|
color: var(--text-light);
|
|
}
|
|
.btn-outline:hover { background: rgba(0,0,0,0.04); transform: translateY(-1px); }
|
|
.btn-lg { padding: 24px; font-size: 16px; border-radius: var(--radius-md); }
|
|
|
|
/* ── HERO ── */
|
|
.hero {
|
|
min-height: 60vh;
|
|
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
|
text-align: center;
|
|
padding: 24px 72px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Dekorativ bakgrund borttagen */
|
|
|
|
.hero-eyebrow {
|
|
display: inline-flex; align-items: center; gap: 16px;
|
|
background: rgba(34,197,94,0.08);
|
|
border: 1px solid rgba(34,197,94,0.2);
|
|
color: #4ade80;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
padding: 24px;
|
|
border-radius: 100px;
|
|
margin-bottom: 28px;
|
|
}
|
|
|
|
.hero h1 {
|
|
font-size: clamp(40px, 6vw, 72px);
|
|
font-weight: 800;
|
|
letter-spacing: -2px;
|
|
line-height: 1.05;
|
|
color: #1d1d1f;
|
|
max-width: 760px;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.hero-sub {
|
|
font-size: clamp(16px, 2vw, 19px);
|
|
color: var(--text-dim);
|
|
max-width: 580px;
|
|
line-height: 1.65;
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
/* ── TRUST BADGES ── */
|
|
.trust-bar {
|
|
display: flex; gap: 16px; flex-wrap: wrap; justify-content: center;
|
|
padding: 24px;
|
|
border-top: 1px solid var(--border);
|
|
border-bottom: 1px solid var(--border);
|
|
background: var(--surface);
|
|
}
|
|
|
|
.trust-item {
|
|
display: flex; align-items: center; gap: 16px;
|
|
font-size: 14px; font-weight: 600; color: var(--text-dim);
|
|
}
|
|
|
|
.trust-item .icon {
|
|
width: 32px; height: 32px;
|
|
background: var(--green-glow);
|
|
border: 1px solid rgba(34,197,94,0.2);
|
|
border-radius: var(--radius-sm);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 15px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── SECTION COMMON ── */
|
|
section { padding: 24px; }
|
|
.container { max-width: 1100px; margin: 0 auto; }
|
|
|
|
.section-label {
|
|
font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
|
|
text-transform: uppercase; color: var(--green);
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: clamp(26px, 3.5vw, 40px);
|
|
font-weight: 800;
|
|
letter-spacing: -1px;
|
|
line-height: 1.12;
|
|
color: #1d1d1f;
|
|
margin-bottom: 14px;
|
|
}
|
|
|
|
.section-sub {
|
|
font-size: 17px;
|
|
color: var(--text-dim);
|
|
max-width: 540px;
|
|
line-height: 1.7;
|
|
}
|
|
|
|
/* ── SECURITY GRID ── */
|
|
.security-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 16px;
|
|
}
|
|
|
|
.security-card {
|
|
background: var(--surface);
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-lg);
|
|
padding: 24px 32px;
|
|
transition: border-color 0.25s, transform 0.2s;
|
|
}
|
|
.security-card:hover {
|
|
border-color: rgba(34,197,94,0.25);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.card-header {
|
|
display: flex; align-items: flex-start; gap: 16px;
|
|
margin-bottom: 28px;
|
|
}
|
|
|
|
.card-icon {
|
|
width: 48px; height: 48px;
|
|
background: var(--green-glow);
|
|
border: 1px solid rgba(34,197,94,0.2);
|
|
border-radius: var(--radius-md);
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 22px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.card-title-wrap h2 {
|
|
font-size: 19px; font-weight: 800;
|
|
color: #1d1d1f; letter-spacing: -0.3px;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.card-title-wrap p {
|
|
font-size: 13px; color: var(--text-muted);
|
|
}
|
|
|
|
.security-items {
|
|
list-style: none;
|
|
display: flex; flex-direction: column; gap: 16px;
|
|
}
|
|
|
|
.security-items li {
|
|
display: flex; align-items: flex-start; gap: 16px;
|
|
font-size: 14.5px;
|
|
color: #c8c8c8;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.security-items li::before {
|
|
content: '✓';
|
|
color: var(--green);
|
|
font-weight: 800;
|
|
font-size: 14px;
|
|
margin-top: 1px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── ENTERPRISE CTA ── */
|
|
.enterprise-block {
|
|
background: var(--surface);
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-lg);
|
|
padding: 24px;
|
|
display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
|
|
}
|
|
|
|
.enterprise-block .main { flex: 1; min-width: 260px; }
|
|
|
|
.enterprise-block h2 {
|
|
font-size: clamp(22px, 3vw, 32px);
|
|
font-weight: 800; color: #1d1d1f;
|
|
letter-spacing: -0.8px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.enterprise-block p {
|
|
font-size: 16px; color: var(--text-dim);
|
|
max-width: 460px; line-height: 1.65;
|
|
}
|
|
|
|
.enterprise-block .actions {
|
|
display: flex; flex-direction: column; gap: 16px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.enterprise-block .contact-item {
|
|
display: flex; align-items: center; gap: 16px;
|
|
font-size: 14px; color: var(--text-dim);
|
|
}
|
|
|
|
.enterprise-block .contact-item strong { color: #1d1d1f; }
|
|
|
|
/* ── COMPLIANCE STRIP ── */
|
|
.compliance-strip {
|
|
background: rgba(0,102,255,0.04);
|
|
border: 1px solid rgba(0,102,255,0.12);
|
|
border-radius: var(--radius-lg);
|
|
padding: 24px;
|
|
display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
|
|
}
|
|
|
|
.compliance-badge {
|
|
display: flex; align-items: center; gap: 16px;
|
|
}
|
|
|
|
.compliance-badge .dot {
|
|
width: 8px; height: 8px;
|
|
background: var(--green);
|
|
border-radius: 50%;
|
|
box-shadow: 0 0 6px rgba(34,197,94,0.6);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.compliance-badge span {
|
|
font-size: 14px; font-weight: 600; color: var(--text-light);
|
|
}
|
|
|
|
.compliance-divider {
|
|
width: 1px; height: 32px;
|
|
background: var(--border);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── FOOTER ── */
|
|
footer {
|
|
border-top: 1px solid var(--border);
|
|
padding: 24px;
|
|
}
|
|
|
|
.footer-inner {
|
|
max-width: 1140px; margin: 0 auto;
|
|
display: flex; align-items: center; justify-content: space-between;
|
|
flex-wrap: wrap; gap: 16px;
|
|
}
|
|
|
|
.footer-logo { font-size: 17px; font-weight: 700; color: #1d1d1f; }
|
|
.footer-copy { font-size: 13px; color: var(--text-muted); }
|
|
|
|
.footer-links { display: flex; gap: 16px; align-items: center; }
|
|
.footer-links a { font-size: 14px; color: var(--text-muted); transition: color 0.2s; }
|
|
.footer-links a:hover { color: #1d1d1f; }
|
|
.footer-tagline { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
|
|
|
|
.footer-social {
|
|
width: 32px; height: 32px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
transition: border-color 0.2s, background 0.2s;
|
|
}
|
|
.footer-social:hover { border-color: rgba(0,0,0,0.25); background: rgba(0,0,0,0.04); }
|
|
|
|
/* ── RESPONSIVE ── */
|
|
@media (max-width: 900px) {
|
|
nav { padding: 0 20px; }
|
|
.nav-links { display: none; }
|
|
.security-grid { grid-template-columns: 1fr; }
|
|
.enterprise-block { padding: 24px; gap: 16px; }
|
|
.compliance-divider { display: none; }
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
section { padding: 24px; }
|
|
.trust-bar { gap: 16px; }
|
|
.security-card { padding: 24px; }
|
|
.footer-inner { flex-direction: column; text-align: center; }
|
|
}
|
|
</style>
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 1,
|
|
"name": "Landvex",
|
|
"item": "https://landvex.com/"
|
|
},
|
|
{
|
|
"@type": "ListItem",
|
|
"position": 2,
|
|
"name": "Security",
|
|
"item": "https://landvex.com/security/"
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
<link rel="alternate" hreflang="x-default" href="https://landvex.com/">
|
|
<link rel="alternate" hreflang="en" href="https://landvex.com/">
|
|
<link rel="alternate" hreflang="sv" href="https://landvex.se/">
|
|
<link rel="alternate" hreflang="de" href="https://landvex.de/">
|
|
<link rel="alternate" hreflang="fr" href="https://landvex.fr/">
|
|
<link rel="alternate" hreflang="en-GB" href="https://landvex.co.uk/">
|
|
<link rel="alternate" hreflang="it" href="https://landvex.it/">
|
|
<style>
|
|
@media (max-width: 640px) {
|
|
.hero h1 { font-size: 2rem !important; }
|
|
.hero p { font-size: 1rem !important; }
|
|
.card { padding: 1.5rem !important; }
|
|
.grid { grid-template-columns: 1fr !important; }
|
|
.btn { padding: 0.75rem 1.5rem !important; font-size: 1rem !important; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<nav aria-label="breadcrumb" aria-label="Main navigation">
|
|
<a href="/" >Home</a> / <span>security</span>
|
|
</nav>
|
|
|
|
<!-- NAV -->
|
|
<nav aria-label="Main navigation">
|
|
<a class="nav-logo" href="/">LandveX</a>
|
|
<ul class="nav-links">
|
|
<li><a href="/#how-it-works">How it works</a></li>
|
|
<li><a href="/#verticals">Verticals</a></li>
|
|
<li><a href="/security/" class="active">Security</a></li>
|
|
<li><a href="/#contact">Contact</a></li>
|
|
</ul>
|
|
<a class="lv-btn lv-btn--outline" href="/#contact">Get in touch →</a>
|
|
</nav>
|
|
|
|
<!-- HERO -->
|
|
<section class="lv-hero">
|
|
<div class="lv-hero-eyebrow">🔒 Enterprise Security</div>
|
|
<h1>Built secure<br>from the ground up.</h1>
|
|
<p class="lv-hero-subtitle">LandveX runs on AWS infrastructure in Stockholm, with end-to-end encryption, verified identity chains, and GDPR-compliant data handling — designed for organisations that demand it.</p>
|
|
<div>
|
|
<a class="lv-btn lv-btn--lg" href="mailto:security@landvex.com">Contact security team →</a>
|
|
<a class="btn btn-outline btn-lg" href="/#contact">Request DPA</a>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- TRUST BAR -->
|
|
<div class="trust-bar">
|
|
<div class="trust-item">
|
|
<div class="icon">🔐</div>
|
|
AES-256 at rest
|
|
</div>
|
|
<div class="trust-item">
|
|
<div class="icon">🔒</div>
|
|
TLS 1.3+ in transit
|
|
</div>
|
|
<div class="trust-item">
|
|
<div class="icon">🇪🇺</div>
|
|
EU data residency
|
|
</div>
|
|
<div class="trust-item">
|
|
<div class="icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#00C853" stroke-width="3"><path d="M20 6L9 17l-5-5"/></svg></div>
|
|
GDPR compliant
|
|
</div>
|
|
<div class="trust-item">
|
|
<div class="icon">🏛️</div>
|
|
Hosted on AWS SOC 2 Type II infrastructure
|
|
</div>
|
|
<div class="trust-item">
|
|
<div class="icon">🛡️</div>
|
|
ISO 27001-certified infrastructure (AWS)
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SECURITY SECTIONS -->
|
|
<section>
|
|
<div class="lv-container">
|
|
<div>
|
|
<div class="section-label">Security overview</div>
|
|
<h2 class="section-title">Six layers of enterprise-grade protection.</h2>
|
|
<p class="section-sub">Every aspect of the Landvex platform is designed to meet the requirements of enterprise customers — from data capture to delivery.</p>
|
|
</div>
|
|
|
|
<div class="security-grid">
|
|
|
|
<!-- Data Security -->
|
|
<div class="security-card" onclick="location.href='#contact'" role="button" tabindex="0">
|
|
<div class="card-header">
|
|
<div class="card-icon">🔐</div>
|
|
<div class="card-title-wrap">
|
|
<h2>Data Security</h2>
|
|
<p>Encryption end-to-end, always</p>
|
|
</div>
|
|
</div>
|
|
<ul class="security-items">
|
|
<li>All data encrypted in transit using TLS 1.3 or higher</li>
|
|
<li>All data encrypted at rest using AES-256</li>
|
|
<li>AWS infrastructure: eu-north-1 (Stockholm) primary region</li>
|
|
<li>S3 server-side encryption enabled on all buckets</li>
|
|
<li>CloudFront HTTPS-only — HTTP requests redirected automatically</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Identity & Access -->
|
|
<div class="security-card" onclick="location.href='#contact'" role="button" tabindex="0">
|
|
<div class="card-header">
|
|
<div class="card-icon">🪪</div>
|
|
<div class="card-title-wrap">
|
|
<h2>Identity & Access</h2>
|
|
<p>Verified identities, least-privilege access</p>
|
|
</div>
|
|
</div>
|
|
<ul class="security-items">
|
|
<li>Contributor identity verification required before first payout (KYC)</li>
|
|
<li>JWT-based authentication using RS256 asymmetric signing</li>
|
|
<li>Role-based access control: Zoomer / Orderer / Admin</li>
|
|
<li>No shared credentials anywhere in the platform</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Data Integrity -->
|
|
<div class="security-card" onclick="location.href='#contact'" role="button" tabindex="0">
|
|
<div class="card-header">
|
|
<div class="card-icon">🔗</div>
|
|
<div class="card-title-wrap">
|
|
<h2>Data Integrity</h2>
|
|
<p>Tamper-evident submission chain</p>
|
|
</div>
|
|
</div>
|
|
<ul class="security-items">
|
|
<li>Every submission receives a cryptographic integrity hash at capture</li>
|
|
<li>AI review verifies geo-compliance, image authenticity, and spec compliance</li>
|
|
<li>Submissions linked to verified contributor identity throughout the chain</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Privacy & Compliance -->
|
|
<div class="security-card" onclick="location.href='#contact'" role="button" tabindex="0">
|
|
<div class="card-header">
|
|
<div class="card-icon">🇪🇺</div>
|
|
<div class="card-title-wrap">
|
|
<h2>Privacy & Compliance</h2>
|
|
<p>GDPR by design, not as an afterthought</p>
|
|
</div>
|
|
</div>
|
|
<ul class="security-items">
|
|
<li>GDPR compliant — all data stored within EU (Stockholm)</li>
|
|
<li>Data minimization: only data necessary for mission execution collected</li>
|
|
<li>Right to erasure fully supported for contributors and end users</li>
|
|
<li>Privacy policy: <a href="https://landvex.com/privacy" >landvex.com/privacy</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Operational Security -->
|
|
<div class="security-card" onclick="location.href='#contact'" role="button" tabindex="0">
|
|
<div class="card-header">
|
|
<div class="card-icon">⚙️</div>
|
|
<div class="card-title-wrap">
|
|
<h2>Operational Security</h2>
|
|
<p>Hardened, monitored, incident-ready</p>
|
|
</div>
|
|
</div>
|
|
<ul class="security-items">
|
|
<li>Infrastructure hosted on AWS — SOC 2 Type II and ISO 27001 certified. Landvex own ISO 27001 certification: in planning for 2027.</li>
|
|
<li>Automated vulnerability scanning on all production systems</li>
|
|
<li>Incident response process documented and tested</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Enterprise -->
|
|
<div class="security-card" onclick="location.href='#contact'" role="button" tabindex="0">
|
|
<div class="card-header">
|
|
<div class="card-icon">🏢</div>
|
|
<div class="card-title-wrap">
|
|
<h2>Enterprise</h2>
|
|
<p>Agreements, questionnaires, direct contact</p>
|
|
</div>
|
|
</div>
|
|
<ul class="security-items">
|
|
<li>Data Processing Agreements (DPA) available on request</li>
|
|
<li>Security questionnaires handled within 5 business days</li>
|
|
<li>Dedicated contact: <a href="mailto:security@landvex.com" >security@landvex.com</a></li>
|
|
</ul>
|
|
<div>
|
|
<a href="mailto:security@landvex.com" class="btn">Request DPA or questionnaire →</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- COMPLIANCE STRIP -->
|
|
<section>
|
|
<div class="lv-container">
|
|
<div class="compliance-strip">
|
|
<div>
|
|
<div>Compliance status</div>
|
|
<div>All systems ready for August 2026 launch</div>
|
|
</div>
|
|
<div class="compliance-divider"></div>
|
|
<div class="compliance-badge">
|
|
<div class="dot"></div>
|
|
<span>GDPR — EU data residency</span>
|
|
</div>
|
|
<div class="compliance-divider"></div>
|
|
<div class="compliance-badge">
|
|
<div class="dot"></div>
|
|
<span>Hosted on AWS SOC 2 Type II infrastructure</span>
|
|
</div>
|
|
<div class="compliance-divider"></div>
|
|
<div class="compliance-badge">
|
|
<div class="dot"></div>
|
|
<span>ISO 27001-certified infrastructure (AWS eu-north-1)</span>
|
|
</div>
|
|
<div class="compliance-divider"></div>
|
|
<div class="compliance-badge">
|
|
<div class="dot"></div>
|
|
<span>TLS 1.3+ enforced</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- ENTERPRISE CTA -->
|
|
<section>
|
|
<div class="lv-container">
|
|
<div class="enterprise-block">
|
|
<div class="main">
|
|
<div class="section-label">Enterprise ready</div>
|
|
<h2>Security questions? We answer them.</h2>
|
|
<p>Procurement, legal, or IT security teams with questions about the Landvex platform can contact our security team directly. We respond to all questionnaires within 5 business days.</p>
|
|
<div>
|
|
<div class="contact-item">
|
|
<span>📧</span>
|
|
<span>Security team: <strong><a href="mailto:security@landvex.com" >security@landvex.com</a></strong></span>
|
|
</div>
|
|
<div class="contact-item">
|
|
<span>📄</span>
|
|
<span>DPA available on request</span>
|
|
</div>
|
|
<div class="contact-item">
|
|
<span>⏱️</span>
|
|
<span>Questionnaire SLA: <strong>5 business days</strong></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="actions">
|
|
<a class="lv-btn lv-btn--lg" href="mailto:security@landvex.com">Email security team →</a>
|
|
<a class="btn btn-outline btn-lg" href="/#contact">General enquiry</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- FOOTER -->
|
|
|
|
<section>
|
|
<h2>Trust Centre — Security Documentation</h2>
|
|
<p>
|
|
Enterprise and government clients can request the following documentation under NDA.
|
|
We respond within one business day.
|
|
</p>
|
|
<div>
|
|
<div>
|
|
<div>Penetration test summary</div>
|
|
<div>Most recent external pen test — under NDA</div>
|
|
</div>
|
|
<div>
|
|
<div>AWS compliance reports</div>
|
|
<div>SOC 2 Type II + ISO 27001 (AWS infrastructure)</div>
|
|
</div>
|
|
<div>
|
|
<div>CAIQ / SIG questionnaire</div>
|
|
<div>Pre-filled security assessment on request</div>
|
|
</div>
|
|
<div>
|
|
<div>Data Processing Agreement</div>
|
|
<div><a href="/dpa" >View DPA →</a></div>
|
|
</div>
|
|
</div>
|
|
<a href="mailto:security@landvex.com?subject=Security%20documentation%20request"
|
|
>
|
|
Request documentation →
|
|
</a>
|
|
<p>
|
|
Landvex own ISO 27001: in planning for 2027. SOC 2 Type I target: Q4 2026.
|
|
We do not claim certifications we do not hold.
|
|
</p>
|
|
</section>
|
|
|
|
<footer class="lv-footer" role="contentinfo">
|
|
<div class="footer-inner">
|
|
<div>
|
|
<div class="footer-logo">LandveX</div>
|
|
<div class="footer-copy">© 2026 Landvex Inc · Landvex AB (org.nr 559141-7042)</div>
|
|
<div class="footer-tagline">Decision intelligence for the physical world.</div>
|
|
</div>
|
|
<div class="footer-links">
|
|
<a href="/privacy">Privacy</a>
|
|
<a href="/terms">Terms</a>
|
|
<a href="/security/" >Security</a>
|
|
<a href="https://www.quixzoom.com/" target="_blank" rel="noopener">quiXzoom →</a>
|
|
<a href="mailto:contact@landvex.com">contact@landvex.com</a>
|
|
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on LinkedIn">
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<rect x="2" y="9" width="4" height="12" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<circle cx="4" cy="4" r="2" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</svg>
|
|
</a>
|
|
<a href="https://x.com/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on X">
|
|
<svg width="15" height="15" viewBox="0 0 24 24" fill="#888" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</body>
|
|
</html>
|