dorksmith 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dorksmith/__init__.py +56 -0
- dorksmith/analyzer.py +151 -0
- dorksmith/catalogs.py +73 -0
- dorksmith/cli.py +124 -0
- dorksmith/data/filetypes.json +68 -0
- dorksmith/data/intents.json +712 -0
- dorksmith/data/operators.google.json +590 -0
- dorksmith/data/platforms.json +118 -0
- dorksmith/errors.py +15 -0
- dorksmith/generator.py +334 -0
- dorksmith/handles.py +135 -0
- dorksmith/infer.py +41 -0
- dorksmith/normalizer.py +213 -0
- dorksmith/placeholders.py +34 -0
- dorksmith/py.typed +0 -0
- dorksmith/quoting.py +82 -0
- dorksmith/ranker.py +131 -0
- dorksmith/resolver.py +222 -0
- dorksmith/validator.py +184 -0
- dorksmith-0.1.0.dist-info/METADATA +128 -0
- dorksmith-0.1.0.dist-info/RECORD +24 -0
- dorksmith-0.1.0.dist-info/WHEEL +4 -0
- dorksmith-0.1.0.dist-info/entry_points.txt +2 -0
- dorksmith-0.1.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,712 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"catalogVersion": "2026-09-24",
|
|
4
|
+
"notes": [
|
|
5
|
+
"Templates are patterns with {placeholders} resolved by the generator. Composite placeholders (site, filetypeGroup, exclusions, ...) resolve to full operator syntax or to nothing.",
|
|
6
|
+
"Placeholders that resolve to nothing cause the template to be skipped unless they are optional. Optional by default: exclusions, dates, after, before, site, siteOption, context. Override per template with requires/optional.",
|
|
7
|
+
"when lists the input types a template applies to. Weight is the base ranking score. family groups templates into precision lenses.",
|
|
8
|
+
"keywords -> {keywords} = (\"a\" OR \"b\"). exclude -> extra static -term exclusions. fileTypes overrides the intent's defaultFileTypes. platformIds/platformCategories/platformLimit feed {platformSites}."
|
|
9
|
+
],
|
|
10
|
+
"families": [
|
|
11
|
+
{ "id": "balanced", "label": "Balanced" },
|
|
12
|
+
{ "id": "precise", "label": "Precise" },
|
|
13
|
+
{ "id": "broad", "label": "Broad" },
|
|
14
|
+
{ "id": "title-focused", "label": "Title-focused" },
|
|
15
|
+
{ "id": "url-focused", "label": "URL-focused" },
|
|
16
|
+
{ "id": "document-focused", "label": "Document-focused" },
|
|
17
|
+
{ "id": "recent", "label": "Recent" },
|
|
18
|
+
{ "id": "noise-reduced", "label": "Noise-reduced" }
|
|
19
|
+
],
|
|
20
|
+
"groups": [
|
|
21
|
+
{ "id": "general", "label": "General discovery" },
|
|
22
|
+
{ "id": "org-osint", "label": "Organization / domain OSINT" },
|
|
23
|
+
{ "id": "defensive", "label": "Defensive exposure checks" },
|
|
24
|
+
{ "id": "person", "label": "Person / identity OSINT" },
|
|
25
|
+
{ "id": "socmint", "label": "SOCMINT / username discovery" }
|
|
26
|
+
],
|
|
27
|
+
"intents": [
|
|
28
|
+
{
|
|
29
|
+
"id": "general-discovery",
|
|
30
|
+
"label": "Broad web discovery",
|
|
31
|
+
"group": "general",
|
|
32
|
+
"description": "Sensible starting variants for any topic: plain terms, exact phrase, title, URL, body text and documents.",
|
|
33
|
+
"safety": "standard",
|
|
34
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology", "filename", "domain"],
|
|
35
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
36
|
+
"templates": [
|
|
37
|
+
{ "id": "gd-balanced", "family": "balanced", "when": ["keyword", "person", "organization", "technology", "filename"], "pattern": "{terms} {site} {dates} {exclusions}", "weight": 100, "explanation": "Plain terms let the engine rank by relevance; optional site, date and exclusion scoping narrow it without over-constraining." },
|
|
38
|
+
{ "id": "gd-precise", "family": "precise", "when": ["keyword", "person", "organization", "technology", "filename"], "pattern": "{quoted} {site} {exclusions}", "weight": 90, "explanation": "Exact-phrase matching removes results that only contain the words separately." },
|
|
39
|
+
{ "id": "gd-recent", "family": "recent", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {site} {dates} {exclusions}", "weight": 88, "requires": ["dates"], "explanation": "Exact phrase constrained to the supplied date window." },
|
|
40
|
+
{ "id": "gd-title", "family": "title-focused", "when": ["keyword", "person", "organization", "technology", "filename"], "pattern": "{intitle} {site} {exclusions}", "weight": 80, "explanation": "Pages whose title contains the phrase are usually about it rather than merely mentioning it." },
|
|
41
|
+
{ "id": "gd-text", "family": "precise", "when": ["keyword", "person", "organization", "technology"], "pattern": "{intext} {site} {exclusions}", "weight": 70, "explanation": "intext: forces the phrase into the body text, filtering out navigation and link-only hits." },
|
|
42
|
+
{ "id": "gd-url", "family": "url-focused", "when": ["keyword", "technology", "filename"], "pattern": "{inurl} {site} {exclusions}", "weight": 60, "explanation": "Terms appearing in the URL path often indicate dedicated pages, categories or files." },
|
|
43
|
+
{ "id": "gd-docs", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {filetypeGroup} {site} {exclusions}", "weight": 65, "explanation": "Limits results to office documents, where reports, slides and spreadsheets live." },
|
|
44
|
+
{ "id": "gd-broad", "family": "broad", "when": ["keyword", "person", "organization", "technology"], "pattern": "{termsAny} {site} {exclusions}", "weight": 50, "explanation": "Any of the words may match, trading precision for recall when the exact wording is unknown." },
|
|
45
|
+
{ "id": "gd-noise", "family": "noise-reduced", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {site} {exclusions}", "exclude": ["jobs", "careers", "login", "signup"], "weight": 55, "explanation": "Removes recruitment and account pages that dominate results for many organisation and product names." },
|
|
46
|
+
{ "id": "gd-filename-doc", "family": "document-focused", "when": ["filename"], "pattern": "{filenameStem} {filetypeFromFilename} {site} {exclusions}", "weight": 95, "explanation": "Searches the file's base name restricted to its extension, which catches renamed copies and mirrors." },
|
|
47
|
+
{ "id": "gd-domain-mentions", "family": "balanced", "when": ["domain"], "pattern": "{domainQuoted} {excludeSite} {dates} {exclusions}", "weight": 100, "explanation": "Pages elsewhere on the web that mention the domain, excluding the domain itself." },
|
|
48
|
+
{ "id": "gd-domain-all", "family": "broad", "when": ["domain"], "pattern": "{site} {dates} {exclusions}", "weight": 90, "explanation": "Everything the engine has indexed on the domain." },
|
|
49
|
+
{ "id": "gd-domain-docs", "family": "document-focused", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 80, "explanation": "Office documents hosted on the domain." },
|
|
50
|
+
{ "id": "gd-domain-title", "family": "title-focused", "when": ["domain"], "pattern": "{site} intitle:{domainLabelBare} {exclusions}", "weight": 60, "explanation": "Pages on the domain whose title carries the organisation name, typically landing and about pages." },
|
|
51
|
+
{ "id": "gd-domain-subs", "family": "url-focused", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {exclusions}", "weight": 70, "explanation": "Indexed hosts other than www reveal sub-domains without any active enumeration." }
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "exact-phrase",
|
|
56
|
+
"label": "Exact phrase",
|
|
57
|
+
"group": "general",
|
|
58
|
+
"description": "Variants built around exact wording: quotes, intext:, intitle:, wildcards inside the phrase.",
|
|
59
|
+
"safety": "standard",
|
|
60
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology"],
|
|
61
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
62
|
+
"templates": [
|
|
63
|
+
{ "id": "ep-balanced", "family": "balanced", "when": ["*"], "pattern": "{quoted} {site} {dates} {exclusions}", "weight": 100, "explanation": "The phrase must appear verbatim; scoping is optional." },
|
|
64
|
+
{ "id": "ep-text", "family": "precise", "when": ["*"], "pattern": "{intext} {site} {exclusions}", "weight": 85, "explanation": "intext: requires the phrase in the page body rather than in a title or link." },
|
|
65
|
+
{ "id": "ep-title", "family": "title-focused", "when": ["*"], "pattern": "{intitle} {site} {exclusions}", "weight": 75, "explanation": "Title matches identify pages dedicated to the phrase." },
|
|
66
|
+
{ "id": "ep-docs", "family": "document-focused", "when": ["*"], "pattern": "{quoted} {filetypeGroup} {site} {exclusions}", "weight": 65, "explanation": "The phrase inside office documents." },
|
|
67
|
+
{ "id": "ep-wildcard", "family": "broad", "when": ["*"], "pattern": "{phraseWildcard} {site} {exclusions}", "weight": 60, "explanation": "A wildcard between the first and last word catches variants with different middle words." },
|
|
68
|
+
{ "id": "ep-noise", "family": "noise-reduced", "when": ["*"], "pattern": "{quoted} {site} {exclusions}", "exclude": ["jobs", "careers"], "weight": 55, "explanation": "Drops recruitment pages, a common source of noise for company and product phrases." },
|
|
69
|
+
{ "id": "ep-any", "family": "broad", "when": ["*"], "pattern": "{termsAny} {site} {exclusions}", "weight": 40, "explanation": "Loosens the phrase to any of its words for maximum recall." }
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "site-scoped",
|
|
74
|
+
"label": "Domain / site scoped",
|
|
75
|
+
"group": "general",
|
|
76
|
+
"description": "Everything scoped to a site. For non-domain inputs supply a target site in the options.",
|
|
77
|
+
"safety": "standard",
|
|
78
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology", "domain"],
|
|
79
|
+
"requiresOptionsForInputTypes": { "keyword": ["site"], "person": ["site"], "organization": ["site"], "technology": ["site"] },
|
|
80
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
81
|
+
"templates": [
|
|
82
|
+
{ "id": "ss-balanced", "family": "balanced", "when": ["keyword", "person", "organization", "technology"], "pattern": "{terms} {site} {dates} {exclusions}", "requires": ["site"], "weight": 100, "explanation": "Terms restricted to the target site." },
|
|
83
|
+
{ "id": "ss-precise", "family": "precise", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {site} {exclusions}", "requires": ["site"], "weight": 90, "explanation": "Exact phrase restricted to the target site." },
|
|
84
|
+
{ "id": "ss-title", "family": "title-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{intitle} {site} {exclusions}", "requires": ["site"], "weight": 80, "explanation": "Title matches on the target site." },
|
|
85
|
+
{ "id": "ss-text", "family": "precise", "when": ["keyword", "person", "organization", "technology"], "pattern": "{intext} {site} {exclusions}", "requires": ["site"], "weight": 75, "explanation": "Body-text matches on the target site." },
|
|
86
|
+
{ "id": "ss-url", "family": "url-focused", "when": ["keyword", "technology"], "pattern": "{inurl} {site} {exclusions}", "requires": ["site"], "weight": 70, "explanation": "URL matches on the target site." },
|
|
87
|
+
{ "id": "ss-docs", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {filetypeGroup} {site} {exclusions}", "requires": ["site"], "weight": 65, "explanation": "Documents on the target site containing the phrase." },
|
|
88
|
+
{ "id": "ss-domain-all", "family": "balanced", "when": ["domain"], "pattern": "{site} {dates} {exclusions}", "weight": 100, "explanation": "Everything indexed on the domain, optionally date-bounded." },
|
|
89
|
+
{ "id": "ss-domain-subs", "family": "url-focused", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {exclusions}", "weight": 85, "explanation": "Sub-domains discovered through indexed pages, excluding the main www host." },
|
|
90
|
+
{ "id": "ss-domain-docs", "family": "document-focused", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 75, "explanation": "Office documents hosted on the domain." },
|
|
91
|
+
{ "id": "ss-domain-noise", "family": "noise-reduced", "when": ["domain"], "pattern": "{site} -inurl:tag -inurl:category -inurl:page -inurl:login {exclusions}", "weight": 60, "explanation": "Removes pagination, taxonomy and login URLs that inflate site listings." }
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "title-focused",
|
|
96
|
+
"label": "Title-focused",
|
|
97
|
+
"group": "general",
|
|
98
|
+
"description": "Variants that prioritise intitle: so results are about the topic rather than mentioning it.",
|
|
99
|
+
"safety": "standard",
|
|
100
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology", "filename"],
|
|
101
|
+
"defaultFileTypes": ["pdf", "docx", "pptx"],
|
|
102
|
+
"templates": [
|
|
103
|
+
{ "id": "tf-balanced", "family": "title-focused", "when": ["*"], "pattern": "{intitle} {site} {dates} {exclusions}", "weight": 100, "explanation": "The phrase must appear in the page title." },
|
|
104
|
+
{ "id": "tf-precise", "family": "precise", "when": ["*"], "pattern": "{intitle} {intext} {site} {exclusions}", "weight": 85, "explanation": "Requires the phrase in both the title and the body text." },
|
|
105
|
+
{ "id": "tf-any", "family": "broad", "when": ["*"], "pattern": "{intitleAny} {site} {exclusions}", "weight": 60, "explanation": "Any of the words in the title, for topics with variable wording." },
|
|
106
|
+
{ "id": "tf-docs", "family": "document-focused", "when": ["*"], "pattern": "{intitle} {filetypeGroup} {site} {exclusions}", "weight": 65, "explanation": "Documents whose title metadata contains the phrase." },
|
|
107
|
+
{ "id": "tf-noise", "family": "noise-reduced", "when": ["*"], "pattern": "{intitle} {site} {exclusions}", "exclude": ["login", "signup"], "weight": 55, "explanation": "Removes authentication pages that often carry product names in their titles." }
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "url-focused",
|
|
112
|
+
"label": "URL-focused",
|
|
113
|
+
"group": "general",
|
|
114
|
+
"description": "Variants that prioritise inurl:, useful for finding dedicated sections, files and endpoints.",
|
|
115
|
+
"safety": "standard",
|
|
116
|
+
"compatibleInputTypes": ["keyword", "technology", "filename"],
|
|
117
|
+
"defaultFileTypes": ["pdf", "docx", "xlsx"],
|
|
118
|
+
"templates": [
|
|
119
|
+
{ "id": "uf-balanced", "family": "url-focused", "when": ["*"], "pattern": "{inurl} {site} {exclusions}", "weight": 100, "explanation": "The term must appear in the URL." },
|
|
120
|
+
{ "id": "uf-precise", "family": "precise", "when": ["*"], "pattern": "{inurl} {quoted} {site} {exclusions}", "weight": 85, "explanation": "URL match plus the exact phrase in the page." },
|
|
121
|
+
{ "id": "uf-title", "family": "title-focused", "when": ["*"], "pattern": "{inurl} {intitle} {site} {exclusions}", "weight": 70, "explanation": "Both the URL and the title mention the term." },
|
|
122
|
+
{ "id": "uf-any", "family": "broad", "when": ["*"], "pattern": "{inurlAny} {site} {exclusions}", "weight": 60, "explanation": "Any of the words in the URL." },
|
|
123
|
+
{ "id": "uf-docs", "family": "document-focused", "when": ["*"], "pattern": "{inurl} {filetypeGroup} {site} {exclusions}", "weight": 55, "explanation": "Documents whose URL contains the term." }
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "page-text",
|
|
128
|
+
"label": "Page-text focused",
|
|
129
|
+
"group": "general",
|
|
130
|
+
"description": "Variants that prioritise intext: for phrases that must appear in the body copy.",
|
|
131
|
+
"safety": "standard",
|
|
132
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology"],
|
|
133
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
134
|
+
"templates": [
|
|
135
|
+
{ "id": "pt-balanced", "family": "balanced", "when": ["*"], "pattern": "{intext} {site} {dates} {exclusions}", "weight": 100, "explanation": "The phrase must appear in the body text." },
|
|
136
|
+
{ "id": "pt-precise", "family": "precise", "when": ["*"], "pattern": "{intext} {intitle} {site} {exclusions}", "weight": 85, "explanation": "Phrase in the body and in the title." },
|
|
137
|
+
{ "id": "pt-any", "family": "broad", "when": ["*"], "pattern": "{intextAny} {site} {exclusions}", "weight": 60, "explanation": "Any of the words in the body text." },
|
|
138
|
+
{ "id": "pt-docs", "family": "document-focused", "when": ["*"], "pattern": "{intext} {filetypeGroup} {site} {exclusions}", "weight": 65, "explanation": "Documents whose text contains the phrase." },
|
|
139
|
+
{ "id": "pt-noise", "family": "noise-reduced", "when": ["*"], "pattern": "{intext} {site} {exclusions}", "exclude": ["login", "jobs"], "weight": 50, "explanation": "Removes login and recruitment pages." }
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"id": "date-bounded",
|
|
144
|
+
"label": "Date-bounded",
|
|
145
|
+
"group": "general",
|
|
146
|
+
"description": "Variants constrained with after:/before:. Supply at least one date in the options.",
|
|
147
|
+
"safety": "standard",
|
|
148
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology", "domain"],
|
|
149
|
+
"requiresOptions": ["dates"],
|
|
150
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
151
|
+
"templates": [
|
|
152
|
+
{ "id": "db-balanced", "family": "recent", "when": ["keyword", "person", "organization", "technology"], "pattern": "{terms} {site} {dates} {exclusions}", "requires": ["dates"], "weight": 100, "explanation": "Terms within the date window." },
|
|
153
|
+
{ "id": "db-precise", "family": "precise", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {site} {dates} {exclusions}", "requires": ["dates"], "weight": 90, "explanation": "Exact phrase within the date window." },
|
|
154
|
+
{ "id": "db-title", "family": "title-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{intitle} {site} {dates} {exclusions}", "requires": ["dates"], "weight": 75, "explanation": "Title matches within the date window." },
|
|
155
|
+
{ "id": "db-docs", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {filetypeGroup} {site} {dates} {exclusions}", "requires": ["dates"], "weight": 65, "explanation": "Documents published within the date window." },
|
|
156
|
+
{ "id": "db-domain", "family": "recent", "when": ["domain"], "pattern": "{site} {dates} {exclusions}", "requires": ["dates"], "weight": 100, "explanation": "Pages on the domain published within the date window." },
|
|
157
|
+
{ "id": "db-domain-docs", "family": "document-focused", "when": ["domain"], "pattern": "{site} {filetypeGroup} {dates} {exclusions}", "requires": ["dates"], "weight": 80, "explanation": "Documents on the domain published within the date window." },
|
|
158
|
+
{ "id": "db-domain-mentions", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} {excludeSite} {dates} {exclusions}", "requires": ["dates"], "weight": 70, "explanation": "Mentions of the domain elsewhere within the date window." }
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "exclude-noise",
|
|
163
|
+
"label": "Exclude noise",
|
|
164
|
+
"group": "general",
|
|
165
|
+
"description": "Variants with deterministic exclusions for jobs, logins, social networks and commerce. Add your own excluded terms in the options.",
|
|
166
|
+
"safety": "standard",
|
|
167
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology", "domain"],
|
|
168
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
169
|
+
"templates": [
|
|
170
|
+
{ "id": "en-balanced", "family": "noise-reduced", "when": ["keyword", "person", "organization", "technology"], "pattern": "{terms} {site} {exclusions} -inurl:login -inurl:signup -intitle:\"privacy policy\"", "exclude": ["jobs", "careers"], "weight": 100, "explanation": "Removes recruitment, authentication and policy pages." },
|
|
171
|
+
{ "id": "en-precise", "family": "precise", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {site} {exclusions}", "exclude": ["jobs", "careers"], "weight": 90, "explanation": "Exact phrase minus recruitment pages." },
|
|
172
|
+
{ "id": "en-social", "family": "noise-reduced", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} -site:pinterest.com -site:facebook.com -site:x.com -site:twitter.com -site:instagram.com -site:linkedin.com {exclusions}", "weight": 80, "explanation": "Removes the major social networks to surface primary sources." },
|
|
173
|
+
{ "id": "en-commerce", "family": "noise-reduced", "when": ["keyword", "technology"], "pattern": "{quoted} -site:amazon.com -site:ebay.com -shop -buy -price {exclusions}", "weight": 60, "explanation": "Removes marketplaces and shopping terms." },
|
|
174
|
+
{ "id": "en-docs", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {filetypeGroup} {site} {exclusions}", "exclude": ["brochure", "newsletter"], "weight": 55, "explanation": "Documents minus marketing collateral." },
|
|
175
|
+
{ "id": "en-domain", "family": "noise-reduced", "when": ["domain"], "pattern": "{site} -inurl:login -inurl:signup -inurl:tag -inurl:category -inurl:page {exclusions}", "weight": 100, "explanation": "Site listing without authentication, taxonomy and pagination URLs." },
|
|
176
|
+
{ "id": "en-domain-docs", "family": "document-focused", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "exclude": ["brochure", "newsletter"], "weight": 70, "explanation": "Documents on the domain minus marketing collateral." },
|
|
177
|
+
{ "id": "en-domain-mentions", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} {excludeSite} -site:pinterest.com -site:facebook.com -site:x.com -site:linkedin.com {exclusions}", "weight": 60, "explanation": "Mentions of the domain outside itself and outside social networks." }
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"id": "documents",
|
|
182
|
+
"label": "Documents by file type",
|
|
183
|
+
"group": "general",
|
|
184
|
+
"description": "Office documents, spreadsheets and presentations containing the phrase. Select file types in the options or accept the defaults.",
|
|
185
|
+
"safety": "standard",
|
|
186
|
+
"compatibleInputTypes": ["keyword", "person", "organization", "technology", "domain"],
|
|
187
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
188
|
+
"templates": [
|
|
189
|
+
{ "id": "doc-balanced", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {filetypeGroup} {site} {dates} {exclusions}", "weight": 100, "explanation": "Exact phrase inside the selected document types." },
|
|
190
|
+
{ "id": "doc-first", "family": "precise", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} {filetypeFirst} {site} {exclusions}", "weight": 85, "explanation": "Only the first (highest-priority) file type, for a tighter result set." },
|
|
191
|
+
{ "id": "doc-title", "family": "title-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{intitle} {filetypeGroup} {site} {exclusions}", "weight": 75, "explanation": "Documents whose title metadata contains the phrase." },
|
|
192
|
+
{ "id": "doc-broad", "family": "broad", "when": ["keyword", "person", "organization", "technology"], "pattern": "{terms} {filetypeGroup} {site} {exclusions}", "weight": 60, "explanation": "Unquoted terms inside the selected document types." },
|
|
193
|
+
{ "id": "doc-sheets", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} (filetype:xlsx OR filetype:xls OR filetype:csv) {site} {exclusions}", "weight": 55, "explanation": "Spreadsheets and CSV exports only." },
|
|
194
|
+
{ "id": "doc-slides", "family": "document-focused", "when": ["keyword", "person", "organization", "technology"], "pattern": "{quoted} (filetype:pptx OR filetype:ppt) {site} {exclusions}", "weight": 50, "explanation": "Presentations only." },
|
|
195
|
+
{ "id": "doc-domain", "family": "document-focused", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 100, "explanation": "Documents hosted on the domain." },
|
|
196
|
+
{ "id": "doc-domain-recent", "family": "recent", "when": ["domain"], "pattern": "{site} {filetypeGroup} {dates}", "requires": ["dates"], "weight": 90, "explanation": "Documents on the domain within the date window." },
|
|
197
|
+
{ "id": "doc-domain-first", "family": "precise", "when": ["domain"], "pattern": "{site} {filetypeFirst} {exclusions}", "weight": 80, "explanation": "Only the highest-priority file type on the domain." },
|
|
198
|
+
{ "id": "doc-domain-mentions", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} {filetypeGroup} {excludeSite} {exclusions}", "weight": 65, "explanation": "Documents hosted elsewhere that mention the domain." }
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "url-mentions",
|
|
203
|
+
"label": "URL references",
|
|
204
|
+
"group": "general",
|
|
205
|
+
"description": "Where a specific URL is quoted, linked or indexed.",
|
|
206
|
+
"safety": "standard",
|
|
207
|
+
"compatibleInputTypes": ["url"],
|
|
208
|
+
"templates": [
|
|
209
|
+
{ "id": "um-quoted", "family": "precise", "when": ["url"], "pattern": "{urlQuoted} {exclusions}", "weight": 100, "explanation": "Pages quoting the full URL." },
|
|
210
|
+
{ "id": "um-bare", "family": "balanced", "when": ["url"], "pattern": "{urlBareQuoted} {exclusions}", "weight": 95, "explanation": "The URL without its scheme, which matches how most pages cite links." },
|
|
211
|
+
{ "id": "um-offsite", "family": "noise-reduced", "when": ["url"], "pattern": "{urlBareQuoted} {excludeSite} {exclusions}", "weight": 90, "explanation": "Citations of the URL from other hosts only." },
|
|
212
|
+
{ "id": "um-path", "family": "url-focused", "when": ["url"], "pattern": "{site} {inurlPath} {exclusions}", "requires": ["inurlPath"], "weight": 85, "explanation": "Indexed pages under the same path on the host." },
|
|
213
|
+
{ "id": "um-text", "family": "precise", "when": ["url"], "pattern": "{intext} {exclusions}", "weight": 60, "explanation": "The URL appearing in body text." },
|
|
214
|
+
{ "id": "um-host", "family": "broad", "when": ["url"], "pattern": "{site} {dates} {exclusions}", "weight": 50, "explanation": "Everything indexed on the URL's host." }
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "troubleshooting",
|
|
219
|
+
"label": "Troubleshooting / error lookup",
|
|
220
|
+
"group": "general",
|
|
221
|
+
"description": "Error messages and technology problems on Q&A sites, issue trackers, documentation and forums.",
|
|
222
|
+
"safety": "standard",
|
|
223
|
+
"compatibleInputTypes": ["keyword", "technology"],
|
|
224
|
+
"templates": [
|
|
225
|
+
{ "id": "ts-qa", "family": "balanced", "when": ["*"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["stackoverflow", "github", "serverfault", "superuser"], "weight": 100, "explanation": "Exact message on the main developer Q&A sites and GitHub." },
|
|
226
|
+
{ "id": "ts-issues", "family": "precise", "when": ["*"], "pattern": "{quoted} site:github.com inurl:issues {exclusions}", "weight": 90, "explanation": "GitHub issue threads quoting the message." },
|
|
227
|
+
{ "id": "ts-docs", "family": "url-focused", "when": ["*"], "pattern": "{quoted} (inurl:docs OR inurl:documentation OR intitle:documentation) {exclusions}", "weight": 70, "explanation": "Official documentation pages." },
|
|
228
|
+
{ "id": "ts-forums", "family": "broad", "when": ["*"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["reddit", "stackexchange", "hackernews"], "weight": 60, "explanation": "Community forums and discussion threads." },
|
|
229
|
+
{ "id": "ts-broad", "family": "broad", "when": ["*"], "pattern": "{terms} {keywords} {exclusions}", "keywords": ["error", "exception", "not working", "fix"], "weight": 55, "explanation": "Unquoted terms combined with generic problem words." },
|
|
230
|
+
{ "id": "ts-recent", "family": "recent", "when": ["*"], "pattern": "{quoted} {dates} {exclusions}", "requires": ["dates"], "weight": 65, "explanation": "Recent reports only, useful after a new release." }
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
|
|
234
|
+
{
|
|
235
|
+
"id": "public-documents",
|
|
236
|
+
"label": "Public documents",
|
|
237
|
+
"group": "org-osint",
|
|
238
|
+
"description": "Reports, spreadsheets and presentations published by or about an organisation.",
|
|
239
|
+
"safety": "standard",
|
|
240
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
241
|
+
"defaultFileTypes": ["pdf", "docx", "xlsx", "pptx"],
|
|
242
|
+
"templates": [
|
|
243
|
+
{ "id": "pd-domain-balanced", "family": "balanced", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 100, "explanation": "Scopes results to the target domain and common document formats." },
|
|
244
|
+
{ "id": "pd-domain-recent", "family": "recent", "when": ["domain"], "pattern": "{site} {filetypeGroup} {dates} {exclusions}", "requires": ["dates"], "weight": 92, "explanation": "Documents on the domain within the date window." },
|
|
245
|
+
{ "id": "pd-domain-titles", "family": "title-focused", "when": ["domain"], "pattern": "{site} {filetypeGroup} (intitle:report OR intitle:policy OR intitle:presentation OR intitle:\"annual report\") {exclusions}", "weight": 80, "explanation": "Documents whose titles indicate reports, policies or presentations." },
|
|
246
|
+
{ "id": "pd-domain-sheets", "family": "document-focused", "when": ["domain"], "pattern": "{site} (filetype:xlsx OR filetype:xls OR filetype:csv) {exclusions}", "weight": 75, "explanation": "Spreadsheets and data exports on the domain." },
|
|
247
|
+
{ "id": "pd-domain-slides", "family": "document-focused", "when": ["domain"], "pattern": "{site} (filetype:pptx OR filetype:ppt) {exclusions}", "weight": 70, "explanation": "Presentations on the domain." },
|
|
248
|
+
{ "id": "pd-domain-first", "family": "precise", "when": ["domain"], "pattern": "{site} {filetypeFirst} {exclusions}", "weight": 85, "explanation": "Only the highest-priority file type on the domain." },
|
|
249
|
+
{ "id": "pd-domain-offsite", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} {filetypeGroup} {excludeSite} {exclusions}", "weight": 65, "explanation": "Documents hosted elsewhere that mention the domain." },
|
|
250
|
+
{ "id": "pd-org-balanced", "family": "balanced", "when": ["organization"], "pattern": "{quoted} {filetypeGroup} {siteOption} {exclusions}", "weight": 100, "explanation": "The organisation name inside common document formats." },
|
|
251
|
+
{ "id": "pd-org-titles", "family": "title-focused", "when": ["organization"], "pattern": "{quoted} {filetypeGroup} (intitle:report OR intitle:presentation OR intitle:policy) {exclusions}", "weight": 80, "explanation": "Documents titled as reports, presentations or policies." },
|
|
252
|
+
{ "id": "pd-org-intitle", "family": "precise", "when": ["organization"], "pattern": "{intitle} {filetypeGroup} {exclusions}", "weight": 75, "explanation": "Documents whose title metadata contains the organisation name." },
|
|
253
|
+
{ "id": "pd-org-first", "family": "document-focused", "when": ["organization"], "pattern": "{quoted} {filetypeFirst} {siteOption} {exclusions}", "weight": 70, "explanation": "Only the highest-priority file type." },
|
|
254
|
+
{ "id": "pd-org-recent", "family": "recent", "when": ["organization"], "pattern": "{quoted} {filetypeGroup} {dates} {exclusions}", "requires": ["dates"], "weight": 85, "explanation": "Documents within the date window." }
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"id": "subdomain-references",
|
|
259
|
+
"label": "Sub-domain references",
|
|
260
|
+
"group": "org-osint",
|
|
261
|
+
"description": "Sub-domains discoverable purely through indexed search results. No DNS queries or active enumeration.",
|
|
262
|
+
"safety": "standard",
|
|
263
|
+
"compatibleInputTypes": ["domain"],
|
|
264
|
+
"defaultFileTypes": ["pdf", "xml", "json", "txt"],
|
|
265
|
+
"templates": [
|
|
266
|
+
{ "id": "sr-wildcard", "family": "balanced", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {exclusions}", "weight": 100, "explanation": "Any indexed host under the domain except www." },
|
|
267
|
+
{ "id": "sr-exclude-www", "family": "precise", "when": ["domain"], "pattern": "{siteWildcard} {excludeWww} {excludeSite} {exclusions}", "weight": 90, "explanation": "Same idea with explicit -site: exclusions, which some engines honour more strictly than -inurl:." },
|
|
268
|
+
{ "id": "sr-environments", "family": "url-focused", "when": ["domain"], "pattern": "{siteWildcard} (inurl:dev OR inurl:staging OR inurl:test OR inurl:uat OR inurl:api OR inurl:admin OR inurl:portal) -inurl:www {exclusions}", "weight": 80, "explanation": "Hosts named after common environments and services." },
|
|
269
|
+
{ "id": "sr-docs", "family": "document-focused", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {filetypeGroup} {exclusions}", "weight": 55, "explanation": "Files served from non-www hosts." },
|
|
270
|
+
{ "id": "sr-mentions", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} {excludeSite} (inurl:subdomain OR intext:\"subdomain\" OR intext:\"*.{domain}\") {exclusions}", "weight": 40, "explanation": "Third-party pages discussing the domain's sub-domains." }
|
|
271
|
+
]
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"id": "contact-pages",
|
|
275
|
+
"label": "Public contact pages",
|
|
276
|
+
"group": "org-osint",
|
|
277
|
+
"description": "Contact, about, press and team pages, plus pages listing addresses at the domain.",
|
|
278
|
+
"safety": "standard",
|
|
279
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
280
|
+
"templates": [
|
|
281
|
+
{ "id": "cp-domain-contact", "family": "balanced", "when": ["domain"], "pattern": "{site} (intitle:contact OR inurl:contact OR intitle:\"contact us\") {exclusions}", "weight": 100, "explanation": "Contact pages on the domain." },
|
|
282
|
+
{ "id": "cp-domain-emails", "family": "precise", "when": ["domain"], "pattern": "{site} {atDomainQuoted} {exclusions}", "weight": 90, "explanation": "Pages on the domain that list addresses at the domain." },
|
|
283
|
+
{ "id": "cp-domain-about", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:about OR inurl:team OR inurl:people OR inurl:staff OR intitle:about) {exclusions}", "weight": 80, "explanation": "About and team pages." },
|
|
284
|
+
{ "id": "cp-domain-offsite", "family": "broad", "when": ["domain"], "pattern": "{atDomainQuoted} {excludeSite} {exclusions}", "weight": 70, "explanation": "Addresses at the domain published on other sites." },
|
|
285
|
+
{ "id": "cp-domain-press", "family": "noise-reduced", "when": ["domain"], "pattern": "{site} (intitle:press OR inurl:press OR inurl:media OR inurl:newsroom) {exclusions}", "weight": 50, "explanation": "Press and media contact pages." },
|
|
286
|
+
{ "id": "cp-org-contact", "family": "balanced", "when": ["organization"], "pattern": "{quoted} (intitle:contact OR \"contact us\") {siteOption} {exclusions}", "weight": 100, "explanation": "Contact pages mentioning the organisation." },
|
|
287
|
+
{ "id": "cp-org-about", "family": "title-focused", "when": ["organization"], "pattern": "{quoted} (intitle:about OR \"our team\" OR leadership) {siteOption} {exclusions}", "weight": 70, "explanation": "About and leadership pages." },
|
|
288
|
+
{ "id": "cp-org-details", "family": "broad", "when": ["organization"], "pattern": "{quoted} (email OR phone OR address) {siteOption} {exclusions}", "weight": 60, "explanation": "Pages listing contact details next to the organisation name." }
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"id": "staff-profiles",
|
|
293
|
+
"label": "Public staff / profile references",
|
|
294
|
+
"group": "org-osint",
|
|
295
|
+
"description": "Publicly published team pages and professional profiles associated with an organisation.",
|
|
296
|
+
"safety": "standard",
|
|
297
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
298
|
+
"templates": [
|
|
299
|
+
{ "id": "sp-domain-team", "family": "balanced", "when": ["domain"], "pattern": "{site} (inurl:team OR inurl:people OR inurl:staff OR inurl:leadership OR inurl:about) {exclusions}", "weight": 100, "explanation": "Team and leadership pages on the domain." },
|
|
300
|
+
{ "id": "sp-domain-linkedin", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} site:linkedin.com/in {exclusions}", "weight": 95, "explanation": "LinkedIn profiles mentioning the organisation name derived from the domain." },
|
|
301
|
+
{ "id": "sp-domain-titles", "family": "title-focused", "when": ["domain"], "pattern": "{site} (\"head of\" OR director OR manager OR engineer OR \"chief\") {exclusions}", "weight": 60, "explanation": "Pages on the domain that mention job titles." },
|
|
302
|
+
{ "id": "sp-domain-platforms", "family": "broad", "when": ["domain"], "pattern": "{domainLabel} {platformSites} {exclusions}", "platformIds": ["linkedin", "xing", "github", "x"], "weight": 65, "explanation": "Professional and developer platforms mentioning the organisation name." },
|
|
303
|
+
{ "id": "sp-domain-emails", "family": "url-focused", "when": ["domain"], "pattern": "{atDomainQuoted} {excludeSite} {exclusions}", "weight": 70, "explanation": "Addresses at the domain published elsewhere, often alongside names and roles." },
|
|
304
|
+
{ "id": "sp-org-linkedin", "family": "balanced", "when": ["organization"], "pattern": "{quoted} site:linkedin.com/in {exclusions}", "weight": 100, "explanation": "LinkedIn profiles mentioning the organisation." },
|
|
305
|
+
{ "id": "sp-org-titles", "family": "precise", "when": ["organization"], "pattern": "{quoted} (\"head of\" OR director OR manager OR engineer OR chief) {siteOption} {exclusions}", "weight": 80, "explanation": "Pages that mention the organisation alongside job titles." },
|
|
306
|
+
{ "id": "sp-org-platforms", "family": "broad", "when": ["organization"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["linkedin", "xing", "github", "x"], "weight": 70, "explanation": "Professional and developer platforms mentioning the organisation." },
|
|
307
|
+
{ "id": "sp-org-team", "family": "title-focused", "when": ["organization"], "pattern": "{quoted} (intitle:team OR inurl:team OR \"our team\" OR leadership) {siteOption} {exclusions}", "weight": 60, "explanation": "Team pages mentioning the organisation." }
|
|
308
|
+
]
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"id": "technology-mentions",
|
|
312
|
+
"label": "Public technology mentions",
|
|
313
|
+
"group": "org-osint",
|
|
314
|
+
"description": "Public statements, profiles and job postings that reveal an organisation's technology stack.",
|
|
315
|
+
"safety": "standard",
|
|
316
|
+
"compatibleInputTypes": ["domain", "organization", "technology"],
|
|
317
|
+
"templates": [
|
|
318
|
+
{ "id": "tm-domain-powered", "family": "balanced", "when": ["domain"], "pattern": "{site} (\"powered by\" OR \"built with\" OR \"running on\") {exclusions}", "weight": 100, "explanation": "Footer credits and vendor mentions on the domain." },
|
|
319
|
+
{ "id": "tm-domain-stack-sites", "family": "precise", "when": ["domain"], "pattern": "{domainQuoted} (site:stackshare.io OR site:builtwith.com) {exclusions}", "weight": 80, "explanation": "Technology profiling sites that have indexed the domain." },
|
|
320
|
+
{ "id": "tm-domain-paths", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:wp-content OR inurl:wp-includes OR inurl:sites/default OR inurl:_next OR inurl:static/js) {exclusions}", "weight": 70, "explanation": "Framework-specific URL paths fingerprint the platform in use." },
|
|
321
|
+
{ "id": "tm-domain-devs", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} {platformSites} {exclusions}", "platformIds": ["stackoverflow", "github"], "weight": 75, "explanation": "Developers referencing the domain on Q&A and code-hosting sites." },
|
|
322
|
+
{ "id": "tm-domain-api", "family": "title-focused", "when": ["domain"], "pattern": "{site} API (inurl:docs OR inurl:developer OR inurl:developers) {exclusions}", "weight": 60, "explanation": "Developer documentation reveals APIs and integration technologies." },
|
|
323
|
+
{ "id": "tm-org-powered", "family": "balanced", "when": ["organization"], "pattern": "{quoted} (\"powered by\" OR \"built with\" OR \"tech stack\" OR \"we use\") {siteOption} {exclusions}", "weight": 100, "explanation": "Public statements about the organisation's stack." },
|
|
324
|
+
{ "id": "tm-org-stackshare", "family": "precise", "when": ["organization"], "pattern": "{quoted} site:stackshare.io {exclusions}", "weight": 80, "explanation": "StackShare company profiles." },
|
|
325
|
+
{ "id": "tm-org-jobs", "family": "broad", "when": ["organization"], "pattern": "{quoted} (inurl:jobs OR inurl:careers) (\"experience with\" OR \"familiarity with\" OR \"proficiency in\") {exclusions}", "weight": 65, "explanation": "Job postings routinely list the technologies in use." },
|
|
326
|
+
{ "id": "tm-org-devs", "family": "url-focused", "when": ["organization"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["stackoverflow", "github"], "weight": 70, "explanation": "Developers referencing the organisation on Q&A and code-hosting sites." },
|
|
327
|
+
{ "id": "tm-tech-powered", "family": "balanced", "when": ["technology"], "pattern": "{quoted} (\"powered by\" OR \"built with\") {site} {exclusions}", "weight": 100, "explanation": "Sites crediting the technology, optionally scoped to a target site." },
|
|
328
|
+
{ "id": "tm-tech-site", "family": "precise", "when": ["technology"], "pattern": "{quoted} {site} {exclusions}", "requires": ["site"], "weight": 90, "explanation": "The technology name anywhere on the target site." },
|
|
329
|
+
{ "id": "tm-tech-stackshare", "family": "broad", "when": ["technology"], "pattern": "{quoted} site:stackshare.io {exclusions}", "weight": 60, "explanation": "Companies listing the technology on StackShare." },
|
|
330
|
+
{ "id": "tm-tech-jobs", "family": "url-focused", "when": ["technology"], "pattern": "{quoted} (inurl:jobs OR inurl:careers) {site} {exclusions}", "weight": 55, "explanation": "Job postings requiring the technology." }
|
|
331
|
+
]
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"id": "developer-references",
|
|
335
|
+
"label": "Public repositories and developer references",
|
|
336
|
+
"group": "org-osint",
|
|
337
|
+
"description": "Code hosting, package registries, Q&A and paste sites referencing a domain or organisation.",
|
|
338
|
+
"safety": "standard",
|
|
339
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
340
|
+
"templates": [
|
|
341
|
+
{ "id": "dr-domain-hosts", "family": "balanced", "when": ["domain"], "pattern": "{domainQuoted} {platformSites} {exclusions}", "platformCategories": ["developer"], "platformLimit": 6, "weight": 100, "explanation": "The domain on the main developer platforms." },
|
|
342
|
+
{ "id": "dr-domain-github", "family": "precise", "when": ["domain"], "pattern": "{domainQuoted} site:github.com {exclusions}", "weight": 95, "explanation": "GitHub code, issues and READMEs mentioning the domain." },
|
|
343
|
+
{ "id": "dr-domain-so", "family": "precise", "when": ["domain"], "pattern": "{domainQuoted} site:stackoverflow.com {exclusions}", "weight": 80, "explanation": "Stack Overflow questions mentioning the domain." },
|
|
344
|
+
{ "id": "dr-domain-registries", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} (site:npmjs.com OR site:pypi.org OR site:nuget.org OR site:hub.docker.com) {exclusions}", "weight": 70, "explanation": "Package and container registries." },
|
|
345
|
+
{ "id": "dr-domain-pastes", "family": "noise-reduced", "when": ["domain"], "pattern": "{domainQuoted} (site:gist.github.com OR site:pastebin.com) {exclusions}", "weight": 60, "explanation": "Snippets and pastes mentioning the domain." },
|
|
346
|
+
{ "id": "dr-domain-label", "family": "url-focused", "when": ["domain"], "pattern": "{domainLabel} (site:github.com OR site:gitlab.com) inurl:{domainLabelBare} {exclusions}", "weight": 50, "explanation": "Repositories or organisations named after the domain label." },
|
|
347
|
+
{ "id": "dr-org-hosts", "family": "balanced", "when": ["organization"], "pattern": "{quoted} {platformSites} {exclusions}", "platformCategories": ["developer"], "platformLimit": 6, "weight": 100, "explanation": "The organisation on the main developer platforms." },
|
|
348
|
+
{ "id": "dr-org-github", "family": "precise", "when": ["organization"], "pattern": "{quoted} site:github.com {exclusions}", "weight": 90, "explanation": "GitHub content mentioning the organisation." },
|
|
349
|
+
{ "id": "dr-org-registries", "family": "broad", "when": ["organization"], "pattern": "{quoted} (site:npmjs.com OR site:pypi.org OR site:nuget.org OR site:hub.docker.com) {exclusions}", "weight": 65, "explanation": "Package and container registries." },
|
|
350
|
+
{ "id": "dr-org-pastes", "family": "noise-reduced", "when": ["organization"], "pattern": "{quoted} (site:gist.github.com OR site:pastebin.com) {exclusions}", "weight": 55, "explanation": "Snippets and pastes mentioning the organisation." }
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"id": "cloud-storage-references",
|
|
355
|
+
"label": "Public cloud / storage references",
|
|
356
|
+
"group": "org-osint",
|
|
357
|
+
"description": "Publicly indexed object-storage buckets and containers named after or referencing an organisation.",
|
|
358
|
+
"safety": "standard",
|
|
359
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
360
|
+
"templates": [
|
|
361
|
+
{ "id": "cs-domain-all", "family": "balanced", "when": ["domain"], "pattern": "{domainLabel} (site:s3.amazonaws.com OR site:blob.core.windows.net OR site:storage.googleapis.com) {exclusions}", "weight": 100, "explanation": "The three major providers' public storage hostnames." },
|
|
362
|
+
{ "id": "cs-domain-s3", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} site:s3.amazonaws.com {exclusions}", "weight": 90, "explanation": "Amazon S3 buckets." },
|
|
363
|
+
{ "id": "cs-domain-azure", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} site:blob.core.windows.net {exclusions}", "weight": 85, "explanation": "Azure Blob Storage containers." },
|
|
364
|
+
{ "id": "cs-domain-gcs", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} site:storage.googleapis.com {exclusions}", "weight": 80, "explanation": "Google Cloud Storage buckets." },
|
|
365
|
+
{ "id": "cs-domain-others", "family": "broad", "when": ["domain"], "pattern": "{domainLabel} (site:digitaloceanspaces.com OR site:r2.dev OR site:backblazeb2.com OR site:wasabisys.com) {exclusions}", "weight": 60, "explanation": "Smaller object-storage providers." },
|
|
366
|
+
{ "id": "cs-domain-links", "family": "url-focused", "when": ["domain"], "pattern": "{domainQuoted} (inurl:s3.amazonaws.com OR inurl:blob.core.windows.net OR inurl:storage.googleapis.com) {excludeSite} {exclusions}", "weight": 55, "explanation": "Pages that link storage URLs alongside the domain." },
|
|
367
|
+
{ "id": "cs-org-all", "family": "balanced", "when": ["organization"], "pattern": "{quoted} (site:s3.amazonaws.com OR site:blob.core.windows.net OR site:storage.googleapis.com) {exclusions}", "weight": 100, "explanation": "The three major providers' public storage hostnames." },
|
|
368
|
+
{ "id": "cs-org-s3", "family": "precise", "when": ["organization"], "pattern": "{quoted} site:s3.amazonaws.com {exclusions}", "weight": 85, "explanation": "Amazon S3 buckets." },
|
|
369
|
+
{ "id": "cs-org-azure", "family": "precise", "when": ["organization"], "pattern": "{quoted} site:blob.core.windows.net {exclusions}", "weight": 80, "explanation": "Azure Blob Storage containers." },
|
|
370
|
+
{ "id": "cs-org-others", "family": "broad", "when": ["organization"], "pattern": "{quoted} (site:storage.googleapis.com OR site:digitaloceanspaces.com OR site:r2.dev) {exclusions}", "weight": 60, "explanation": "Google Cloud Storage and smaller providers." }
|
|
371
|
+
]
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"id": "support-status-pages",
|
|
375
|
+
"label": "Public support / status / help pages",
|
|
376
|
+
"group": "org-osint",
|
|
377
|
+
"description": "Status dashboards, help centres and knowledge bases, including hosted ones.",
|
|
378
|
+
"safety": "standard",
|
|
379
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
380
|
+
"templates": [
|
|
381
|
+
{ "id": "st-domain-status", "family": "balanced", "when": ["domain"], "pattern": "{site} (intitle:status OR inurl:status OR intitle:\"system status\") {exclusions}", "weight": 100, "explanation": "Status pages on the domain." },
|
|
382
|
+
{ "id": "st-domain-help", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:support OR inurl:help OR inurl:faq OR inurl:kb OR inurl:docs) {exclusions}", "weight": 90, "explanation": "Support, help and documentation sections." },
|
|
383
|
+
{ "id": "st-domain-subs", "family": "broad", "when": ["domain"], "pattern": "{siteWildcard} (inurl:status OR inurl:support OR inurl:help) -inurl:www {exclusions}", "weight": 85, "explanation": "Dedicated status/support hosts under the domain." },
|
|
384
|
+
{ "id": "st-domain-hosted-status", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} (site:statuspage.io OR site:status.io OR site:instatus.com OR site:betteruptime.com) {exclusions}", "weight": 70, "explanation": "Hosted status-page providers." },
|
|
385
|
+
{ "id": "st-domain-hosted-help", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} (site:zendesk.com OR site:freshdesk.com OR site:helpscout.net OR site:intercom.help) {exclusions}", "weight": 65, "explanation": "Hosted help-desk providers." },
|
|
386
|
+
{ "id": "st-org-status", "family": "balanced", "when": ["organization"], "pattern": "{quoted} (intitle:status OR \"system status\" OR \"service status\") {siteOption} {exclusions}", "weight": 100, "explanation": "Status pages mentioning the organisation." },
|
|
387
|
+
{ "id": "st-org-hosted-status", "family": "precise", "when": ["organization"], "pattern": "{quoted} (site:statuspage.io OR site:status.io OR site:instatus.com) {exclusions}", "weight": 70, "explanation": "Hosted status-page providers." },
|
|
388
|
+
{ "id": "st-org-hosted-help", "family": "precise", "when": ["organization"], "pattern": "{quoted} (site:zendesk.com OR site:freshdesk.com OR site:intercom.help) {exclusions}", "weight": 65, "explanation": "Hosted help-desk providers." },
|
|
389
|
+
{ "id": "st-org-help", "family": "broad", "when": ["organization"], "pattern": "{quoted} (\"help center\" OR \"knowledge base\" OR \"support portal\") {siteOption} {exclusions}", "weight": 60, "explanation": "Help centres and knowledge bases." }
|
|
390
|
+
]
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"id": "presentations-reports",
|
|
394
|
+
"label": "Public presentations / reports",
|
|
395
|
+
"group": "org-osint",
|
|
396
|
+
"description": "Slide decks, annual reports and whitepapers on the domain and on document-sharing platforms.",
|
|
397
|
+
"safety": "standard",
|
|
398
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
399
|
+
"templates": [
|
|
400
|
+
{ "id": "pr-domain-slides", "family": "balanced", "when": ["domain"], "pattern": "{site} (filetype:pptx OR filetype:ppt) {exclusions}", "weight": 100, "explanation": "Presentations on the domain." },
|
|
401
|
+
{ "id": "pr-domain-reports", "family": "document-focused", "when": ["domain"], "pattern": "{site} filetype:pdf (intitle:report OR intitle:\"annual report\" OR intitle:whitepaper OR intitle:overview) {exclusions}", "weight": 90, "explanation": "PDF reports and whitepapers on the domain." },
|
|
402
|
+
{ "id": "pr-domain-slide-sites", "family": "precise", "when": ["domain"], "pattern": "{domainLabel} {platformSites} {exclusions}", "platformIds": ["slideshare", "speakerdeck"], "weight": 85, "explanation": "Slide-sharing platforms." },
|
|
403
|
+
{ "id": "pr-domain-doc-sites", "family": "broad", "when": ["domain"], "pattern": "{domainLabel} (site:scribd.com OR site:issuu.com OR site:docdroid.net) {exclusions}", "weight": 70, "explanation": "Document-sharing platforms." },
|
|
404
|
+
{ "id": "pr-domain-offsite", "family": "noise-reduced", "when": ["domain"], "pattern": "{domainQuoted} (filetype:pptx OR filetype:pdf) {excludeSite} {exclusions}", "weight": 60, "explanation": "Decks and PDFs hosted elsewhere that mention the domain." },
|
|
405
|
+
{ "id": "pr-org-docs", "family": "balanced", "when": ["organization"], "pattern": "{quoted} (filetype:pptx OR filetype:ppt OR filetype:pdf) {siteOption} {exclusions}", "weight": 100, "explanation": "Presentations and PDFs mentioning the organisation." },
|
|
406
|
+
{ "id": "pr-org-slide-sites", "family": "precise", "when": ["organization"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["slideshare", "speakerdeck"], "weight": 85, "explanation": "Slide-sharing platforms." },
|
|
407
|
+
{ "id": "pr-org-reports", "family": "document-focused", "when": ["organization"], "pattern": "{quoted} (\"annual report\" OR \"investor presentation\" OR whitepaper) filetype:pdf {exclusions}", "weight": 80, "explanation": "Formal reports in PDF form." },
|
|
408
|
+
{ "id": "pr-org-doc-sites", "family": "broad", "when": ["organization"], "pattern": "{quoted} (site:scribd.com OR site:issuu.com) {exclusions}", "weight": 60, "explanation": "Document-sharing platforms." }
|
|
409
|
+
]
|
|
410
|
+
},
|
|
411
|
+
|
|
412
|
+
{
|
|
413
|
+
"id": "exposed-config-files",
|
|
414
|
+
"label": "Defensive: exposed configuration files",
|
|
415
|
+
"group": "defensive",
|
|
416
|
+
"description": "Configuration and environment files that may have been accidentally indexed on a domain you are authorised to assess.",
|
|
417
|
+
"safety": "defensive-exposure",
|
|
418
|
+
"compatibleInputTypes": ["domain"],
|
|
419
|
+
"defaultFileTypes": ["env", "ini", "cfg", "conf", "yml", "yaml", "toml", "properties"],
|
|
420
|
+
"templates": [
|
|
421
|
+
{ "id": "cf-extensions", "family": "balanced", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 100, "explanation": "Common configuration extensions indexed on the domain." },
|
|
422
|
+
{ "id": "cf-filenames", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:\".env\" OR inurl:\"config.php\" OR inurl:\"settings.py\" OR inurl:\"appsettings.json\" OR inurl:\"web.config\" OR inurl:\"wp-config\") {exclusions}", "weight": 95, "explanation": "Well-known configuration file names in URLs." },
|
|
423
|
+
{ "id": "cf-listings", "family": "precise", "when": ["domain"], "pattern": "{site} (intitle:\"index of\" OR intext:\"parent directory\") (\".env\" OR config OR settings) {exclusions}", "weight": 80, "explanation": "Directory listings that expose configuration files." },
|
|
424
|
+
{ "id": "cf-vcs", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:\".git\" OR inurl:\".svn\" OR inurl:\".hg\" OR inurl:\".DS_Store\") {exclusions}", "weight": 70, "explanation": "Version-control and OS metadata folders that should never be web-accessible." },
|
|
425
|
+
{ "id": "cf-infra", "family": "broad", "when": ["domain"], "pattern": "{site} (inurl:docker-compose OR inurl:Dockerfile OR inurl:\".htaccess\" OR inurl:\"nginx.conf\" OR inurl:\"httpd.conf\") {exclusions}", "weight": 60, "explanation": "Infrastructure and web-server configuration files." },
|
|
426
|
+
{ "id": "cf-subs", "family": "noise-reduced", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {filetypeGroup} {exclusions}", "weight": 55, "explanation": "The same extension check across non-www hosts." }
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"id": "exposed-backups-archives",
|
|
431
|
+
"label": "Defensive: exposed backups and archives",
|
|
432
|
+
"group": "defensive",
|
|
433
|
+
"description": "Backup, dump and archive files that may have been accidentally indexed.",
|
|
434
|
+
"safety": "defensive-exposure",
|
|
435
|
+
"compatibleInputTypes": ["domain"],
|
|
436
|
+
"defaultFileTypes": ["bak", "old", "zip", "tar", "gz", "tgz", "7z", "rar", "sql"],
|
|
437
|
+
"templates": [
|
|
438
|
+
{ "id": "ba-extensions", "family": "balanced", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 100, "explanation": "Backup and archive extensions indexed on the domain." },
|
|
439
|
+
{ "id": "ba-paths", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:backup OR inurl:backups OR inurl:bak OR inurl:old OR inurl:archive OR inurl:dump) {exclusions}", "weight": 90, "explanation": "Backup-related words in URL paths." },
|
|
440
|
+
{ "id": "ba-sql", "family": "precise", "when": ["domain"], "pattern": "{site} filetype:sql {exclusions}", "weight": 85, "explanation": "SQL dumps specifically." },
|
|
441
|
+
{ "id": "ba-listings", "family": "precise", "when": ["domain"], "pattern": "{site} (intitle:\"index of\" OR intext:\"parent directory\") (backup OR bak OR \".sql\" OR \".zip\") {exclusions}", "weight": 80, "explanation": "Directory listings containing backup files." },
|
|
442
|
+
{ "id": "ba-archives-paths", "family": "document-focused", "when": ["domain"], "pattern": "{site} (filetype:zip OR filetype:tar OR filetype:gz) (inurl:backup OR inurl:dump OR inurl:export) {exclusions}", "weight": 70, "explanation": "Archives in backup or export paths." },
|
|
443
|
+
{ "id": "ba-subs", "family": "noise-reduced", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {filetypeGroup} {exclusions}", "weight": 55, "explanation": "The same extension check across non-www hosts." }
|
|
444
|
+
]
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"id": "exposed-logs-diagnostics",
|
|
448
|
+
"label": "Defensive: exposed logs and diagnostics",
|
|
449
|
+
"group": "defensive",
|
|
450
|
+
"description": "Log, trace and dump files that may have been accidentally indexed.",
|
|
451
|
+
"safety": "defensive-exposure",
|
|
452
|
+
"compatibleInputTypes": ["domain"],
|
|
453
|
+
"defaultFileTypes": ["log", "out", "err", "dmp", "trace"],
|
|
454
|
+
"templates": [
|
|
455
|
+
{ "id": "lg-extensions", "family": "balanced", "when": ["domain"], "pattern": "{site} {filetypeGroup} {exclusions}", "weight": 100, "explanation": "Log and diagnostic extensions indexed on the domain." },
|
|
456
|
+
{ "id": "lg-paths", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:log OR inurl:logs OR inurl:debug OR inurl:trace) {exclusions}", "weight": 90, "explanation": "Log-related words in URL paths." },
|
|
457
|
+
{ "id": "lg-log", "family": "precise", "when": ["domain"], "pattern": "{site} filetype:log {exclusions}", "weight": 85, "explanation": ".log files specifically." },
|
|
458
|
+
{ "id": "lg-listings", "family": "precise", "when": ["domain"], "pattern": "{site} (intitle:\"index of\" OR intext:\"parent directory\") (log OR logs OR debug) {exclusions}", "weight": 75, "explanation": "Directory listings containing logs." },
|
|
459
|
+
{ "id": "lg-traces", "family": "broad", "when": ["domain"], "pattern": "{site} (intext:\"stack trace\" OR intext:traceback OR intext:\"exception in\") -inurl:blog -inurl:docs {exclusions}", "weight": 65, "explanation": "Pages rendering stack traces, excluding documentation and blogs." },
|
|
460
|
+
{ "id": "lg-subs", "family": "noise-reduced", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www {filetypeGroup} {exclusions}", "weight": 55, "explanation": "The same extension check across non-www hosts." }
|
|
461
|
+
]
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"id": "directory-listings",
|
|
465
|
+
"label": "Defensive: directory listings",
|
|
466
|
+
"group": "defensive",
|
|
467
|
+
"description": "Auto-generated directory indexes exposed on a domain.",
|
|
468
|
+
"safety": "defensive-exposure",
|
|
469
|
+
"compatibleInputTypes": ["domain"],
|
|
470
|
+
"templates": [
|
|
471
|
+
{ "id": "dl-index-of", "family": "balanced", "when": ["domain"], "pattern": "{site} intitle:\"index of\" {exclusions}", "weight": 100, "explanation": "The classic Apache/nginx listing title." },
|
|
472
|
+
{ "id": "dl-broad", "family": "broad", "when": ["domain"], "pattern": "{site} (intitle:\"index of\" OR intext:\"parent directory\" OR intitle:\"directory listing\") {exclusions}", "weight": 90, "explanation": "Alternative listing markers used by different servers." },
|
|
473
|
+
{ "id": "dl-precise", "family": "precise", "when": ["domain"], "pattern": "{site} intitle:\"index of\" \"last modified\" {exclusions}", "weight": 85, "explanation": "Requires the column header that real listings render." },
|
|
474
|
+
{ "id": "dl-sensitive-paths", "family": "url-focused", "when": ["domain"], "pattern": "{site} intitle:\"index of\" (inurl:upload OR inurl:uploads OR inurl:files OR inurl:backup OR inurl:private OR inurl:admin) {exclusions}", "weight": 80, "explanation": "Listings under paths that commonly hold sensitive material." },
|
|
475
|
+
{ "id": "dl-subs", "family": "noise-reduced", "when": ["domain"], "pattern": "{siteWildcard} -inurl:www intitle:\"index of\" {exclusions}", "weight": 60, "explanation": "Listings on non-www hosts." }
|
|
476
|
+
]
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"id": "exposed-api-docs",
|
|
480
|
+
"label": "Defensive: publicly indexed API documentation",
|
|
481
|
+
"group": "defensive",
|
|
482
|
+
"description": "Swagger/OpenAPI, GraphQL and other API documentation that may not be intended for public indexing.",
|
|
483
|
+
"safety": "defensive-exposure",
|
|
484
|
+
"compatibleInputTypes": ["domain"],
|
|
485
|
+
"templates": [
|
|
486
|
+
{ "id": "ad-paths", "family": "balanced", "when": ["domain"], "pattern": "{site} (inurl:swagger OR inurl:api-docs OR inurl:openapi OR inurl:redoc OR inurl:graphql) {exclusions}", "weight": 100, "explanation": "Well-known documentation paths." },
|
|
487
|
+
{ "id": "ad-titles", "family": "title-focused", "when": ["domain"], "pattern": "{site} (intitle:\"swagger ui\" OR intitle:\"api documentation\" OR intitle:redoc OR intitle:\"graphql playground\") {exclusions}", "weight": 90, "explanation": "Documentation UI page titles." },
|
|
488
|
+
{ "id": "ad-specs", "family": "document-focused", "when": ["domain"], "pattern": "{site} (filetype:json OR filetype:yaml OR filetype:yml) (intext:openapi OR intext:swagger) {exclusions}", "weight": 85, "explanation": "Raw OpenAPI specification files." },
|
|
489
|
+
{ "id": "ad-subs", "family": "broad", "when": ["domain"], "pattern": "{siteWildcard} (inurl:api OR inurl:swagger OR inurl:graphql) -inurl:www {exclusions}", "weight": 70, "explanation": "API hosts under the domain." },
|
|
490
|
+
{ "id": "ad-versions", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:\"/v1/\" OR inurl:\"/v2/\" OR inurl:\"/api/v\") {exclusions}", "weight": 55, "explanation": "Versioned API paths that have been indexed." }
|
|
491
|
+
]
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"id": "error-debug-pages",
|
|
495
|
+
"label": "Defensive: public error / debug pages",
|
|
496
|
+
"group": "defensive",
|
|
497
|
+
"description": "Indexed pages that render stack traces, database errors or debug output.",
|
|
498
|
+
"safety": "defensive-exposure",
|
|
499
|
+
"compatibleInputTypes": ["domain"],
|
|
500
|
+
"templates": [
|
|
501
|
+
{ "id": "ed-traces", "family": "balanced", "when": ["domain"], "pattern": "{site} (intext:\"stack trace\" OR intext:\"traceback (most recent call last)\" OR intext:\"unhandled exception\" OR intext:\"fatal error\") {exclusions}", "weight": 100, "explanation": "Generic stack-trace and fatal-error strings." },
|
|
502
|
+
{ "id": "ed-titles", "family": "title-focused", "when": ["domain"], "pattern": "{site} (intitle:\"server error\" OR intitle:\"application error\" OR intitle:whoops OR intitle:exception) {exclusions}", "weight": 90, "explanation": "Error page titles." },
|
|
503
|
+
{ "id": "ed-database", "family": "precise", "when": ["domain"], "pattern": "{site} (intext:\"warning: mysql\" OR intext:\"ORA-\" OR intext:SQLSTATE OR intext:\"syntax error\" OR intext:\"pg_query\") {exclusions}", "weight": 80, "explanation": "Database error strings." },
|
|
504
|
+
{ "id": "ed-debug-paths", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:debug OR inurl:trace OR inurl:\"elmah.axd\" OR inurl:phpinfo) {exclusions}", "weight": 75, "explanation": "Debug and diagnostic handler paths." },
|
|
505
|
+
{ "id": "ed-frameworks", "family": "broad", "when": ["domain"], "pattern": "{site} (intext:\"DEBUG = True\" OR intext:\"Whoops, looks like something went wrong\" OR intext:\"Laravel\" intext:\"Stack trace\") {exclusions}", "weight": 60, "explanation": "Framework-specific debug page strings (Django, Laravel)." }
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"id": "source-map-references",
|
|
510
|
+
"label": "Defensive: exposed source maps",
|
|
511
|
+
"group": "defensive",
|
|
512
|
+
"description": "JavaScript/CSS source maps that reveal original source code.",
|
|
513
|
+
"safety": "defensive-exposure",
|
|
514
|
+
"compatibleInputTypes": ["domain"],
|
|
515
|
+
"templates": [
|
|
516
|
+
{ "id": "sm-filetype", "family": "balanced", "when": ["domain"], "pattern": "{site} filetype:map {exclusions}", "weight": 100, "explanation": "Indexed .map files on the domain." },
|
|
517
|
+
{ "id": "sm-paths", "family": "url-focused", "when": ["domain"], "pattern": "{site} (inurl:\".js.map\" OR inurl:\".css.map\") {exclusions}", "weight": 95, "explanation": "Source map file names in URLs." },
|
|
518
|
+
{ "id": "sm-reference", "family": "precise", "when": ["domain"], "pattern": "{site} intext:sourceMappingURL {exclusions}", "weight": 80, "explanation": "Bundles that reference a source map." },
|
|
519
|
+
{ "id": "sm-subs", "family": "broad", "when": ["domain"], "pattern": "{siteWildcard} filetype:map -inurl:www {exclusions}", "weight": 60, "explanation": "Source maps on non-www hosts." },
|
|
520
|
+
{ "id": "sm-static", "family": "document-focused", "when": ["domain"], "pattern": "{site} (inurl:\"/static/\" OR inurl:\"/assets/\" OR inurl:\"/dist/\") (filetype:map OR filetype:js) {exclusions}", "weight": 50, "explanation": "Bundled assets in typical build output paths." }
|
|
521
|
+
]
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"id": "repository-references",
|
|
525
|
+
"label": "Defensive: public repository references",
|
|
526
|
+
"group": "defensive",
|
|
527
|
+
"description": "Public code, gists and pastes referencing a domain or organisation, where credentials and internal names are commonly leaked.",
|
|
528
|
+
"safety": "defensive-exposure",
|
|
529
|
+
"compatibleInputTypes": ["domain", "organization"],
|
|
530
|
+
"templates": [
|
|
531
|
+
{ "id": "rr-domain-hosts", "family": "balanced", "when": ["domain"], "pattern": "{domainQuoted} {platformSites} {exclusions}", "platformIds": ["github", "gitlab", "bitbucket", "codeberg"], "weight": 100, "explanation": "The domain on the main code-hosting platforms." },
|
|
532
|
+
{ "id": "rr-domain-github", "family": "precise", "when": ["domain"], "pattern": "{domainQuoted} site:github.com {exclusions}", "weight": 95, "explanation": "GitHub content mentioning the domain." },
|
|
533
|
+
{ "id": "rr-domain-emails", "family": "precise", "when": ["domain"], "pattern": "{atDomainQuoted} site:github.com {exclusions}", "weight": 85, "explanation": "Addresses at the domain appearing in commits, configs and READMEs." },
|
|
534
|
+
{ "id": "rr-domain-pastes", "family": "broad", "when": ["domain"], "pattern": "{domainQuoted} (site:gist.github.com OR site:pastebin.com OR site:paste.ee) {exclusions}", "weight": 70, "explanation": "Gists and paste sites." },
|
|
535
|
+
{ "id": "rr-domain-registries", "family": "url-focused", "when": ["domain"], "pattern": "{domainQuoted} (site:hub.docker.com OR site:npmjs.com OR site:pypi.org) {exclusions}", "weight": 60, "explanation": "Published packages and images that reference the domain." },
|
|
536
|
+
{ "id": "rr-org-hosts", "family": "balanced", "when": ["organization"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["github", "gitlab", "bitbucket"], "weight": 100, "explanation": "The organisation on the main code-hosting platforms." },
|
|
537
|
+
{ "id": "rr-org-github", "family": "precise", "when": ["organization"], "pattern": "{quoted} site:github.com {exclusions}", "weight": 90, "explanation": "GitHub content mentioning the organisation." },
|
|
538
|
+
{ "id": "rr-org-pastes", "family": "broad", "when": ["organization"], "pattern": "{quoted} (site:gist.github.com OR site:pastebin.com) {exclusions}", "weight": 65, "explanation": "Gists and paste sites." }
|
|
539
|
+
]
|
|
540
|
+
},
|
|
541
|
+
|
|
542
|
+
{
|
|
543
|
+
"id": "person-name-variants",
|
|
544
|
+
"label": "Exact name variants",
|
|
545
|
+
"group": "person",
|
|
546
|
+
"description": "Name spellings and orderings: exact, reversed, initial, wildcard middle name.",
|
|
547
|
+
"safety": "standard",
|
|
548
|
+
"compatibleInputTypes": ["person"],
|
|
549
|
+
"templates": [
|
|
550
|
+
{ "id": "pn-exact", "family": "precise", "when": ["person"], "pattern": "{quoted} {site} {exclusions}", "weight": 100, "explanation": "The full name as an exact phrase." },
|
|
551
|
+
{ "id": "pn-wildcard", "family": "broad", "when": ["person"], "pattern": "{phraseWildcard} {site} {exclusions}", "weight": 75, "explanation": "A wildcard between first and last name catches middle names and initials." },
|
|
552
|
+
{ "id": "pn-reversed", "family": "balanced", "when": ["person"], "pattern": "{quotedReversed} {site} {exclusions}", "weight": 70, "explanation": "Surname-first ordering used in directories and citations." },
|
|
553
|
+
{ "id": "pn-initial", "family": "broad", "when": ["person"], "pattern": "{quotedInitialLast} {site} {exclusions}", "weight": 60, "explanation": "First initial plus surname, common in bylines and papers." },
|
|
554
|
+
{ "id": "pn-title", "family": "title-focused", "when": ["person"], "pattern": "{intitle} {site} {exclusions}", "weight": 65, "explanation": "Pages titled with the name: profiles, interviews, bios." },
|
|
555
|
+
{ "id": "pn-recent", "family": "recent", "when": ["person"], "pattern": "{quoted} {site} {dates} {exclusions}", "requires": ["dates"], "weight": 85, "explanation": "The exact name within the date window." },
|
|
556
|
+
{ "id": "pn-noise", "family": "noise-reduced", "when": ["person"], "pattern": "{quoted} -site:pinterest.com -site:amazon.com -site:ebay.com {exclusions}", "weight": 55, "explanation": "Removes marketplaces and image boards that pollute name searches." }
|
|
557
|
+
]
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"id": "person-organization",
|
|
561
|
+
"label": "Name + organisation",
|
|
562
|
+
"group": "person",
|
|
563
|
+
"description": "Correlates a person with an organisation supplied in the options.",
|
|
564
|
+
"safety": "standard",
|
|
565
|
+
"compatibleInputTypes": ["person"],
|
|
566
|
+
"requiresOptions": ["organization"],
|
|
567
|
+
"defaultFileTypes": ["pdf", "docx", "pptx"],
|
|
568
|
+
"templates": [
|
|
569
|
+
{ "id": "po-balanced", "family": "balanced", "when": ["person"], "pattern": "{quoted} {organization} {site} {exclusions}", "weight": 100, "explanation": "Both the name and the organisation as exact phrases." },
|
|
570
|
+
{ "id": "po-proximity", "family": "precise", "when": ["person"], "pattern": "{quoted} AROUND(5) {organization}", "weight": 85, "explanation": "AROUND(5) requires the phrases to be within five words, which filters incidental co-mentions." },
|
|
571
|
+
{ "id": "po-linkedin", "family": "precise", "when": ["person"], "pattern": "{quoted} {organization} site:linkedin.com {exclusions}", "weight": 80, "explanation": "LinkedIn pages mentioning both." },
|
|
572
|
+
{ "id": "po-title", "family": "title-focused", "when": ["person"], "pattern": "{intitle} {organization} {exclusions}", "weight": 65, "explanation": "Pages titled with the name that mention the organisation." },
|
|
573
|
+
{ "id": "po-docs", "family": "document-focused", "when": ["person"], "pattern": "{quoted} {organization} {filetypeGroup} {exclusions}", "weight": 60, "explanation": "Documents mentioning both." },
|
|
574
|
+
{ "id": "po-broad", "family": "broad", "when": ["person"], "pattern": "{terms} {organization} {exclusions}", "weight": 50, "explanation": "Unquoted name with the organisation phrase." }
|
|
575
|
+
]
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"id": "person-location",
|
|
579
|
+
"label": "Name + location",
|
|
580
|
+
"group": "person",
|
|
581
|
+
"description": "Correlates a person with a location keyword supplied in the options.",
|
|
582
|
+
"safety": "standard",
|
|
583
|
+
"compatibleInputTypes": ["person"],
|
|
584
|
+
"requiresOptions": ["location"],
|
|
585
|
+
"defaultFileTypes": ["pdf", "docx"],
|
|
586
|
+
"templates": [
|
|
587
|
+
{ "id": "pl-balanced", "family": "balanced", "when": ["person"], "pattern": "{quoted} {location} {site} {exclusions}", "weight": 100, "explanation": "Name and location as exact phrases." },
|
|
588
|
+
{ "id": "pl-proximity", "family": "precise", "when": ["person"], "pattern": "{quoted} AROUND(8) {location}", "weight": 80, "explanation": "Requires the phrases to be close together." },
|
|
589
|
+
{ "id": "pl-linkedin", "family": "precise", "when": ["person"], "pattern": "{quoted} {location} site:linkedin.com {exclusions}", "weight": 70, "explanation": "LinkedIn pages mentioning both." },
|
|
590
|
+
{ "id": "pl-broad", "family": "broad", "when": ["person"], "pattern": "{terms} {location} {exclusions}", "weight": 55, "explanation": "Unquoted name with the location phrase." },
|
|
591
|
+
{ "id": "pl-docs", "family": "document-focused", "when": ["person"], "pattern": "{quoted} {location} {filetypeGroup} {exclusions}", "weight": 50, "explanation": "Documents mentioning both." }
|
|
592
|
+
]
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"id": "person-role",
|
|
596
|
+
"label": "Name + profession / title",
|
|
597
|
+
"group": "person",
|
|
598
|
+
"description": "Correlates a person with a job title or profession supplied in the options.",
|
|
599
|
+
"safety": "standard",
|
|
600
|
+
"compatibleInputTypes": ["person"],
|
|
601
|
+
"requiresOptions": ["role"],
|
|
602
|
+
"templates": [
|
|
603
|
+
{ "id": "pr-balanced", "family": "balanced", "when": ["person"], "pattern": "{quoted} {role} {site} {exclusions}", "weight": 100, "explanation": "Name and role as exact phrases." },
|
|
604
|
+
{ "id": "pr-proximity", "family": "precise", "when": ["person"], "pattern": "{quoted} AROUND(5) {role}", "weight": 85, "explanation": "Requires the role to appear near the name, as in bylines and bios." },
|
|
605
|
+
{ "id": "pr-linkedin", "family": "precise", "when": ["person"], "pattern": "{quoted} {role} site:linkedin.com/in {exclusions}", "weight": 80, "explanation": "LinkedIn profiles mentioning both." },
|
|
606
|
+
{ "id": "pr-title", "family": "title-focused", "when": ["person"], "pattern": "{intitle} {role} {exclusions}", "weight": 60, "explanation": "Pages titled with the name that mention the role." },
|
|
607
|
+
{ "id": "pr-broad", "family": "broad", "when": ["person"], "pattern": "{terms} {role} {exclusions}", "weight": 50, "explanation": "Unquoted name with the role phrase." }
|
|
608
|
+
]
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"id": "person-documents",
|
|
612
|
+
"label": "Public documents mentioning the person",
|
|
613
|
+
"group": "person",
|
|
614
|
+
"description": "PDFs, decks and spreadsheets that mention the name, optionally with extra context.",
|
|
615
|
+
"safety": "standard",
|
|
616
|
+
"compatibleInputTypes": ["person"],
|
|
617
|
+
"defaultFileTypes": ["pdf", "docx", "pptx", "xlsx"],
|
|
618
|
+
"templates": [
|
|
619
|
+
{ "id": "pdoc-balanced", "family": "document-focused", "when": ["person"], "pattern": "{quoted} {filetypeGroup} {site} {exclusions}", "weight": 100, "explanation": "The name inside common document formats." },
|
|
620
|
+
{ "id": "pdoc-context", "family": "precise", "when": ["person"], "pattern": "{quoted} {context} {filetypeGroup} {exclusions}", "requires": ["context"], "weight": 90, "explanation": "Adds the supplied organisation, location or role to disambiguate common names." },
|
|
621
|
+
{ "id": "pdoc-pdf", "family": "precise", "when": ["person"], "pattern": "{quoted} {filetypeFirst} {site} {exclusions}", "weight": 85, "explanation": "Only the highest-priority file type." },
|
|
622
|
+
{ "id": "pdoc-cv", "family": "title-focused", "when": ["person"], "pattern": "{quoted} filetype:pdf (intitle:cv OR intitle:resume OR intitle:\"curriculum vitae\") {exclusions}", "weight": 70, "explanation": "Publicly posted CVs." },
|
|
623
|
+
{ "id": "pdoc-slides", "family": "broad", "when": ["person"], "pattern": "{quoted} (filetype:pptx OR filetype:ppt) {exclusions}", "weight": 60, "explanation": "Presentations crediting the person." }
|
|
624
|
+
]
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"id": "person-social-profiles",
|
|
628
|
+
"label": "Social-profile-focused",
|
|
629
|
+
"group": "person",
|
|
630
|
+
"description": "The name on social, professional, developer and creator platforms.",
|
|
631
|
+
"safety": "standard",
|
|
632
|
+
"compatibleInputTypes": ["person"],
|
|
633
|
+
"templates": [
|
|
634
|
+
{ "id": "ps-social", "family": "balanced", "when": ["person"], "pattern": "{quoted} {platformSites} {exclusions}", "platformCategories": ["general-social"], "platformLimit": 6, "weight": 100, "explanation": "Major social networks." },
|
|
635
|
+
{ "id": "ps-linkedin", "family": "precise", "when": ["person"], "pattern": "{quoted} site:linkedin.com/in {exclusions}", "weight": 95, "explanation": "LinkedIn profiles specifically." },
|
|
636
|
+
{ "id": "ps-context", "family": "precise", "when": ["person"], "pattern": "{quoted} {context} site:linkedin.com/in", "requires": ["context"], "weight": 92, "explanation": "LinkedIn profiles disambiguated with the supplied context." },
|
|
637
|
+
{ "id": "ps-professional", "family": "title-focused", "when": ["person"], "pattern": "{quoted} {platformSites} {exclusions}", "platformCategories": ["professional"], "platformLimit": 5, "weight": 85, "explanation": "Professional networks and researcher profiles." },
|
|
638
|
+
{ "id": "ps-developer", "family": "url-focused", "when": ["person"], "pattern": "{quoted} {platformSites} {exclusions}", "platformIds": ["github", "stackoverflow", "medium", "substack", "devto"], "weight": 70, "explanation": "Developer and writing platforms." },
|
|
639
|
+
{ "id": "ps-creator", "family": "broad", "when": ["person"], "pattern": "{quoted} {platformSites} {exclusions}", "platformCategories": ["creator-media"], "platformLimit": 6, "weight": 60, "explanation": "Video, audio and newsletter platforms." }
|
|
640
|
+
]
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"id": "email-mentions",
|
|
644
|
+
"label": "Email address references",
|
|
645
|
+
"group": "person",
|
|
646
|
+
"description": "Where an email address is published, on and off its own domain.",
|
|
647
|
+
"safety": "standard",
|
|
648
|
+
"compatibleInputTypes": ["email"],
|
|
649
|
+
"defaultFileTypes": ["pdf", "docx", "xlsx", "txt"],
|
|
650
|
+
"templates": [
|
|
651
|
+
{ "id": "em-quoted", "family": "precise", "when": ["email"], "pattern": "{emailQuoted} {exclusions}", "weight": 100, "explanation": "The address as an exact phrase." },
|
|
652
|
+
{ "id": "em-offsite", "family": "noise-reduced", "when": ["email"], "pattern": "{emailQuoted} {excludeSite} {exclusions}", "weight": 90, "explanation": "Occurrences outside the address's own domain." },
|
|
653
|
+
{ "id": "em-local-part", "family": "balanced", "when": ["email"], "pattern": "{emailUserQuoted} {site} {exclusions}", "weight": 80, "explanation": "The local part on the address's domain, which finds profile pages that omit the full address." },
|
|
654
|
+
{ "id": "em-text", "family": "precise", "when": ["email"], "pattern": "{intext} {exclusions}", "weight": 75, "explanation": "The address in body text." },
|
|
655
|
+
{ "id": "em-docs", "family": "document-focused", "when": ["email"], "pattern": "{emailQuoted} {filetypeGroup} {exclusions}", "weight": 70, "explanation": "Documents containing the address." },
|
|
656
|
+
{ "id": "em-platforms", "family": "broad", "when": ["email"], "pattern": "{emailQuoted} {platformSites} {exclusions}", "platformIds": ["github", "linkedin", "x", "facebook"], "weight": 65, "explanation": "Code hosting and social platforms." }
|
|
657
|
+
]
|
|
658
|
+
},
|
|
659
|
+
|
|
660
|
+
{
|
|
661
|
+
"id": "username-profiles",
|
|
662
|
+
"label": "Platform-scoped profile search",
|
|
663
|
+
"group": "socmint",
|
|
664
|
+
"description": "The handle scoped to platform groups from the local catalog. Pair with the Username Search tab for direct profile URLs.",
|
|
665
|
+
"safety": "standard",
|
|
666
|
+
"compatibleInputTypes": ["username"],
|
|
667
|
+
"templates": [
|
|
668
|
+
{ "id": "up-social", "family": "balanced", "when": ["username"], "pattern": "{quotedUsername} {platformSites} {exclusions}", "platformCategories": ["general-social"], "platformLimit": 6, "weight": 100, "explanation": "Major social networks." },
|
|
669
|
+
{ "id": "up-developer", "family": "precise", "when": ["username"], "pattern": "{quotedUsername} {platformSites} {exclusions}", "platformCategories": ["developer"], "platformLimit": 5, "weight": 85, "explanation": "Developer platforms." },
|
|
670
|
+
{ "id": "up-professional", "family": "title-focused", "when": ["username"], "pattern": "{quotedUsername} {platformSites} {exclusions}", "platformCategories": ["professional"], "platformLimit": 4, "weight": 80, "explanation": "Professional networks." },
|
|
671
|
+
{ "id": "up-creator", "family": "document-focused", "when": ["username"], "pattern": "{quotedUsername} {platformSites} {exclusions}", "platformCategories": ["creator-media"], "platformLimit": 6, "weight": 75, "explanation": "Creator and media platforms." },
|
|
672
|
+
{ "id": "up-forums", "family": "broad", "when": ["username"], "pattern": "{quotedUsername} {platformSites} {exclusions}", "platformCategories": ["forums-community"], "platformLimit": 5, "weight": 70, "explanation": "Forums and communities." },
|
|
673
|
+
{ "id": "up-gaming", "family": "noise-reduced", "when": ["username"], "pattern": "{quotedUsername} {platformSites} {exclusions}", "platformCategories": ["gaming"], "platformLimit": 5, "weight": 60, "explanation": "Gaming platforms." },
|
|
674
|
+
{ "id": "up-inurl", "family": "url-focused", "when": ["username"], "pattern": "{inurlUsername} {exclusions}", "weight": 65, "explanation": "The handle in URL paths, which is how most platforms expose profiles." }
|
|
675
|
+
]
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"id": "username-exact",
|
|
679
|
+
"label": "Exact username search",
|
|
680
|
+
"group": "socmint",
|
|
681
|
+
"description": "Exact, quoted, @-prefixed and URL/title placements of the handle, plus a noise-reduced variant.",
|
|
682
|
+
"safety": "standard",
|
|
683
|
+
"compatibleInputTypes": ["username"],
|
|
684
|
+
"templates": [
|
|
685
|
+
{ "id": "ue-quoted", "family": "balanced", "when": ["username"], "pattern": "{quotedUsername} {exclusions}", "weight": 100, "explanation": "The handle as an exact phrase." },
|
|
686
|
+
{ "id": "ue-at", "family": "precise", "when": ["username"], "pattern": "{atUsername} {exclusions}", "weight": 90, "explanation": "Quoted @handle, which favours social mentions." },
|
|
687
|
+
{ "id": "ue-profile-paths", "family": "url-focused", "when": ["username"], "pattern": "{quotedUsername} (inurl:user OR inurl:users OR inurl:profile OR inurl:members OR inurl:u) {exclusions}", "weight": 80, "explanation": "Pages under typical profile paths." },
|
|
688
|
+
{ "id": "ue-inurl", "family": "url-focused", "when": ["username"], "pattern": "{inurlUsername} {exclusions}", "weight": 75, "explanation": "The handle inside the URL." },
|
|
689
|
+
{ "id": "ue-title", "family": "title-focused", "when": ["username"], "pattern": "{intitleUsername} {exclusions}", "weight": 70, "explanation": "The handle in page titles." },
|
|
690
|
+
{ "id": "ue-both", "family": "precise", "when": ["username"], "pattern": "{quotedUsername} {atUsername} {exclusions}", "weight": 65, "explanation": "Requires both the bare and @-prefixed forms." },
|
|
691
|
+
{ "id": "ue-noise", "family": "noise-reduced", "when": ["username"], "pattern": "{quotedUsername} -site:pinterest.com -site:amazon.com -site:ebay.com -site:etsy.com {exclusions}", "weight": 55, "explanation": "Removes marketplaces where handles collide with product names." },
|
|
692
|
+
{ "id": "ue-hashtag", "family": "broad", "when": ["username"], "pattern": "{hashtagUsername} {exclusions}", "weight": 40, "explanation": "The handle used as a hashtag." }
|
|
693
|
+
]
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"id": "username-display-name",
|
|
697
|
+
"label": "Username + display name",
|
|
698
|
+
"group": "socmint",
|
|
699
|
+
"description": "Correlates a handle with a display name supplied in the options.",
|
|
700
|
+
"safety": "standard",
|
|
701
|
+
"compatibleInputTypes": ["username"],
|
|
702
|
+
"requiresOptions": ["displayName"],
|
|
703
|
+
"templates": [
|
|
704
|
+
{ "id": "ud-balanced", "family": "balanced", "when": ["username"], "pattern": "{quotedUsername} {displayName} {exclusions}", "weight": 100, "explanation": "Both the handle and the display name as exact phrases." },
|
|
705
|
+
{ "id": "ud-at", "family": "precise", "when": ["username"], "pattern": "{atUsername} {displayName} {exclusions}", "weight": 85, "explanation": "@handle plus display name." },
|
|
706
|
+
{ "id": "ud-social", "family": "title-focused", "when": ["username"], "pattern": "{quotedUsername} {displayName} {platformSites} {exclusions}", "platformCategories": ["general-social"], "platformLimit": 6, "weight": 80, "explanation": "Both on major social networks." },
|
|
707
|
+
{ "id": "ud-inurl", "family": "url-focused", "when": ["username"], "pattern": "{displayName} {inurlUsername} {exclusions}", "weight": 70, "explanation": "Display name on pages whose URL carries the handle." },
|
|
708
|
+
{ "id": "ud-professional", "family": "broad", "when": ["username"], "pattern": "{displayName} {platformSites} {exclusions}", "platformCategories": ["professional"], "platformLimit": 4, "weight": 60, "explanation": "The display name on professional networks, where handles are rarely used." }
|
|
709
|
+
]
|
|
710
|
+
}
|
|
711
|
+
]
|
|
712
|
+
}
|