1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4
4<script data-blockingmode="auto" data-cbid="baab2765-86f0-4832-acfb-7186def05c0d" id="Cookiebot" src="https://consent.cookiebot.com/uc.js" type="text/javascript"> 5 </script>
5 6 <meta charset="utf-8"/> 7 <link href="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/69b453612256dfd87bffe3a1/ef299d793_logo.png" rel="icon" type="image/svg+xml"/> 8 <meta content="width=device-width, initial-scale=1.0" name="viewport"/> 9 <link href="/manifest.json" rel="manifest"/> 10 <title> 11 Impressum | Flufilm 12 </title> 13
13<script crossorigin="" src="/assets/index-B7AKueLP.js" type="module"> 14 </script>
14 15 <link crossorigin="" href="/assets/index-_OurQhRw.css" rel="stylesheet"/> 16
16<script type="module"> 17 if (window.self === window.top) { 18 let lastPath = ""; 19 function getPageNameFromPath(path) { 20 const segments = path.split("/").filter(Boolean); 21 return segments[0] || null; 22 } 23 function trackPageView() { 24 const path = window.location.pathname; 25 if (path === lastPath) return; 26 lastPath = path; 27 const pageName = getPageNameFromPath(path) || "home"; 28 const appId = "69b453612256dfd87bffe3a1"; 29 if (!appId) return; 30 fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, { 31 method: "POST", 32 }).catch(() => {}); 33 } 34 const originalPushState = history.pushState.bind(history); 35 history.pushState = function (...args) { 36 originalPushState(...args); 37 trackPageView(); 38 }; 39 const originalReplaceState = history.replaceState.bind(history); 40 history.replaceState = function (...args) { 41 originalReplaceState(...args); 42 trackPageView(); 43 }; 44 window.addEventListener("popstate", trackPageView); 45 trackPageView(); 46} 47 </script>
47 48 <meta content="Impressum on Flufilm. Flufilm manages 2 data types including quiz leads." name="description"/> 49 <meta content="Impressum | Flufilm" property="og:title"/> 50 <meta content="Impressum on Flufilm. Flufilm manages 2 data types including quiz leads." property="og:description"/> 51 <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/69b453612256dfd87bffe3a1/ef299d793_logo.png?width=1200&height=630&resize=contain" property="og:image"/> 52 <meta content="https://flufilm.de/Impressum" property="og:url"/> 53 <meta content="website" property="og:type"/> 54 <meta content="Flufilm" property="og:site_name"/> 55 <meta content="Impressum | Flufilm" name="twitter:title"/> 56 <meta content="Impressum on Flufilm. Flufilm manages 2 data types including quiz leads." name="twitter:description"/> 57 <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/69b453612256dfd87bffe3a1/ef299d793_logo.png?width=1200&height=630&resize=contain" name="twitter:image"/> 58 <meta content="summary_large_image" name="twitter:card"/> 59 <meta content="https://flufilm.de/Impressum" name="twitter:url"/> 60
60<script> 61 (function () { 62 var titles = {"/landing": "Flufilm"}; 63 // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind 64 // (old Safari fails to PARSE a lookbehind, taking the whole script down). 65 var dashed = function (s) { 66 return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2"); 67 }; 68 var decode = function (s) { 69 // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a 70 // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title. 71 try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; } 72 }; 73 var segments = function (path) { return path.split("/").filter(Boolean).map(decode); }; 74 var norm = function (path) { 75 var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); }); 76 return parts.length ? "/" + parts.join("/") : "/"; 77 }; 78 var lastPath = location.pathname, written = document.title, on = true; 79 var sync = function () { 80 // Path only: a hash/query change is the same page, and the SDK strips its own auth 81 // params with replaceState -- neither must clobber a server-rendered title in place. 82 if (!on || location.pathname === lastPath) return; 83 lastPath = location.pathname; 84 if (document.title !== written) { on = false; return; } 85 // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the 86 // map cannot carry, and writing a placeholder there is destructive, not merely vague: the 87 // prerender worker runs no setUserAgent, so its capture browser reads as human and executes 88 // this script, and coordinator.js's settle wait explicitly tolerates a full navigation -- 89 // a redirect landing on an unmapped path would bake the placeholder into the stored 90 // snapshot. Leaving the title alone degrades to today's behavior instead. 91 // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up 92 // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the 93 // dashes there, and the client cannot tell the two apart. The map emits every reachable 94 // shape per segment instead (_client_url_variants). 95 var title = titles[norm(location.pathname)]; 96 if (title === undefined) return; 97 document.title = title; 98 // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so 99 // keeping the assigned string would make the next sync() read our own write as the app's. 100 written = document.title; 101 }; 102 var wrap = function (fn) { 103 // The history entry is already pushed by the time sync() runs, so a throw here would 104 // surface inside the host app's router and break navigation. This is injected into apps 105 // we cannot test, so it swallows rather than trusting the trace. 106 return function () { 107 var r = fn.apply(this, arguments); 108 try { sync(); } catch (e) {} 109 return r; 110 }; 111 }; 112 history.pushState = wrap(history.pushState); 113 history.replaceState = wrap(history.replaceState); 114 window.addEventListener("popstate", sync); 115})(); 116 </script>
116 117 <meta content="yes" name="mobile-web-app-capable"/> 118 <meta content="black" name="apple-mobile-web-app-status-bar-style"/> 119 <meta content="Flufilm" name="apple-mobile-web-app-title"/> 120 <link href="https://flufilm.de/Impressum" rel="canonical"/> 121
121<script data-seo-source="builder" type="application/ld+json"> 122 {"name": "Flufilm", "@context": "https://schema.org", "@type": "WebSite", "url": "https://flufilm.de"} 123 </script>
123 124
124<script data-seo-source="builder" type="application/ld+json"> 125 {"name": "Flufilm", "logo": "https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/69b453612256dfd87bffe3a1/ef299d793_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://flufilm.de"} 126 </script>
126 127
127<script data-seo-source="builder" type="application/ld+json"> 128 {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://flufilm.de/"}, {"@type": "ListItem", "position": 2, "name": "Impressum", "item": "https://flufilm.de/Impressum"}]} 129 </script>
129 130 </head> 131 <body> 132 <div id="root"> 133 <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"> 134 <main> 135 <header> 136 <h1> 137 Impressum | Flufilm 138 </h1> 139 <p> 140 Impressum on Flufilm. Flufilm manages 2 data types including quiz leads. 141 </p> 142 </header> 143 <nav aria-label="Pages"> 144 <h2> 145 Pages 146 </h2> 147 <ul> 148 <li> 149 <a href="/Landing"> 150 Landing 151 </a> 152 </li> 153 <li> 154 <a href="/Datenschutz"> 155 Datenschutz 156 </a> 157 â Datenschutz on Flufilm. Flufilm manages 2 data types including quiz leads. 158 </li> 159 <li> 160 <a href="/RecruitingVideos"> 161 Recruiting Videos 162 </a> 163 â Recruiting Videos on Flufilm. Flufilm manages 2 data types including quiz leads. 164 </li> 165 <li> 166 <a href="/SocialMediaVideos"> 167 Social Media Videos 168 </a> 169 â Social Media Videos on Flufilm. Flufilm manages 2 data types including quiz leads. 170 </li> 171 <li> 172 <a href="/StoneCrushCaseStudy"> 173 Stone Crush Case Study 174 </a> 175 â Stone Crush Case Study on Flufilm. Flufilm manages 2 data types including quiz leads. 176 </li> 177 <li> 178 <a href="/Unternehmensvideos"> 179 Unternehmensvideos 180 </a> 181 â Unternehmensvideos on Flufilm. Flufilm manages 2 data types including quiz leads. 182 </li> 183 <li> 184 <a href="/VideoproduktionHamburg"> 185 Videoproduktion Hamburg 186 </a> 187 â Videoproduktion Hamburg on Flufilm. Flufilm manages 2 data types including quiz leads. 188 </li> 189 <li> 190 <a href="/YoutubeKanalAufbau"> 191 Youtube Kanal Aufbau 192 </a> 193 â Youtube Kanal Aufbau on Flufilm. Flufilm manages 2 data types including quiz leads. 194 </li> 195 <li> 196 <a href="/YoutubeUndernehmen"> 197 Youtube Undernehmen 198 </a> 199 â Youtube Undernehmen on Flufilm. Flufilm manages 2 data types including quiz leads. 200 </li> 201 </ul> 202 </nav> 203 </main> 204 </div> 205 </div> 206 </body> 207</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.