{"common": {"Name": "Baidu Search Result Page Config", "Description": "These are settings that are common across all Baidu search result pages - all regions/languages", "AllowedSelectors": [{"Name": "MainLineRegion", "Description": "This is a selector for Baidu search results that show up on page", "QuerySelector": "div[id=\"content_left\"]", "RequiredSection": true, "NodesToDrop": [{"Name": "TrackingNumberAnswer", "Description": "Corresponds to div that has all the history of tracking number", "QuerySelector": "div[class*=\"op_express_delivery_history\"]", "ReplaceWord": "###PII-TRACKINGNUMBER###", "PositiveSelectors": [], "NegativeSelectors": []}, {"Name": "TrackingInfoAnswer", "Description": "Corresponds to div that has all the history of tracking number", "QuerySelector": "div[class*=\"show-tracking-time_1ZPj6\"]", "ReplaceWord": "###PII-TRACKINGINFO###", "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=\"content_right\"]", "RequiredSection": false, "NodesToDrop": []}, {"Name": "Verticals", "Description": "This is a selector for vertical list at top of the page", "QuerySelector": "div[id=\"searchTag\"]", "RequiredSection": true, "NodesToDrop": []}, {"Name": "Region", "Description": "Footer containing the country of user", "QuerySelector": "div[id=\"rs_new\"]", "RequiredSection": true, "NodesToDrop": []}], "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": "IPPattern2", "Pattern": "file://b(%3f:[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%3f:/.(%3f:%5b0-9%5d|%5b1-9%5d%5b0-9%5d|1%5b0-9%5d%5b0-9%5d|2%5b0-4%5d%5b0-9%5d|25%5b0-5%5d))%7b3%7d/b]\\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": "IPv6Pattern2", "Pattern": "file://b([0-9a-fA-F]%7b1,4%7d:)%7b7,7%7d[0-9a-fA-F]%7b1,4%7d)/b]\\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(^\\d{15})|(^\\d{17}(x|X|\\d))\\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": "wd"}, {"Name": "oq"}, {"Name": "rqlang"}, {"Name": "prefixsug"}], "UrlSiteParams": [], "UrlParamWithValue": [], "UrlRefs": []}, "RestrictedTags": {"TagNames": [{"Name": "script"}, {"Name": "style"}, {"Name": "noscript"}]}, "IgnoreBodyClassAttributeForClickDomPathMatching": true, "IgnoreTextNodeInDomPathGeneration": true, "SpaSerp": {"SearchRequestHostName": "baidu", "SearchRequestSearchPaths": [{"SearchRequestSearchPath": "/s"}], "SearchResponseMimeType": "text/html", "SearchResultsQuerySelector": "div[id*='content_left']", "MinimumSearchResultsOnPageForLogging": 8}}}