create table if not exists fiTbl (name text primary key not null,
url text,
fi_kind text check(fi_kind in ('bank', 'brokerage', 'CU', 'insurer')) not null default 'brokerage',
lst_kind text check(lst_kind in ('black', 'gray', 'white')) not null default 'white',
hrecaptcha text check(hrecaptcha in ('unavoidable', 'non-essential tasks', 'never')) not null default 'never',
parent text,
cflogin boolean default 0,
antitor boolean default 0,
alec boolean default 0,
forced_nfsw boolean default 0,
aws boolean default 0,
cispa boolean default 0,
dt boolean default 0,
notes text);
/* BEGIN BROKERAGES */
/* insert into fiTbl (name,notes) values ("Evertrade","Where's the website? Sold to TIAA-CREF?");*/
insert into fiTbl (name,url,aws,notes) values ("Janus Henderson","https://www.janushenderson.com",1,"transactional web host (www.secureaccountview.com) is not AWS, but it is Tor-hostile; it's possible to work offline and receive gratis paper statements.");
insert into fiTbl (name,url,dt,notes) values ("Vanguard","https://investor.vanguard.com",1,"");
insert into fiTbl (name,url,notes) values ("Rich Uncles","https://richuncles.com","Real estate investing only");
("Robinhood","https://robinhood.com/us/en/",1,"[Fined $65M](https://nypost.com/2020/12/17/sec-slaps-robinhood-app-with-65m-fine-for-misleading-users) for misleading users; They may have used CloudFlare in the past but apparently that changed");
"min. investment to avoid fees: $100k per account; has a ""impact"" feature to analyze the portfolio's ESG factors w.r.t. the user's ethical views; covers Australia, Belgium, Canada, France, Germany, Hong Kong, Italy, Japan, Mexico, Netherlands, Singapore, South Korea, Spain, Sweden, Switzerland, United Kingdom, and United States; website is **partially Tor-hostile** but the site can be avoided for most operations after sign-up");
"Majority owned by Charles Schwab, a firm that [supports](us_banks.md) republicans, CISPA, drug tests their staff, and treats Tor users with hostility (but note that TDA functions over Tor). Schwab outsources banking operations to PNC bank, which is [quite evil](us_banks.md); [Uses MS Github to host s/w](https://github.com/TDAmeritrade/stumpy)");
insert into fiTbl (name,url,hrecaptcha,notes) values
("Wealthfront","https://www.wealthfront.com","unavoidable","Registration imposes Google reCAPTCHA; [caught](https://www.jpost.com/Breaking-News/US-regulator-sanctions-robo-advisers-Wealthfront-Hedgeable-on-false-disclosures-575044) making false disclosures and [charged](https://www.eastbaytimes.com/2018/12/21/bay-area-robo-adviser-firm-wealthfront-charged-by-sec-with-false-advertising) for false advertising.");
"They censor posts in their Reddit sub that expose the risks of passing sensitive financial data through CloudFlare; also [caught](https://www.ftc.gov/news-events/press-releases/2018/10/online-student-loan-refinance-company-sofi-settles-ftc-charges) in a deceptive advertizing scandal.");
insert into fiTbl (fi_kind,name,url,cispa,dt,notes) values ("insurer","Ameriprise Financial","https://www.ameriprise.com",1,1,"akamai hosted");
insert into fiTbl (fi_kind,name,url,antitor) values ("insurer","Amica","https://www.amica.com",1);
insert into fiTbl (fi_kind,name,url,dt) values ("insurer","Berkshire Hathaway","https://berkshirehathaway.com",1);
insert into fiTbl (fi_kind,name,url,hrecaptcha,cflogin,cispa) values ("insurer","Brown & Brown Insurance","https://bbinsurance.com",'unavoidable',1,1);
insert into fiTbl (fi_kind,name,url) values ("insurer","Erie","https://www.erieinsurance.com");
insert into fiTbl (fi_kind,name,url,parent,notes) values ("insurer","Esurance","https://www.esurance.com","Allstate","akamai hosted");
insert into fiTbl (fi_kind,name,url,alec,dt,notes) values ("insurer","Farmers","https://www.farmers.com",1,1,"akamai hosted");
insert into fiTbl (fi_kind,name,url,dt) values ("insurer","First American Insurance Agency","https://www.faiagency.com",1);
insert into fiTbl (fi_kind,name,url,parent,dt) values ("insurer","Foremost","http://www.foremost.com","Farmers",1);
insert into fiTbl (fi_kind,name,url,alec,dt,notes) values ("insurer","Geico","https://www.geico.com",1,1,"akamai hosted but transactional site ecams.geico.com is not.");
insert into fiTbl (fi_kind,name,url,parent,notes) values ("insurer","Gen Re","https://www.genre.com","Berkshire Hathaway","akamai hosted, but transactional site www.genre-connect.com is not.");
insert into fiTbl (fi_kind,name,url,dt,notes) values ("insurer","National General","https://www.nationalgeneral.com",1,"formerly GMAC");
insert into fiTbl (fi_kind,name,url,dt) values ("insurer","Grange Mutual","https://www.grangeinsurance.com",1);
insert into fiTbl (fi_kind,name,url,parent) values ("insurer","Harleysville Group","https://www.harleysvillegroup.com","Nationwide");
insert into fiTbl (fi_kind,name,url,antitor,cispa,dt,notes) values ("insurer","Hartford","https://www.thehartford.com",1,1,1,"akamai hosted");
insert into fiTbl (fi_kind,name,dt,notes) values ("insurer","Horace Mann",1,"no website, only an access-restricted Facebook page");
insert into fiTbl (fi_kind,name,url,antitor,dt) values ("insurer","Infinity","https://infinityauto.com",1,1);
insert into fiTbl (fi_kind,name,url,antitor,alec,notes) values ("insurer","Lexington","https://www.lexingtoninsurance.com",1,1,"landing page allows Tor access but all links therein refuse Tor; AIG partner");
insert into fiTbl (fi_kind,name,url,antitor,alec,cispa,notes) values ("insurer","Liberty Mutual","https://www.libertymutual.com",1,1,1,"akamai hosted");
insert into fiTbl (fi_kind,name,url,antitor,dt) values ("insurer","Mercury","https://www.mercuryinsurance.com",1,1);
insert into fiTbl (fi_kind,name,url,cispa,dt,aws,notes) values ("insurer","MetLife","https://www.metlife.com",1,1,1,"transactional site identity.metlife.com is not AWS");
insert into fiTbl (fi_kind,name,notes) values ("insurer","N&D Group","no website, only an access-restricted Facebook page");
insert into fiTbl (fi_kind,name,url,antitor,aws,alec,cispa,dt) values ("insurer","Nationwide","https://nationwide.com",1,1,1,1,1);
insert into fiTbl (fi_kind,name,url,antitor,dt) values ("insurer","Progressive","https://progressive.com",1,1);
insert into fiTbl (fi_kind,name,url,dt,notes) values ("insurer","Selective","https://www.selective.com",1,"pushes CloudFlare javascript, but apparently execution is optional.");
insert into fiTbl (fi_kind,name,url,dt) values ("insurer","Shelter Insurance","https://shelterinsurance.com",1);
insert into fiTbl (fi_kind,name,url,antitor,alec,cispa,dt,notes) values ("insurer","State Farm","https://www.statefarm.com",1,1,1,1,"edgecast-hosted");
insert into fiTbl (fi_kind,name,url,aws,dt) values ("insurer","Stewart Information Services Corporation","https://www.stewart.com/en.html",1,1);
insert into fiTbl (fi_kind,name,url) values ("insurer","The General","https://thegeneral.com");
insert into fiTbl (fi_kind,name,url,parent) values ("insurer","Titan","https://titaninsured.com","Nationwide");
insert into fiTbl (fi_kind,name,url,cispa,dt,notes) values ("insurer","Travelers","https://www.travelers.com",1,1,"akamai hosted");
insert into fiTbl (fi_kind,name,url,antitor,cispa,dt) values ("insurer","USAA","https://www.usaa.com",1,1,1);
insert into fiTbl (fi_kind,name,url,hrecaptcha,cflogin) values ("insurer","Western Mutual","https://www.westernmutual.com",'unavoidable',1);
update fiTbl setlst_kind='gray' where lst_kind='white' and (aws or cispa or dt or (notes is not null and (notes like '%tor_hostile%' or notes like '%equifax%' or notes like '%google_cloud_hosted%')));
update fiTbl setlst_kind='black' where cflogin or alec or antitor or forced_nfsw or hrecaptcha='unavoidable' or parent in ('Bank of America','Wells Fargo');
update fiTbl setlst_kind='black' where parent in (select name from fiTbl where lst_kind='black');
update fiTbl setlst_kind='gray' where parent in (select name from fiTbl where lst_kind='gray') and lst_kind='white';
update fiTbl setnotes='parent: '||parent||case when notes is null then''else'; '||notes end
where parent is not null and (notes is null or notes not like '%'||parent||'%');
/* update fiTbl setnotes='**Tor-hostile** resources'||case when notes is null then''else'; '||notes end where antitor and (notes is null or notes not like '%tor_hostile%');*/