PageSourceSearch

https://anyfinder.app/legal/privacy

html anyfinder.app collected 2026-10-04 17:05:34 UTC 24,811 bytes, 243 lines download raw bytes

1<!doctype html>
2<html lang="en">
3	<head>
4		<meta charset="utf-8" />
5		<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6		<meta name="text-scale" content="scale" />
7		<meta name="theme-color" content="#ff9200" />
8		<!-- iOS standalone: let web content render under the status bar so the map
9		     goes edge-to-edge. Without "black-translucent" iOS insets the page below
10		     the status bar and safe-area-inset-top stays 0. -->
11		<meta name="apple-mobile-web-app-capable" content="yes" />
12		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
13
14		<!-- Preload the boot-splash logo so it fetches from the first byte, in parallel
15		     with the render-blocking bundle CSS, instead of being discovered only when
16		     the parser reaches the <img> late in <body>. Keeps the splash artwork from
17		     lagging the brand text and improves LCP on the indexable homepage. -->
18		<link rel="preload" as="image" href="/img/anyfinder-logo-512.png" />
19
20		<!-- Boot splash: static markup + inline CSS so it paints on the very first
21		     frame, before the JS bundle hydrates. It covers the brief mobile→desktop
22		     layout reflow as the map shell resolves the viewport breakpoint, and is
23		     removed by dismissBootSplash() once the correct split has rendered. -->
24		<style>
25			/* Boot splash paints before app.css; mirror tokens from fonts.css / app.css here. */
26			#app-splash {
27				--app-splash-logo-size: min(220px, 56vw);
28				--font-body: 'Public Sans', 'Avenir Next', Avenir, 'Segoe UI', sans-serif;
29				--font-weight-bold: 700;
30				--font-weight-regular: 400;
31				--type-scale-2xl: clamp(1.8rem, 5vw, 2.6rem);
32				--type-scale-base: 1rem;
33				--type-scale-md: 0.9rem;
34				--type-scale-sm: 0.85rem;
35				--color-muted: #55605a;
36				--color-brand-any: #0047ab;
37				--color-brand-finder: #ff9200;
38				--color-kind-filter: #0047ab;
39				position: fixed;
40				inset: 0;
41				z-index: 2147483647;
42				display: flex;
43				align-items: center;
44				justify-content: center;
45				background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 48%, #eef1f4 100%);
46				transition: opacity 320ms ease;
47			}
48			#app-splash .app-splash__brand {
49				position: absolute;
50				top: calc((env(safe-area-inset-top, 0px) + (50vh - var(--app-splash-logo-size) / 2)) / 2);
51				left: 0;
52				right: 0;
53				margin: 0;
54				transform: translateY(-50%);
55				font-family: var(--font-body);
56				font-size: var(--type-scale-2xl);
57				font-weight: var(--font-weight-bold);
58				line-height: 1.15;
59				letter-spacing: -0.02em;
60				text-align: center;
61			}
62			#app-splash .app-splash__brand-any {
63				color: var(--color-brand-any);
64			}
65			#app-splash .app-splash__brand-finder {
66				color: var(--color-brand-finder);
67			}
68			#app-splash .app-splash__meta {
69				position: absolute;
70				bottom: 1.1rem;
71				left: 0;
72				right: 0;
73				display: flex;
74				flex-direction: column;
75				align-items: center;
76				gap: 0.2rem;
77				margin: 0;
78				transform: translateY(-50%);
79				font-family: var(--font-body);
80				font-size: var(--type-scale-base);
81				font-weight: var(--font-weight-regular);
82				line-height: 1.15;
83				letter-spacing: 0.01em;
84				text-align: center;
85				color: var(--color-muted);
86			}
87			#app-splash .app-splash__meta-line {
88				margin: 0;
89			}
90			#app-splash .app-splash__meta-sub {
91				font-size: var(--type-scale-md);
92			}
93			#app-splash .app-splash__meta-version {
94				font-size: var(--type-scale-sm);
95			}
96			#app-splash[data-hide] {
97				opacity: 0;
98				pointer-events: none;
99			}
100			#app-splash .app-splash__logo {
101				box-sizing: border-box;
102				width: var(--app-splash-logo-size);
103				height: var(--app-splash-logo-size);
104				display: flex;
105				align-items: center;
106				justify-content: center;
107				animation: app-splash-pulse 1.4s ease-in-out infinite;
108			}
109			#app-splash .app-splash__icon {
110				width: 100%;
111				height: 100%;
112				object-fit: contain;
113				display: block;
114			}
115			@keyframes app-splash-pulse {
116				0%,
117				100% {
118					opacity: 0.55;
119					transform: scale(0.98);
120				}
121				50% {
122					opacity: 1;
123					transform: scale(1);
124				}
125			}
126			/* Desktop: the phone splash intentionally spreads brand/logo/meta from top to
127			   bottom, but on a wide viewport that reads as stretched. Collapse the absolute
128			   positioning into a centered flex column so the three groups cluster together. */
129			@media (min-width: 900px) {
130				#app-splash {
131					flex-direction: column;
132					gap: 2.25rem;
133				}
134				#app-splash .app-splash__brand,
135				#app-splash .app-splash__meta {
136					position: static;
137					top: auto;
138					bottom: auto;
139					transform: none;
140				}
141			}
142			@media (prefers-color-scheme: dark) {
143				#app-splash {
144					--color-muted: #a7b5ad;
145					--color-brand-any: #6f9bf0;
146					--color-kind-filter: #6f9bf0;
147					background: linear-gradient(180deg, #15201d 0%, #101514 46%, #0b100f 100%);
148				}
149				#app-splash .app-splash__brand-any {
150					color: var(--color-brand-any);
151				}
152				#app-splash .app-splash__meta {
153					color: var(--color-muted);
154				}
155			}
156			@media (prefers-reduced-motion: reduce) {
157				#app-splash .app-splash__logo {
158					animation: none;
159					opacity: 1;
160				}
161			}
162		</style>
163		<meta http-equiv="content-security-policy" content="default-src 'self'; worker-src 'self'; connect-src 'self' https: data: blob:; font-src 'self'; img-src 'self' data: blob: https:;
163 object-src 'none'; script-src 'self' 'sha256-w2Ht5V0ASp4eqUqx6PyPnUWoo3UbeiirrybpK8mnuRM='; style-src 'self' 'unsafe-inline'; base-uri 'self'; form-action 'self'">
164		<link href="/_app/immutable/entry/start.D3Z8H3rj.js" rel="modulepreload">
165		<link href="/_app/immutable/chunks/BBFaN_T-.js" rel="modulepreload">
166		<link href="/_app/immutable/chunks/BQcz-31Q.js" rel="modulepreload">
167		<link href="/_app/immutable/chunks/BuFlayix.js" rel="modulepreload">
168		<link href="/_app/immutable/entry/app.mg3dtd4D.js" rel="modulepreload">
169		<link href="/_app/immutable/chunks/HclGiUj8.js" rel="modulepreload">
170		<link href="/_app/immutable/chunks/CVeB7Nrt.js" rel="modulepreload">
171		<link href="/_app/immutable/chunks/xihTtKlq.js" rel="modulepreload">
172		<link href="/_app/immutable/nodes/0.CfYMeEjr.js" rel="modulepreload">
173		<link href="/_app/immutable/chunks/DF5HlWKF.js" rel="modulepreload">
174		<link href="/_app/immutable/chunks/C-pzwC93.js" rel="modulepreload">
175		<link href="/_app/immutable/chunks/C7sUWBTe.js" rel="modulepreload">
176		<link href="/_app/immutable/chunks/TVhfUySA.js" rel="modulepreload">
177		<link href="/_app/immutable/chunks/C0ggjEJA.js" rel="modulepreload">
178		<link href="/_app/immutable/chunks/C5ti8KE5.js" rel="modulepreload">
179		<link href="/_app/immutable/chunks/Dl4iiqf7.js" rel="modulepreload">
180		<link href="/_app/immutable/chunks/Db1apejj.js" rel="modulepreload">
181		<link href="/_app/immutable/chunks/Ci6SgGtG.js" rel="modulepreload">
182		<link href="/_app/immutable/chunks/Gz96cW0I.js" rel="modulepreload">
183		<link href="/_app/immutable/chunks/nNXFVnd2.js" rel="modulepreload">
184		<link href="/_app/immutable/nodes/10.CX5xAKAA.js" rel="modulepreload">
185		<link href="/_app/immutable/chunks/Df7o8X0l.js" rel="modulepreload">
186		<link href="/_app/immutable/chunks/BgCMQ08q.js" rel="modulepreload">
187		<link href="/_app/immutable/chunks/B5Jc1UO5.js" rel="modulepreload">
188		<link href="/_app/immutable/chunks/ba1NET202.js" rel="modulepreload">
189		<link href="/_app/immutable/chunks/Basx_lzX.js" rel="modulepreload">
190		<link href="/_app/immutable/chunks/BA9xUWpW2.js" rel="modulepreload">
191		<link href="/_app/immutable/chunks/Bin8K3vy2.js" rel="modulepreload">
192		<link href="/_app/immutable/chunks/DZRS672n2.js" rel="modulepreload">
193		<!--12qhfyh--><link rel="icon" href="/favicon.ico" sizes="any"/> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/> <link rel="apple-touch-icon" href="/img/apple-touch-icon.png"/> <link rel="manifest" href="/site.webmanifest"/> <meta name="description" content="AnyFinder helps people browse, find, add, and edit places in OpenStreetMap by category and filter."/> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[--><!--]--> <!--[-1--><!--]--><!----><!--1cgash9--><!----><title>Privacy Policy</title>
194		<link href="/_app/immutable/assets/0.YOnIbg5G.css" rel="stylesheet">
195		<link href="/_app/immutable/assets/layout.BLr_osHo.css" rel="stylesheet">
196		<link href="/_app/immutable/assets/BrandedText.BgJREjdw.css" rel="stylesheet">
197		<link href="/_app/immutable/assets/InfoSheetContent.BKT0HIsJ.css" rel="stylesheet">
198		<link href="/_app/immutable/assets/RouteSheetShell.B0LEePS2.css" rel="stylesheet">
199	</head>
200	<body data-sveltekit-preload-data="hover">
201		<div style="display: contents"><!--[--><!--[0--><!--[--><!--[-1--><!--[--><div class="route-sheet svelte-6cmsam"><button type="button" class="route-sheet__backdrop svelte-6cmsam" aria-label="Close"></button> <div class="route-sheet__panel svelte-6cmsam"><!----><section class="sheet-panel svelte-1i1n5zx" data-body-padding="edge" data-landscape-body="edge-safe" aria-label="Privacy Policy"><header class="sheet-panel__header svelte-1i1n5zx"><div class="panel-header-row svelte-1cr7nb3"><!--[0--><div class="panel-header-row__leading svelte-1cr7nb3"><!--[-1--><button type="button" class="sheet-panel__nav app-header-action app-header-action--dismiss app-header-action--compact svelte-1i1n5zx" aria-label="Close"><i class="fa-icon" aria-hidden="true" style="font-size: var(--header-action-icon-size); --fa-icon-url: url(&quot;/generated/icons/fa6/regular/xmark.svg&quot;);"></i><!----></button><!--]--><!----></div><!--]--> <!--[0--><div class="panel-header-row__heading svelte-1cr7nb3"><div class="sheet-panel__heading svelte-1i1n5zx"><!--[-1--><!--]--> <h1 class="sheet-panel__title svelte-1i1n5zx">Privacy Policy</h1></div><!----></div><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--></div><!----></header> <div class="sheet-panel__body svelte-1i1n5zx"><div class="info-sheet__body"><!--[2--><p class="info-sheet__text svelte-rahuu0"><!--[--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> does not track you, profile you, or build a picture of who you are. The app runs no advertising analytics and does not set cookies of any kind. The only thing <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> collects by itself is anonymous, aggregated statistics about which kinds of places are searched for in which areas — described 
201in the next section — and this can never be tied to you as an individual. There is one exception, and it is entirely your choice: if you write to us through the contact form, you hand us your name and email address deliberately, as described under “Contact form” below.<!--]--><!--]--><!----></p> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->Instead of cookies, <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> stores a small amount of data directly on your device, using your browser's local storage and its built-in database (IndexedDB), so the app can remember your settings and respond faster. This data never leaves your device and is never transmitted to us. It consists of:<!--]--><!--]--><!----></p> <ul class="info-sheet__list svelte-rahuu0"><li class="info-sheet__text svelte-rahuu0">Display preferences — your most recent map zoom level, the height of the results panel on mobile, and whether certain filter, detail, and OpenStreetMap sections are expanded or collapsed.</li> <li class="info-sheet__text svelte-rahuu0">A temporary cache of the points of interest returned by your searches, so that results you have already loaded reappear instantly. These entries are limited in number and expire automatically after a day.</li> <li class="info-sheet__text svelte-rahuu0">A temporary cache of the addresses obtained through reverse geocoding (see the komoot section below), keyed by coordinates, so the same lookup does not have to be repeated.</li></ul> <h2 class="info-sheet__heading svelte-rahuu0">Search statistics</h2> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->To understand which kinds of places people look for and where, <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> keeps simple, anonymous statistics on its own server. Each time a search runs, the app sends one small message containing only:<!--]--><!--]--><!----></p> <ul class="info-sheet__list svelte-rahuu0"><li class="info-sheet__text svelte-rahuu0">The category you searched for — for example "restaurant" or "pharmacy".</li> <li class="info-sheet__text svelte-rahuu0">The rough area of the map you were looking at, blurred as described below.</li> <li class="info-sheet__text svelte-rahuu0">How many results the search returned.</li></ul> <p class="info-sheet__text svelte-rahuu0">Before anything is stored, the location is deliberately made imprecise: the centre of your map is rounded to a grid of roughly one kilometre, so it points at a neighbourhood or town — never a building, a street, or you. No IP address, no device or user identifier, no cookie, and no exact time are kept. These rounded messages are immediately added together into plain counters — how many searches were made for a category, in a given ~1 km area, on a given day — so there are no individual records to trace back, only totals. Because of this, the statistics are anonymous and cannot identify you.</p> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> uses these totals to see which categories matter in which regions and to build a rough map of how busy different areas are, which helps improve the app. The data is never sold and never shared for advertising.<!--]--><!--]--><!----></p> <h2 class="info-sheet__heading svelte-rahuu0">Contact form</h2> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->The contact form under Settings › Contact is the only place in <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> that asks you for personal details, and it only sends anything if you fill it in and press send. When you do, the following goes to our support inbox:<!--]--><!--]--><!----></p> <ul class="info-sheet__list svelte-rahuu0"><li class="info-sheet__text svelte-rahuu0">The name you enter, so we know how to address you.</li> <li class="info-sheet__text svelte-rahuu0">The email address you enter, so we can reply to you.</li> <li class="info-sheet__text svelte-rahuu0">The subject you choose and the message you write.</li></ul> <p class="info-sheet__text svelte-rahuu0">Unlike the search statistics above, this is not anonymous, and it is not meant to be — we cannot answer a question without knowing where to send the answer. Nothing else is attached to it: the form does not send your location, your search history, or anything the app has stored on your device.</p> <p class="info-sheet__text svelte-rahuu0">What you write is not saved to a database. It reaches us as an ordinary email and stays in that inbox, like any other email you might send us, for as long as it takes to deal with your request. It travels through a small server of ours purely so that the address on the receiving end is not exposed inside the app; that relay does not keep a copy of your message.</p> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> uses what you send only to reply to you. It is never added to the search statistics, never used for advertising or profiling, never sold, and never passed to anyone else. Some subjects in the form — a missing place, or one with wrong details — answer themselves on the spot and send nothing at all, because those are things you can correct yourself in OpenStreetMap.<!--]--><!--]--><!----></p> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->To display maps and help you find places, <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> relies on the third-party services described below. When your browser contacts them, they may process your IP address and, under their own policies, may use cookies or similar technologies on your device. <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> does not control that. The following sections explain exactly what is sent to each of them, when, and why.<!--]--><!--]--><!----></p> <h2 class="info-sheet__heading svelte-rahuu0">Map display (OpenStreetMap &amp; Esri)</h2> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->The map is drawn from image tiles that your browser loads directly from the map providers. <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> operates no proxy in between, so these providers receive your IP address together with the tiles you request — which indicate the area y
201ou are currently viewing — as is normal for any interactive map on the web. <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> neither adds to, stores, nor processes this information.<!--]--><!--]--><!----></p> <p class="info-sheet__text svelte-rahuu0">The standard street map is rendered from tiles provided by <a class="info-sheet__link svelte-rahuu0" href="https://www.openstreetmap.org" target="_blank" rel="noreferrer">OpenStreetMap</a>, and, when you switch to the satellite view, the imagery is loaded from <a class="info-sheet__link svelte-rahuu0" href="https://www.esri.com" target="_blank" rel="noreferrer">Esri</a> (World Imagery). The data each of these providers receives is handled under its own terms and policies.</p> <h2 class="info-sheet__heading svelte-rahuu0">Place search (Postpass or Overpass API)</h2> <p class="info-sheet__text svelte-rahuu0">When you search for points of interest, your browser sends the search query directly to the selected OpenStreetMap search service. By default this is Postpass, operated by <a class="info-sheet__link svelte-rahuu0" href="https://postpass.geofabrik.de" target="_blank" rel="noreferrer">Geofabrik</a>. In the OpenStreetMap settings you can switch to the Overpass API operated by <a class="info-sheet__link svelte-rahuu0" href="https://overpass-api.de" target="_blank" rel="noreferrer">overpass-api.de</a>, or point either provider at a server of your own. The selected server receives the request first; if it fails and public fallback is enabled, the app may retry the same request against Postpass and then Overpass. When you configure a server of your own, public fallback is off unless you turn it on, so a failed request is not retried elsewhere.</p> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->Each request goes straight from your device to the server being tried — <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> operates no proxy in between — and contains the categories you are searching for together with the geographic area currently shown on your map (its bounding-box coordinates). When you search for a place by name, it also contains the text you typed. Because your browser connects to each server directly, the operator of any server the app tries necessarily receives your IP address, as is the case for any website you visit. <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> neither adds to, stores, nor processes this information. The data each operator receives is handled under its own terms and policies.<!--]--><!--]--><!----></p> <h2 class="info-sheet__heading svelte-rahuu0">komoot (Photon geocoding)</h2> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> uses the Photon geocoding service operated by <!--]--><!--]--><!----><a class="info-sheet__link svelte-rahuu0" href="https://www.komoot.com" target="_blank" rel="noreferrer">komoot</a><!--[--><!--[-1--> in two situations. First, when you type the name of a place or an address into the search field, the text you type is sent to komoot so that matching locations can be suggested to you. Second, when you open the details of a point of interest whose address is missing or incomplete in OpenStreetMap, <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1--> automatically sends that point's coordinates to komoot to retrieve the missing address parts; this happens in the background and is not something you trigger yourself.<!--]--><!--]--><!----></p> <p class="info-sheet__text svelte-rahuu0"><!--[--><!--[-1-->Both kinds of request are routed through a small proxy so that your browser can reach the service despite cross-origin restrictions. In doing so, the proxy forwards your IP address to komoot in a standard forwarding header. This lets komoot distinguish individual users, detect abuse, and apply rate limits as it sees fit, rather than treating every request as coming from <!--]--><!--[0--><span class="brand-name svelte-1io154i"><span class="brand-name__any svelte-1io154i">Any</span><span class="brand-name__finder svelte-1io154i">Finder</span></span><!--]--><!--[-1-->
201 as a single entity. IP addresses are not logged, stored, or otherwise retained — they are only passed along as part of the live request and then discarded. The data komoot receives is handled under <!--]--><!--]--><!----><a class="info-sheet__link svelte-rahuu0" href="https://www.komoot.com/privacy" target="_blank" rel="noreferrer">komoot's privacy policy</a>.</p><!--]--> <p class="info-sheet__text info-sheet__updated svelte-rahuu0">Last updated on Jul 17, 2026</p></div><!----></div></section><!----><!----></div></div><!--]--><!--]--><!----><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
202			
203			
203<script>
204				{
205					__sveltekit_khi0m7 = {
206						base: ""
207					};
208
209					const element = document.currentScript.parentElement;
210
211					Promise.all([
212						import("/_app/immutable/entry/start.D3Z8H3rj.js"),
213						import("/_app/immutable/entry/app.mg3dtd4D.js")
214					]).then(([kit, app]) => {
215						kit.start(app, element, {
216							node_ids: [0, 10],
217							data: [null,null],
218							form: null,
219							error: null
220						});
221					});
222				}
223			</script>
223
224		</div>
225		<div id="app-splash" aria-hidden="true">
226			<div class="app-splash__brand">
227				<span class="app-splash__brand-any">Any</span
228				><span class="app-splash__brand-finder">Finder</span>
229			</div>
230			<div class="app-splash__logo">
231				<img class="app-splash__icon" src="/img/anyfinder-logo-512.png" alt="" />
232			</div>
233			<div class="app-splash__meta">
234				<p class="app-splash__meta-line">anyfinder.app</p>
235				<p class="app-splash__meta-line app-splash__meta-sub" id="app-splash-run-mode">Browser</p>
236				<p class="app-splash__meta-line app-splash__meta-version" id="app-splash-version"></p>
237			</div>
238		</div>
239		
239<script src="/boot-watchdog.js"></script>
239
240		
240<script src="/splash-version.js" defer></script>
240
241		
241<script src="/splash-run-mode.js" defer></script>
241
242	</body>
243</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.