2026-07-07 07:11:50 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, viewport-fit=cover" >
< title > Trust Centre — Landvex< / title >
< meta name = "description" content = "Landvex Trust Centre: infrastructure security, data quality guarantee, contributor verification chain, DPA, penetration testing, and responsible disclosure." >
< link rel = "canonical" href = "https://landvex.com/trust/" >
< 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 = "alternate" hreflang = "x-default" href = "https://landvex.com/" >
< link rel = "alternate" hreflang = "en" href = "https://landvex.com/" > < link rel = "stylesheet" href = "/assets/css/landvex-complete.css" >
< style >
: root {
--bg : #F2F2F7 ;
--surface : #FFFFFF ;
--surface2 : #F2F2F7 ;
--label : #000000 ;
--label2 : #3C3C43 ;
--label3 : rgba ( 60 , 60 , 67 , 0.65 ) ;
--separator : rgba ( 60 , 60 , 67 , 0.29 ) ;
--accent : #0066FF ;
--font : - apple-system , "SF Pro Text" , "Helvetica Neue" , sans-serif ;
--font-display : - apple-system , "SF Pro Display" , "Helvetica Neue" , sans-serif ;
--radius-lg : 16 px ;
--radius-sm : 10 px ;
}
@ media ( prefers-color-scheme : dark ) {
: root {
--bg : #000000 ;
--surface : #1C1C1E ;
--surface2 : #2C2C2E ;
--label : #FFFFFF ;
--label2 : #EBEBF5 ;
--label3 : rgba ( 235 , 235 , 245 , 0.65 ) ;
--separator : rgba ( 84 , 84 , 88 , 0.65 ) ;
}
}
* { box-sizing : border-box ; margin : 0 ; padding : 0 ; -webkit- font-smoothing : antialiased ; }
body {
font-family : var ( - - font ) ;
background : var ( - - bg ) ;
color : var ( - - label ) ;
padding : env ( safe - area - inset - top , 20 px ) env ( safe - area - inset - right , 20 px ) env ( safe - area - inset - bottom , 40 px ) env ( safe - area - inset - left , 20 px ) ;
max-width : 680 px ;
margin : 0 auto ;
}
header { padding : 32 px 0 24 px ; text-align : center ; }
header . logo { font-family : var ( - - font - display ) ; font-size : 28 px ; font-weight : 700 ; letter-spacing : -0.5 px ; color : var ( - - accent ) ; }
header h1 { font-family : var ( - - font - display ) ; font-size : 22 px ; font-weight : 700 ; color : var ( - - label ) ; margin-top : 6 px ; }
header p { font-size : 13 px ; color : var ( - - label3 ) ; margin-top : 4 px ; }
. card { background : var ( - - surface ) ; border-radius : var ( - - radius - lg ) ; padding : 20 px ; margin-bottom : 12 px ; }
. card-title { font-family : var ( - - font - display ) ; font-size : 17 px ; font-weight : 600 ; color : var ( - - label ) ; margin-bottom : 12 px ; }
p , li { font-size : 15 px ; line-height : 1.6 ; color : var ( - - label2 ) ; }
ul { padding-left : 20 px ; margin-top : 8 px ; }
li { margin-bottom : 6 px ; }
. row { display : flex ; align-items : flex-start ; gap : 16 px ; padding : 12 px 0 ; border-bottom : 0.5 px solid var ( - - separator ) ; }
. row : last-child { border-bottom : none ; }
. row-icon { width : 36 px ; height : 36 px ; border-radius : var ( - - radius - md ) ; display : flex ; align-items : center ; justify-content : center ; flex-shrink : 0 ; }
. blue { background : rgba ( 0 , 102 , 255 , 0.12 ) ; }
. green { background : rgba ( 52 , 199 , 89 , 0.12 ) ; }
. orange { background : rgba ( 255 , 149 , 0 , 0.12 ) ; }
. red { background : rgba ( 255 , 59 , 48 , 0.12 ) ; }
. purple { background : rgba ( 175 , 82 , 222 , 0.12 ) ; }
. teal { background : rgba ( 50 , 173 , 230 , 0.12 ) ; }
. row-content { flex : 1 ; }
. row-label { font-size : 15 px ; font-weight : 600 ; color : var ( - - label ) ; }
. row-sub { font-size : 13 px ; color : var ( - - label3 ) ; margin-top : 2 px ; line-height : 1.5 ; }
a { color : var ( - - accent ) ; text-decoration : none ; }
footer { text-align : center ; padding : 24 px 0 8 px ; font-size : 13 px ; color : var ( - - label3 ) ; }
footer a { color : var ( - - accent ) ; }
. stat-grid { display : grid ; grid-template-columns : 1 fr 1 fr ; gap : 16 px ; margin-top : 0 ; margin-bottom : 12 px ; }
. stat-box { background : var ( - - surface ) ; border-radius : var ( - - radius - lg ) ; padding : 16 px ; text-align : center ; }
. stat-val { font-family : var ( - - font - display ) ; font-size : 22 px ; font-weight : 700 ; color : var ( - - label ) ; }
. stat-lbl { font-size : 12 px ; color : var ( - - label3 ) ; margin-top : 3 px ; }
. chain-step { display : flex ; align-items : flex-start ; gap : 16 px ; padding : 10 px 0 ; border-bottom : 0.5 px solid var ( - - separator ) ; }
. chain-step : last-child { border-bottom : none ; }
. chain-num { width : 28 px ; height : 28 px ; border-radius : var ( - - radius - full ) ; background : rgba ( 0 , 102 , 255 , 0.12 ) ; color : var ( - - accent ) ; font-size : 13 px ; font-weight : 700 ; display : flex ; align-items : center ; justify-content : center ; flex-shrink : 0 ; margin-top : 2 px ; }
. chain-content { flex : 1 ; }
. chain-label { font-size : 14 px ; font-weight : 600 ; color : var ( - - label ) ; }
. chain-sub { font-size : 13 px ; color : var ( - - label3 ) ; margin-top : 2 px ; line-height : 1.5 ; }
@ media ( max-width : 640px ) {
. hero h1 { font-size : 2 rem !important ; }
. hero p { font-size : 1 rem !important ; }
. card { padding : 1.5 rem !important ; }
. grid { grid-template-columns : 1 fr !important ; }
. btn { padding : 0.75 rem 1.5 rem !important ; font-size : 1 rem !important ; }
}
< / style >
< / head >
< body >
< nav aria-label = "breadcrumb" aria-label = "Main navigation" >
< a href = "/" > Home< / a > / < span > trust< / span >
< / nav >
< header class = "lv-header" >
< div class = "logo" > < a href = "https://landvex.com/" > Landvex< / a > < / div >
< h1 > Trust Centre< / h1 >
< p > Infrastructure, data quality, and security for enterprise clients< / p >
< / header >
< div class = "stat-grid" >
< div class = "stat-box" >
< div class = "stat-val" > AES-256< / div >
< div class = "stat-lbl" > Encryption at rest< / div >
< / div >
< div class = "stat-box" >
< div class = "stat-val" > TLS 1.3< / div >
< div class = "stat-lbl" > Encryption in transit< / div >
< / div >
< div class = "stat-box" >
< div class = "stat-val" > 85%+< / div >
< div class = "stat-lbl" > AI approval rate target< / div >
< / div >
< div class = "stat-box" >
< div class = "stat-val" > EU-only< / div >
< div class = "stat-lbl" > AWS eu-north-1< / div >
< / div >
< / div >
< div class = "card" id = "infrastructure" >
< div class = "card-title" > Infrastructure Security< / div >
< div class = "row" >
< div class = "row-icon blue" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#0066ff" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < rect x = "3" y = "11" width = "18" height = "11" rx = "2" / > < path d = "M7 11V7a5 5 0 0 1 10 0v4" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Encryption at rest — AES-256< / div >
< div class = "row-sub" > All stored data — intelligence outputs, client configurations, contributor records — is encrypted with AES-256 using AWS KMS-managed keys with automated annual rotation.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon green" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#34c759" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Encryption in transit — TLS 1.3< / div >
< div class = "row-sub" > All API and web traffic is encrypted with TLS 1.3. TLS 1.0 and 1.1 are not supported. HSTS is enforced on all production endpoints.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon teal" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#32ade6" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < circle cx = "12" cy = "12" r = "10" / > < line x1 = "2" y1 = "12" x2 = "22" y2 = "12" / > < path d = "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10z" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > AWS eu-north-1 — Stockholm< / div >
< div class = "row-sub" > Landvex runs exclusively on AWS eu-north-1 (Stockholm, Sweden). Data does not leave the European Union in normal operation. Network isolation via VPC with restricted security group rules and no public database access.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon purple" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#af52de" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < rect x = "2" y = "2" width = "20" height = "8" rx = "2" ry = "2" / > < rect x = "2" y = "14" width = "20" height = "8" rx = "2" ry = "2" / > < line x1 = "6" y1 = "6" x2 = "6.01" y2 = "6" / > < line x1 = "6" y1 = "18" x2 = "6.01" y2 = "18" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > SOC 2 Type II infrastructure< / div >
< div class = "row-sub" > Landvex operates on AWS infrastructure certified to SOC 2 Type II and ISO 27001. AWS compliance artefacts are available on request via < a href = "mailto:compliance@landvex.com" > compliance@landvex.com< / a > .< / div >
< / div >
< / div >
< / div >
< div class = "card" id = "data-quality" >
< div class = "card-title" > Data Quality Assurance< / div >
< div class = "row" >
< div class = "row-icon orange" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#ff9500" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < polyline points = "22 12 18 12 15 21 9 3 6 12 2 12" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > 85%+ AI approval rate target< / div >
< div class = "row-sub" > Landvex targets a minimum 85% approval rate for submitted intelligence. Each submission is reviewed by the Landvex AI engine before acceptance. The approval rate is tracked per project and included in delivery reports.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon blue" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#0066ff" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < circle cx = "11" cy = "11" r = "8" / > < line x1 = "21" y1 = "21" x2 = "16.65" y2 = "16.65" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Human review available< / div >
< div class = "row-sub" > For projects requiring higher assurance, human review can be added as a quality layer alongside AI review. Available on enterprise contracts. Contact your account manager to activate.< / div >
< / div >
< / div >
< / div >
< div class = "card" id = "verification-chain" >
< div class = "card-title" > Verification Chain< / div >
< p > Every intelligence output delivered to enterprise clients passes through four verification stages.< / p >
< div class = "chain-step" >
< div class = "chain-num" > 1< / div >
< div class = "chain-content" >
< div class = "chain-label" > Contributor identity verification< / div >
< div class = "chain-sub" > All contributors (Zoomers) complete KYC identity verification before their first payout. Only verified contributors may submit intelligence.< / div >
< / div >
< / div >
< div class = "chain-step" >
< div class = "chain-num" > 2< / div >
< div class = "chain-content" >
< div class = "chain-label" > GPS validation< / div >
< div class = "chain-sub" > GPS coordinates are validated against the mission target location at submission time. Out-of-range submissions are automatically rejected.< / div >
< / div >
< / div >
< div class = "chain-step" >
< div class = "chain-num" > 3< / div >
< div class = "chain-content" >
< div class = "chain-label" > AI quality review< / div >
< div class = "chain-sub" > The Landvex AI engine reviews each submission for technical quality, specification compliance, and instruction adherence before acceptance.< / div >
< / div >
< / div >
< div class = "chain-step" >
< div class = "chain-num" > 4< / div >
< div class = "chain-content" >
< div class = "chain-label" > Delivery< / div >
< div class = "chain-sub" > Only approved submissions are delivered to enterprise clients. Payout to the contributor is triggered on approval. Rejected submissions are not delivered and not paid.< / div >
< / div >
< / div >
< / div >
< div class = "card" id = "dpa" >
< div class = "card-title" > Data Processing Agreement< / div >
< div class = "row" >
< div class = "row-icon blue" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#0066ff" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" / > < polyline points = "14 2 14 8 20 8" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Available on request< / div >
< div class = "row-sub" > A GDPR Art. 28 compliant Data Processing Agreement is available for all enterprise contracts. Standard Contractual Clauses for non-EEA clients are also available. Request via: < a href = "mailto:legal@landvex.com" > legal@landvex.com< / a > < / div >
< / div >
< / div >
< p > Full DPA documentation: < a href = "/dpa/" > /dpa/< / a > < / p >
< / div >
< div class = "card" id = "security" >
< div class = "card-title" > Security Programme< / div >
< div class = "row" >
< div class = "row-icon red" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#ff3b30" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" / > < line x1 = "12" y1 = "9" x2 = "12" y2 = "13" / > < line x1 = "12" y1 = "17" x2 = "12.01" y2 = "17" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Penetration testing — annual< / div >
< div class = "row-sub" > Landvex commissions independent penetration testing of its platform annually. Reports are available to enterprise clients under NDA. Contact < a href = "mailto:compliance@landvex.com" > compliance@landvex.com< / a > to request.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon orange" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#ff9500" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Responsible disclosure< / div >
< div class = "row-sub" > Security vulnerability reports: < a href = "mailto:security@landvex.com" > security@landvex.com< / a > . We acknowledge within 48 hours. Good-faith security research is welcomed; we do not pursue legal action against researchers acting responsibly.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon teal" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#32ade6" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < circle cx = "12" cy = "12" r = "10" / > < polyline points = "12 6 12 12 16 14" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > Security overview< / div >
< div class = "row-sub" > Full technical security documentation: < a href = "/security/" > /security/< / a > < / div >
< / div >
< / div >
< / div >
< div class = "card" id = "data-lineage-subprocessors" >
< div class = "card-title" > Data Lineage & Sub-processors< / div >
< div class = "row" >
< div class = "row-icon blue" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#0066ff" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < polyline points = "16 18 22 12 16 6" / > < polyline points = "8 6 2 12 8 18" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > < a href = "/data-lineage/" > Data Lineage< / a > < / div >
< div class = "row-sub" > How data moves through the Landvex pipeline — field capture through intelligence delivery. Every transformation step documented.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon purple" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#af52de" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" / > < circle cx = "9" cy = "7" r = "4" / > < path d = "M23 21v-2a4 4 0 0 0-3-3.87" / > < path d = "M16 3.13a4 4 0 0 1 0 7.75" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > < a href = "/subprocessors/" > Sub-processors< / a > < / div >
< div class = "row-sub" > Third-party processors engaged by Landvex AB. GDPR Article 28 compliant. Updated when sub-processors change.< / div >
< / div >
< / div >
< / div >
< div class = "card" >
< div class = "card-title" > Related Documents< / div >
< div class = "row" >
< div class = "row-icon blue" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#0066ff" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" / > < polyline points = "14 2 14 8 20 8" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > < a href = "/dpa/" > Data Processing Agreement< / a > < / div >
< div class = "row-sub" > GDPR Art. 28 DPA and Standard Contractual Clauses.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon green" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#34c759" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" / > < polyline points = "14 2 14 8 20 8" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > < a href = "/compliance/" > Compliance< / a > < / div >
< div class = "row-sub" > GDPR, infrastructure certifications, and questionnaire process.< / div >
< / div >
< / div >
< div class = "row" >
< div class = "row-icon teal" >
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "none" stroke = "#32ade6" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" > < path d = "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" / > < polyline points = "14 2 14 8 20 8" / > < / svg >
< / div >
< div class = "row-content" >
< div class = "row-label" > < a href = "/data-quality/" > Data quality< / a > < / div >
< div class = "row-sub" > Methodology, accuracy metrics, and quality guarantees.< / div >
< / div >
< / div >
< / div >
< footer class = "lv-footer" role = "contentinfo" >
< p > < a href = "https://landvex.com/" > Landvex< / a > · < a href = "/privacy/" > Privacy< / a > · < a href = "/compliance/" > Compliance< / a > · < a href = "/dpa/" > DPA< / a > · < a href = "/data-lineage/" > Data Lineage< / a > · < a href = "/subprocessors/" > Sub-processors< / a > · < a href = "/security/" > Security< / a > · < a href = "/cookie-policy/" > Cookies< / a > < / p >
2026-07-14 15:27:33 +00:00
< p > © 2026 Landvex AB · Org.nr 559141-7042 · Stockholm, Sweden · < a href = "mailto:compliance@landvex.com" > compliance@landvex.com< / a > < / p >
2026-07-07 07:11:50 +00:00
< / footer >
< / body >
< / html >