[{"data":1,"prerenderedAt":389},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fprivacy-by-design":49,"\u002Fblog\u002Fprivacy-by-design-surround":381},[4,23],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11,"children":-1},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16,"children":-1},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21,"children":-1},"Usage","\u002Fdocs\u002Fgetting-started\u002Fusage","1.docs\u002F1.getting-started\u002F3.usage","i-lucide-sliders",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Features","i-lucide-star","\u002Fdocs\u002Fessentials","1.docs\u002F2.essentials",[29,34,39,44],{"title":30,"path":31,"stem":32,"icon":33,"children":-1},"Video Sniffing","\u002Fdocs\u002Fessentials\u002Fmarkdown-syntax","1.docs\u002F2.essentials\u002F1.markdown-syntax","i-lucide-video",{"title":35,"path":36,"stem":37,"icon":38,"children":-1},"Audio Capture","\u002Fdocs\u002Fessentials\u002Fcode-blocks","1.docs\u002F2.essentials\u002F2.code-blocks","i-lucide-music",{"title":40,"path":41,"stem":42,"icon":43,"children":-1},"Image Download","\u002Fdocs\u002Fessentials\u002Fprose-components","1.docs\u002F2.essentials\u002F3.prose-components","i-lucide-image",{"title":45,"path":46,"stem":47,"icon":48,"children":-1},"Privacy & Security","\u002Fdocs\u002Fessentials\u002Fimages-embeds","1.docs\u002F2.essentials\u002F4.images-embeds","i-lucide-shield-check",{"id":50,"title":51,"authors":52,"body":58,"date":371,"description":372,"extension":373,"image":374,"meta":375,"navigation":376,"path":377,"seo":378,"stem":379,"__hash__":380},"articles\u002F3.blog\u002F3.privacy-by-design.md","Why Your Browser Extension Should Never Collect Your Data",[53],{"name":54,"to":55,"avatar":56},"FlowPick Team","https:\u002F\u002Fgithub.com\u002Fnuxt-ui-templates\u002Fsaas",{"src":57},"https:\u002F\u002Fi.pravatar.cc\u002F120?img=3",{"type":59,"value":60,"toc":352},"minimark",[61,65,70,73,78,107,110,114,117,121,124,128,131,140,144,147,151,154,180,184,187,207,210,214,217,221,232,235,239,314,318,321,324,349],[62,63,64],"p",{},"Browser extensions have a unique position in the privacy landscape. They run on every page you visit, see every request your browser makes, and can access sensitive data. That's why we built FlowPick with a strict zero-data-collection policy from day one.",[66,67,69],"h2",{"id":68},"the-problem-with-extension-privacy","The Problem with Extension Privacy",[62,71,72],{},"Browser extensions often request broad permissions. Some legitimately need them — a media sniffer needs to monitor network requests. But what happens with that data?",[74,75,77],"h3",{"id":76},"common-privacy-concerns","Common Privacy Concerns",[79,80,81,89,95,101],"ul",{},[82,83,84,88],"li",{},[85,86,87],"strong",{},"Analytics tracking",": Many extensions embed Google Analytics or similar tools",[82,90,91,94],{},[85,92,93],{},"Data harvesting",": Some extensions collect browsing history and sell it",[82,96,97,100],{},[85,98,99],{},"Third-party scripts",": Ad SDKs and tracking pixels embedded in extensions",[82,102,103,106],{},[85,104,105],{},"Remote code execution",": Extensions that load code from external servers",[62,108,109],{},"A 2020 study by Princeton University found that hundreds of Chrome extensions were harvesting browsing data and sending it to third-party servers. Users had no idea this was happening.",[66,111,113],{"id":112},"our-approach-privacy-by-design","Our Approach: Privacy by Design",[62,115,116],{},"FlowPick is built differently. Here's what \"zero data collection\" actually means in practice:",[74,118,120],{"id":119},"no-analytics","No Analytics",[62,122,123],{},"We don't track how you use the extension. No event logging, no session tracking, no funnel analysis. We improve FlowPick based on GitHub issues and community feedback — not by surveilling users.",[74,125,127],{"id":126},"no-external-connections","No External Connections",[62,129,130],{},"FlowPick makes zero network requests to our servers. The only network activity is:",[132,133,134,137],"ol",{},[82,135,136],{},"Downloading media segments from the website you're browsing (that's the whole point)",[82,138,139],{},"Browser extension update checks (handled by the browser itself)",[74,141,143],{"id":142},"no-data-storage-on-servers","No Data Storage on Servers",[62,145,146],{},"Since we don't collect data, there's nothing to store. We have no databases, no logs, no user accounts. Your download history exists only in your browser's local storage and is cleared when you close the tab.",[74,148,150],{"id":149},"open-source-verification","Open Source Verification",[62,152,153],{},"Don't take our word for it — verify it yourself:",[132,155,156,162,168,174],{},[82,157,158,161],{},[85,159,160],{},"Review the source code"," on GitHub",[82,163,164,167],{},[85,165,166],{},"Monitor network activity"," using browser DevTools (Network tab)",[82,169,170,173],{},[85,171,172],{},"Check permissions"," in your browser's extension management page",[82,175,176,179],{},[85,177,178],{},"Use a firewall"," to confirm no unexpected connections",[66,181,183],{"id":182},"why-this-matters-for-a-media-downloader","Why This Matters for a Media Downloader",[62,185,186],{},"A media downloader is particularly sensitive because it knows:",[79,188,189,195,201],{},[82,190,191,194],{},[85,192,193],{},"What videos you watch",": The URLs and titles of detected media",[82,196,197,200],{},[85,198,199],{},"What you download",": Your download choices and history",[82,202,203,206],{},[85,204,205],{},"When you're active",": Timestamps of your activity",[62,208,209],{},"Imagine if this data were collected and correlated. It would create a detailed profile of your media consumption habits. We believe no extension should have that kind of insight into your life.",[66,211,213],{"id":212},"the-technical-implementation","The Technical Implementation",[62,215,216],{},"Here's how we ensure privacy at the code level:",[74,218,220],{"id":219},"local-only-processing","Local-Only Processing",[222,223,228],"pre",{"className":224,"code":226,"language":227},[225],"language-text","Media Detection → Browser Memory\nFragment Merging → WebAssembly (Browser)\nFile Saving → Download API (Browser)\nSettings → Local Storage (Browser)\n","text",[229,230,226],"code",{"__ignoreMap":231},"",[62,233,234],{},"Every step happens on your machine. No data crosses the network.",[74,236,238],{"id":237},"minimal-permissions","Minimal Permissions",[240,241,242,258],"table",{},[243,244,245],"thead",{},[246,247,248,252,255],"tr",{},[249,250,251],"th",{},"Permission",[249,253,254],{},"Why We Need It",[249,256,257],{},"What We Don't Do",[259,260,261,275,288,301],"tbody",{},[246,262,263,269,272],{},[264,265,266],"td",{},[229,267,268],{},"activeTab",[264,270,271],{},"Detect media on current page",[264,273,274],{},"Read page content or DOM",[246,276,277,282,285],{},[264,278,279],{},[229,280,281],{},"webRequest",[264,283,284],{},"Monitor network for streams",[264,286,287],{},"Log or store request data",[246,289,290,295,298],{},[264,291,292],{},[229,293,294],{},"downloads",[264,296,297],{},"Save files to your device",[264,299,300],{},"Track download history",[246,302,303,308,311],{},[264,304,305],{},[229,306,307],{},"storage",[264,309,310],{},"Save your preferences",[264,312,313],{},"Transmit settings anywhere",[66,315,317],{"id":316},"the-bigger-picture","The Bigger Picture",[62,319,320],{},"We believe privacy isn't a feature — it's a fundamental right. As browser extensions become more powerful, developers have a responsibility to minimize data collection. FlowPick proves that a fully functional media downloader can work without collecting a single byte of user data.",[62,322,323],{},"If you care about your privacy, we encourage you to:",[132,325,326,332,338,343],{},[82,327,328,331],{},[85,329,330],{},"Review permissions"," before installing any extension",[82,333,334,337],{},[85,335,336],{},"Check for open source"," alternatives",[82,339,340,342],{},[85,341,166],{}," of your extensions",[82,344,345,348],{},[85,346,347],{},"Support developers"," who prioritize privacy",[62,350,351],{},"Your data belongs to you. Period.",{"title":231,"searchDepth":353,"depth":353,"links":354},2,[355,359,365,366,370],{"id":68,"depth":353,"text":69,"children":356},[357],{"id":76,"depth":358,"text":77},3,{"id":112,"depth":353,"text":113,"children":360},[361,362,363,364],{"id":119,"depth":358,"text":120},{"id":126,"depth":358,"text":127},{"id":142,"depth":358,"text":143},{"id":149,"depth":358,"text":150},{"id":182,"depth":353,"text":183},{"id":212,"depth":353,"text":213,"children":367},[368,369],{"id":219,"depth":358,"text":220},{"id":237,"depth":358,"text":238},{"id":316,"depth":353,"text":317},"2025-04-15","A deep dive into why FlowPick is built with zero data collection, and why privacy-by-design matters for browser extensions.","md","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1510511459019-5dda7724fd87?auto=format&fit=crop&w=800&q=80",{},true,"\u002Fblog\u002Fprivacy-by-design",{"title":51,"description":372},"3.blog\u002F3.privacy-by-design","Tp6IL5U8dLElK54WU-F6X2PF8O6SLMToiSke3Grd1cQ",[382,388],{"title":383,"path":384,"stem":385,"description":386,"image":387,"children":-1},"HLS vs DASH: Which Streaming Protocol Should You Download?","\u002Fblog\u002Fhls-vs-dash","3.blog\u002F2.hls-vs-dash","Understand the differences between HLS and DASH streaming protocols, and how FlowPick handles both seamlessly.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1461749280684-dccba630e2f6?auto=format&fit=crop&w=800&q=80",null,1778639531465]