{"common": {"Name": "Google Web Vertical Config", "Description": "These are settings that are common across all Google web vertical pages - all regions/languages", "AllowedSelectors": [{"Name": "MainLineRegion", "Description": "This is a selector for Algo results that show up on page", "QuerySelector": "div[id=\"center_col\"]", "RequiredSection": true, "NodesToDrop": [{"Name": "TravelAnswer-1", "Description": "This selector selects flights answers by looking for ", "QuerySelector": "div[class*=\"ULSxyf\"]", "ReplaceWord": "###PII-ITINERARY-1###", "PositiveSelectors": [{"Name": "ATag", "Description": "This selector corresponds to an a tag for flight answer", "QuerySelector": "div[class*=\"eQbXff\"]", "PositiveSelectors": [{"Name": "ImageHolder", "Description": "This selector corresponds to an img within tag for flight answer", "QuerySelector": "div[class*=\"elHK6b\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "SpanSelector", "Description": "This selector corresponds to an span elements that occur in the flights answer", "QuerySelector": "div[class*=\"TI97Xe\"]", "PositiveSelectors": [], "NegativeSelectors": []}], "NegativeSelectors": []}, {"Name": "EmptyDiv", "Description": "Corresponds to an empty train reservation details in Gmail", "QuerySelector": "div[class*=\"cE3GYd\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "HomeAnswer-1", "Description": "Corresponds to home address selector", "QuerySelector": "div[class*=\"personal-places-map-section\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "HomeAnswer-2", "Description": "Corresponds to home address selector", "QuerySelector": "div[class*=\"hvC91b\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "HomeAnswer-3", "Description": "Corresponds to home address selector", "QuerySelector": "div[class*=\"gm0Vpe\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "HomeAnswer-4", "Description": "Corresponds to home address selector", "QuerySelector": "a[class*=\"lu_dis\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "DirectionsAnswer", "Description": "Corresponds to div that has all the maps and directions", "QuerySelector": "div[id=\"lud-dsu\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "IPAddressAnswer", "Description": "Corresponds to div that has a users public IP address", "QuerySelector": "div[class*=\"wxSJCb\"]", "PositiveSelectors": [{"Name": "InnerForm", "Description": "This selector corresponds to the form within the IP address answer", "QuerySelector": "div[class*=\"T3nuCc\"]", "PositiveSelectors": [], "NegativeSelectors": []}], "NegativeSelectors": []}], "NegativeSelectors": []}, {"Name": "TravelAnswer-2", "Description": "This selector selects personalized answers like 'my past flights', 'my past trains', 'directions to my home'", "QuerySelector": "div[id=\"pacc\"]", "ReplaceWord": "###PII-ITINERARY-2###", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "WeatherAnswerLocation", "Description": "This selector selects location in the weather answer. It can be accurate so removing that region", "QuerySelector": "div[id=\"wob-loc\"]", "ReplaceWord": "###PII-WEATHERLOCATION###", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "DirectionsAnswer", "Description": "This selector selects the direction in a given direction answer. For eg: turn left, turn right etc. It has chances of containing the user's home location. Hence dropping it", "QuerySelector": "div[class*=\"SmFyJe\"]", "ReplaceWord": "###PII-DIRECTIONANSWER###", "PositiveSelectors": [], "NegativeSelectors": []}], "AllowedNodesToLogBase64Images": [{"Name": "QnAAnswer", "Description": "This selector selects QnAAnswer section in the mainline region.", "QuerySelector": "div[class*=\"c2xzTb\"]", "PositiveSelectors": [], "NegativeSelectors": []}]}, {"Name": "PolePosition", "Description": "This is a selector for pole of the page, specifically for the movies answer", "QuerySelector": "div[id=\"appbar\"]", "RequiredSection": true, "NodesToDrop": [{"Name": "PoleReviews", "Description": "This selector selects personalized movies that one has reviewed, like 'my reviewed movies'", "QuerySelector": "div[class*=\"JeEise\"]", "ReplaceWord": "###PII-REVIEWS-POLE###", "PositiveSelectors": [], "NegativeSelectors": []}]}, {"Name": "Verticals", "Description": "This is a selector for vertical list at top of the page", "QuerySelector": "div[id=\"hdtb-msb\"]", "RequiredSection": true, "NodesToDrop": []}, {"Name": "New Verticals", "Description": "This is a selector for vertical list at top of the page", "QuerySelector": "div[class*=\"sBbkle\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "TopPosition", "Description": "This is a selector for top position div. Queries like 'restaurants near me'", "QuerySelector": "div[class*=\"M8OgIe\"]", "RequiredSection": false, "NodesToDrop": [], "AllowedNodesToLogBase64Images": [{"Name": "QnAAnswer", "Description": "This selector selects QnAAnswer section in the top-position region.", "QuerySelector": "div[class*=\"PKBwyd\"]", "PositiveSelectors": [], "NegativeSelectors": []}]}, {"Name": "TopPositionHeader", "Description": "This is a selector for top position div header. Queries like 'Tom Hanks'", "QuerySelector": "div[class*=\"XqFnDf\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "Region", "Description": "Footer containing the country of user", "QuerySelector": "div[id=\"fbar\"]", "RequiredSection": true, "NodesToDrop": [{"Name": "PrivacyStatements", "Description": "Privacy statements in footer section", "ReplaceWord": "######", "QuerySelector": "span[id=\"fsl\"]", "PositiveSelectors": [], "NegativeSelectors": []}]}, {"Name": "RightRail", "Description": "Right rail section of the DOM object. This one selects the entire right portion of the DOM", "QuerySelector": "div[id=\"rhs\"]", "RequiredSection": false, "NodesToDrop": [{"Name": "RightRailReviews", "Description": "This selector selects personalized movies that one has reviewed, like 'my reviewed movies'", "ReplaceWord": "###PII-REVIEWS-RIGHT###", "QuerySelector": "div[class*=\"JeEise\"]", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "RightRailMaps", "Description": "This selector selects maps that show up on rightrail. 'My home office' shows up these results.", "ReplaceWord": "###PII-MAPS###", "QuerySelector": "div[id=\"media_result_group\"]", "PositiveSelectors": [], "NegativeSelectors": []}]}], "RegexToScrub": [{"Name": "CreditCard", "Description": "This regex matches any credit card info", "RegexPatterns": [{"Name": "CommonCreditCards1", "Pattern": "(\\?[^=&\\?]*=([3456]\\d{3}([\\ \\-]\\d{4}){3}(?!\\d))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "CommonCreditCards2", "Pattern": "(&[^=&\\?]*=([3456]\\d{3}([\\ \\-]\\d{4}){3}(?!\\d))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "AmexCreditCard1", "Pattern": "(\\?[^=&\\?]*=([3]\\d{3}([\\ \\-]\\d{6})([\\ \\-]\\d{5}))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "AmexCreditCard2", "Pattern": "(&[^=&\\?]*=([3]\\d{3}([\\ \\-]\\d{6})([\\ \\-]\\d{5}))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "DinnersCreditCard1", "Pattern": "(\\?[^=&\\?]*=([3]\\d{3}([\\ \\-]\\d{6})([\\ \\-]\\d{4}))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "DinnersCreditCard2", "Pattern": "(&[^=&\\?]*=([3]\\d{3}([\\ \\-]\\d{6})([\\ \\-]\\d{4}))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "UnionPayCreditCard1", "Pattern": "(\\?[^=&\\?]*=(62[0-5]\\d{13,16}(?!\\d))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}, {"Name": "UnionPayCreditCard2", "Pattern": "(&[^=&\\?]*=(62[0-5]\\d{13,16}(?!\\d))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-CCN###"}]}, {"Name": "IPAddress", "Description": "This regex matches any IP v4 Address strings", "RegexPatterns": [{"Name": "IP", "Pattern": "\\b(?:[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}\\b", "ReplaceWord": "###PII-IPv4###"}]}, {"Name": "IPAddressV6", "Description": "This regex matches some IP v6 Address strings. IPv6 has various different formats. This one only considers the full length IPv6 address without compression. Eg: FE80:CD00:0000:0CDE:1257:0000:211E:729C", "RegexPatterns": [{"Name": "IPv6", "Pattern": "\\b([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4})\\b", "ReplaceWord": "###PII-IPv6###"}]}, {"Name": "GUID", "Description": "This regex matches any GUID Identifiers", "RegexPatterns": [{"Name": "GUID", "Pattern": "\\b([A-F0-9]{8}(?:-[A-F0-9]{4}){3}-[A-F0-9]{12}|[A-F0-9]{32})\\b", "ReplaceWord": "###PII-GUID###"}, {"Name": "HEXIdentifiers", "Pattern": "\\b[A-F0-9]{16}\\b", "ReplaceWord": "###PII-HEX###"}]}, {"Name": "SSN", "Description": "This regex matches Social Security Numbers", "RegexPatterns": [{"Name": "SocialSecurityNumber1", "Pattern": "(\\?[^=&\\?]*=(\\d{3}[\\ \\-]\\d{2}[\\ \\-]\\d{4}(?!\\d))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-SSN###"}, {"Name": "SocialSecurityNumber2", "Pattern": "(&[^=&\\?]*=(\\d{3}[\\ \\-]\\d{2}[\\ \\-]\\d{4}(?!\\d))(?=[#&\\$\\?]))", "ReplaceWord": "###PII-SSN###"}]}], "AllowedUrlParams": {"UrlParams": [{"Name": "q"}, {"Name": "query"}, {"Name": "as_q"}, {"Name": "as_query"}, {"Name": "as_epq"}, {"Name": "as_eq"}, {"Name": "stick"}], "UrlSiteParams": [{"Name": "sitesearch"}, {"Name": "as_sitesearch"}], "UrlParamWithValue": [{"Name": "gs_ivs", "Value": "1"}], "UrlRefs": [{"Name": "tts=0"}]}, "RestrictedTags": {"TagNames": [{"Name": "script"}, {"Name": "style"}, {"Name": "noscript"}]}, "IgnoreBodyClassAttributeForClickDomPathMatching": true, "IgnoreTextNodeInDomPathGeneration": true}}