[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"project-17029769":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":42,"post_text":44,"what":45,"said":68,"maker_in_thread":136,"shape":143,"grid":146,"attempts":213,"same_week":218,"maker_shows":248,"maker_hidden":249,"reader_version":250,"card":251},"17029769","Euroshield","Avoid GDPR by blocking EU visitors","title","Show HN: Avoid GDPR by blocking EU visitors","https:\u002F\u002Feuroshield.xyz\u002F","euroshield.xyz","fiatjaf",1525873836,2018,30,25,1002,2155,47,"shown","web_saas","compliance tooling","library",[24,25,26,27],"gdpr","eu visitors","data privacy","cookie law","roasted",-0.533,{"positive":31,"neutral":32,"mixed":33,"critical":34},1,3,0,12,16,{"idea":37,"performance":39,"execution":40,"privacy":41},{"positive":31,"critical":38},9,{"positive":33,"critical":31},{"positive":33,"critical":31},{"positive":33,"critical":31},[31,31,31,31,31,33,32,33,33,33,32,33,33,32,31,43,31,33,31,33,31,31,31,33,31],5,null,{"problem":44,"audience":46,"pricing":44,"motivation":44,"time_to_build":44,"stack":53,"openness":66,"stage":67,"team_size":66},{"value":47,"source":48,"evidence":49},"Small websites outside the EU that want to avoid GDPR obligations.","maker",[50],{"id":51,"by":11,"text":52},"17031025","Well, I imagine in your examples you're considering medium-sized businesses or larger. I'm thinking about smaller ones who will never sponsor an event on another continent.",[54],{"value":55,"source":56,"evidence":57},"JavaScript","inferred",[58,62],{"id":59,"by":60,"text":61},"17030185","timvdalen","Under the GDPR, you'll have to explicitly ask users to agree for their visit data to be shared with euroshield _before_ you load this external JS.",{"id":63,"by":64,"text":65},"17030270","willsinclair","I experienced the same thing. I wonder if this qualifies as \"explicitly blocking EU residents\", since someone taking privacy measures (like using uMatrix) wouldn't even receive…","unknown","launched",{"praise":69,"objections":78,"requests":109,"questions":116,"alternatives":128},[70],{"value":71,"source":72,"evidence":73},"Seen as a quick, easy cover while working on compliance.","commenter",[74],{"id":75,"by":76,"text":77},"17030687","koverda","This is pretty appealing. A quick and easy CYA to keep you out of trouble while you work on compliance (or not).",[79,87,94,98],{"value":80,"source":72,"evidence":81},"Visitors with privacy tools like uMatrix never see the block message.",[82,86],{"id":83,"by":84,"text":85},"17029811","tscs37",">Well, if the user is a begginer-level hacker it will easily be able to bypass the block. Or alternatively, operating uMatrix at default settings. Didn't even see anything.",{"id":63,"by":64,"text":65},{"value":88,"source":72,"evidence":89},"Blocking EU visitors may not fully avoid GDPR, since targeting is broadly defined.",[90],{"id":91,"by":92,"text":93},"17030775","chomp","So, yes and no. These approaches to blocking EU visitors do somewhat protect you from having to comply with GDPR. However, \"targeting\" can mean a lot of things. If you have…",{"value":95,"source":72,"evidence":96},"Loading the external JS may itself require explicit user consent under GDPR.",[97],{"id":59,"by":60,"text":61},{"value":99,"source":72,"evidence":100},"Good data practices are better than blocking users.",[101,105],{"id":102,"by":103,"text":104},"17031297","matthewmacleod","I'm sorry to be mean, but this is as dumb as the rest of this GDPR panic that seems to have swept the less informed parts of the US tech community. GDPR basically means: \"Do all…",{"id":106,"by":107,"text":108},"17046410","httptoolkit","New browser extension idea for people outside the EU: automatically spot sites using tools like this, and put enormous great big warnings all over the page. Seriously, _most_ of…",[110],{"value":111,"source":48,"evidence":112},"Use a full website proxy instead of external JavaScript.",[113],{"id":114,"by":11,"text":115},"17030731","I'm going to offer a full website proxy service for a small price so the external JS isn't needed and hopefully these cases can be mitigated. But surely it is dubious (another…",[117],{"value":118,"source":72,"evidence":119},"Whether non-EU sites face any real enforcement of cookie or GDPR rules.",[120,124],{"id":121,"by":122,"text":123},"17030718","djsumdog","Have we seen any actual enforcement of the \"cookie law\" on non-EU entities (or even on EU entities?) If you're not physically in the EU and run a service platform, could you just…",{"id":125,"by":126,"text":127},"17035581","DanBC","> enforce People keep saying \"enforce\". That's the wrong word. Enforcement is a last resort. What actually happens is that the regulator writes you a letter asking you to come…",[129],{"value":130,"source":72,"evidence":131},"Cloudflare Workers could be used to build a similar blocking app.",[132],{"id":133,"by":134,"text":135},"17031648","zackbloom","It should be possible soon to build this as a Cloudflare App using Workers, rather than needing to build your own proxy service.",{"comments":32,"answered":33,"key":137},[138,139,142],{"id":114,"text":115},{"id":140,"text":141},"17032686","Shh! That was my idea. Don't tell other people about it.",{"id":51,"text":52},{"commenters":144,"max_depth":43,"maker_replies":32,"first_comment_mins":43,"lifespan_hours":145},21,82,[147,151,154,157,160,162,164,166,168,172,174,178,179,183,187,190,192,194,196,198,200,202,205,208,212],[148,33,31,149,150,33],"17030764","project\u002Fcritical\u002Fidea","geocar",[152,31,31,149,153,33],"17031504","xchaotic",[155,31,31,149,156,33],"17031745","debeers",[83,158,31,159,84,33],2,"project\u002Fcritical\u002Fperformance",[63,158,31,161,64,33],"project\u002Fcritical\u002Fexecution",[114,158,33,163,11,31],"maker\u002Fneutral\u002Fexecution",[133,158,32,165,134,33],"project\u002Fneutral\u002Fidea",[140,158,33,167,11,31],"maker\u002Fneutral\u002Fnone",[169,158,33,170,171,33],"17030744","other\u002Fneutral\u002Fnone","ars",[121,32,33,173,122,33],"other\u002Fneutral\u002Fidea",[175,32,32,176,177,33],"17035554","maker\u002Fneutral\u002Fidea","pmiller2",[125,32,33,173,126,33],[180,32,33,181,182,33],"17056728","other\u002Fcritical\u002Fidea","qwerty456127",[184,185,32,165,186,33],"17031808",4,"SippinLean",[188,185,31,149,189,33],"17031997","foobarbazetc",[75,43,43,191,76,33],"project\u002Fpositive\u002Fidea",[91,193,31,149,92,33],6,[51,193,33,195,11,31],"commenter\u002Fneutral\u002Fidea",[197,193,31,149,103,33],"17031318",[199,193,33,195,92,33],"17032918",[102,201,31,149,103,33],7,[203,201,31,149,204,33],"17031529","kazinator",[59,206,31,207,60,33],8,"project\u002Fcritical\u002Fprivacy",[209,206,33,210,211,33],"17031199","commenter\u002Fneutral\u002Fprivacy","orwin",[106,38,31,149,107,33],[214,217],{"id":215,"t":216,"points":32,"comments":31},"17007404",1525629366,{"id":4,"t":12,"points":14,"comments":15},[219,224,229,234,239,243],{"id":220,"name":221,"points":222,"category":223},"17015043","Idyll guitar tuning post",338,"learning_science",{"id":225,"name":226,"points":227,"category":228},"17004898","Morning Cup of Coding",192,"productivity",{"id":230,"name":231,"points":232,"category":233},"16985250","LayerJS",176,"languages",{"id":235,"name":236,"points":237,"category":238},"17033574","A Native Art Gallery for the Mac",146,"creative",{"id":240,"name":241,"points":242,"category":228},"17002648","new-note",133,{"id":244,"name":245,"points":246,"category":247},"17029430","Offline Object Detection and Tracking on a Raspberry Pi",106,"ai",19,false,"v2",{"id":252,"name":5,"line":6,"ai":249,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":253,"top":18,"kw":254,"maker":11,"domain":10,"tier":19,"attempts":158,"strip":255,"url":9,"mix":256,"praise":71,"objection":80,"sub":21},17029769,-0.53,[24,25,26,27],"1111103000300315101011101",[31,32,33,34],1794036565871]