Most people arrive at OSINT thinking of it as searching — you have a name, you
look it up, you read what comes back. That model breaks immediately, because the
useful thing is almost never attached to the identifier you started with.
The actual mechanic is pivoting. You hold a
selector — an email, a username, a domain, a registration number — and
you ask a source what it knows about that selector. What comes back usually
contains a different selector. You follow that one. And again.
requirement→selector→ask a source→new selector↺corroborate→assess
Two things about that loop matter more than they look.
It starts with a requirement, not a selector. If you cannot
say what decision your collection serves, you will pivot forever — every finding
suggests three more, and none of them are wrong exactly, they are just not
yours. The stopping condition is the requirement, not exhaustion.
Corroboration is a separate step from collection. Finding a
thing once is not knowing it. Two sources that both copied the same original are
one source wearing a hat.
check yourself
You are asked to assess whether a contractor has undisclosed foreign business interests. Which is the requirement?
your notes
2 of 14
Two problems that shape everything
If pivoting were the whole story, OSINT would be a research skill. It is not,
because two problems sit underneath it, and almost every feature you are about to
meet exists to answer one of them.
Problem one — they can see you looking
Every request you make somewhere leaves a trace somewhere. Visit a company's
website and the company's logs record a visitor. If that visitor resolves to your
employer's IP range, you have told the subject of your enquiry that they are the
subject of an enquiry.
Worse: for the people this discipline is usually pointed at, being looked at
is information. It tells them what you know, when you started, and how
close you are.
Problem two — you have to prove what you saw
Findings that restrict someone's access, end their employment, or support a
referral will be challenged. Months later, by someone hostile, working from your
notes.
"I saw it on the site" is not a finding. The page has changed. The post is
deleted. The account is gone. Without a record made at the time, with
provenance attached, you have an assertion and a memory.
problem
They can see you looking
answer
Isolation, personas, controlled egress
problem
You have to prove what you saw
answer
Timestamped capture, provenance, custody
Hold those two. Every component in Part II is an answer to one of
them, and it is worth asking which as you meet each one.
your notes
3 of 14
Three things that make it harder than it looks
A selector carries a type, and the type is not in the string
Consider 9909344990. Ten digits. To a search engine that is a
phone number, and it will helpfully offer you reverse-lookup adverts. It is
actually a Russian tax identification number, and knowing that turns it from
noise into a jurisdiction.
This is not a hypothetical — it happened while this course was being built.
The number only became useful when it was bound to context.
A username is not a person
Handles collide. Two people pick mhalden eleven years apart and
neither is aware of the other. If you attribute one's activity to the other, you
have not made a small error — you have made a false allegation, and the evidence
against you was available the whole time in a registration date.
Nothing found is a result, not a gap
If you search and find nothing, you have learned something and it belongs in
the record. An analyst who reports only hits produces a document that cannot be
distinguished from one who did not look.
"I found nothing" and "I looked, here, at this time, and
there was nothing" are different sentences. Only one of them survives
challenge.
check yourself
You search a username and get zero results. What do you record?
your notes
4 of 14
Agent — the loop, delegated
answers the pivot loop, at a speed you
cannot match by hand
You give the Agent a sentence. It decomposes that into specific calls, runs
them, reads what comes back, and proposes the next round based on what it
learned. That is the loop from page 1, executed for you.
In the worked example you will meet later, one sentence became eleven
actions across four rounds, pivoting from a company name to a
registration number to a jurisdiction to named individuals.
Two things to hold onto.
It stops and asks. Before anything runs, it shows you each
proposed call with its exact query and waits. You approve, or you do not. This is
not a confirmation dialog — it is where you exercise judgement about
proportionality, one action at a time.
You were not there. The Agent's output is fluent, sourced and
confidence-labelled, which makes it read like observation. It is not. It is a
report of what a system did on your behalf. That distinction becomes very
important on page 8.
1It found a registration number in round 1 and is pivoting to it.
2Sources are neutral authorities — Treasury, OFAC.
3network and country, declared before anything executes.
4Every action logged, pending through done.
sourcepA-agent-03-pivot-round2-regnumber.jpg · Round 2, proposed but not yet run. Note the egress declared per call.
your notes
5 of 14
Browser — the shield
answers problem one — they can see you
looking
The Browser is not "the manual option". It is a sandboxed browser running
somewhere else, so that when you look at something, what the target sees is the
sandbox and not you.
Three things it gives you that a browser on your own machine cannot:
Egress you choose. The request appears to come from a
country you selected, not from your employer's netblock.
An identity you selected. Sessions run as a persona from
the Vault, not as you.
Files that cannot reach you. Anything you open is opened
over there. Nothing touches your endpoint.
And one thing that matters for problem two: when you look at something in the
Browser, you looked at it. You can say so. That is a different
kind of claim from anything the Agent produces, and later you will see a case
where fifteen minutes of looking upgraded a delegated inference into an observed
fact.
There is also a restricted Browser Lite
role — Browser, Settings and Account only. No Agent, no Wayback, no collection.
Safe for orientation, and it leaves no custody record at all.
1A real browser, running somewhere else.
2Entities extracted as you browse.
3It catches page furniture too — trackers, vendor addresses.
4Your project. Everything here is recorded against it.
sourcepB-browser-03-session-live-entity-panel.jpg · A live session. The target sees the sandbox, never your machine.
open the platformBrowser → new session
Click the Browser icon. The session dialog opens before anything launches.
Do NOT launch. Just read it.
Look at which egress route is already selected.
bring back
Which route was preselected for you — and did anyone choose it?
your notes
6 of 14
Federation — what will accept your selector
answers the pivot loop — a selector is
only useful if something will take it
Federation is the set of sources Glazer can ask on your behalf. Thirty of them.
Each accepts particular selector types and returns particular things.
This is where page 3's lesson becomes operational. A service declares what it
accepts — an email, a domain, a
crypto_address. Handing it the wrong type does not fail loudly; it
returns nothing, and nothing looks the same whether you asked wrongly or the
answer is genuinely no.
Two habits worth forming now
Passive first. Twenty-nine of the thirty are third-party
lookups — you are asking someone else what they already know, and the subject
never learns anything. Only one issues a live request. Exhaust the passive
surface before touching anything.
Cheap first. Federation is metered. Some sources cost
meaningfully more than others, and the expensive ones are rarely the ones that
answer your first question.
You will filter the full catalogue yourself on page 11.
open the platformSettings → Team → Federation Settings
Open the Federation catalogue in your own tenant.
Scroll the list. Note the two columns on the right: Browser and Agent.
Count the services enabled for Agent but NOT for Browser.
bring back
How many services can the Agent reach that the Browser cannot?
your notes
7 of 14
Wayback — proving what you saw
answers problem two — you have to prove
what you saw
Every navigation you make is recorded: what you visited, when, over which
egress, from which country. That log is scoped to your project, and it is where
you go months later when someone asks how you know.
The distinction that matters
Screenshots come in two kinds, and only one of them is evidence in the strong
sense.
automatic
Captured on navigation. A record that you were there.
No cryptographic timestamp.
manual — you click
Bundled into a signed container.
Timestamped by an EU qualified authority. Verifiable without
trusting Glazer.
So the moment a finding matters — the one you expect to defend —
click the button. That single act is the difference between "our
system logged this" and "a qualified authority attests this existed at this
time".
The export's download link contains the word
Signature=. That is storage access control, not a signature over your
evidence. Do not cite it as one.
open the platformWayback
Open Wayback. If your project is new it will be empty — that is fine, you are here for the shape of it.
Read the column headers.
Look for the manual / automatic screenshot filter.
bring back
Which columns would let you answer 'where did this request come from'?
your notes
8 of 14
Vault — who you were at the time
answers problem one, and part of problem
two
The Vault holds identities. A session runs as one of them, and which one is a
decision you make before you start looking.
An identity is not only a login. It is a posture: attributable research
identity for a declared, consented process; an aged persona for a venue where
turning up as yourself would burn the enquiry and possibly you.
The part people miss
Identities can be transferred between users. That makes "who
held this persona when the collection happened" a question your record has to be
able to answer — which makes transfer a custody event, not an administrative
convenience.
So the lifecycle is longer than most people write down:
build→age→deploy→transfer→retire
Every persona needs a documented retirement trigger before it is deployed —
the condition under which you stop using it. Deciding that afterwards is deciding
it too late.
open the platformVault → Manage
Open the Vault, then Manage.
Read the column headers on the identity table.
Find the Transfer column.
bring back
Who currently holds the default identity in your tenant?
check yourself
Which of these is the strongest reason a persona needs a retirement trigger defined up front?
your notes
9 of 14
Three decisions before you look at anything
Launching a Browser session asks you three questions at once, and will not let
you past until all three are answered. That is deliberate: collection posture is
chosen before collection, not reconstructed afterwards.
Which identity? From the Vault. Attributable, or a persona.
Retain browsing data? Cookies, history, bookmarks. An
evidentiary choice, not a convenience.
Which egress? And under GVPN, from which country.
The routes
GVPN
Commercial VPN, with a country you pick.
Default for open-source research.
TOR
Onion routing. For venues that need it, and for
your own protection.
GRESIDENTIAL
Residential IP. Where datacentre and
Tor ranges are blocked or served differently.
Tor is not simply "more secure". Exit reputation degrades some results and
gets you blocked or served altered content elsewhere. Choosing it for a routine
lookup is not caution, it is noise.
1Identity, from the Vault.
2Retain browsing data.
3Egress — mutually exclusive.
4TOR is preselected here. That is a default, not your decision.
sourceday2-mod2.3-browser-session-identity-routing.jpg · The session dialog. Three decisions, no way past them.
your notes
10 of 14
Where you appear to be
Selecting GVPN reveals a country list. This is the control that turns "use a
VPN" from advice into a decision, and it is worth two rules.
Never your own region. An egress in your home country
defeats the entire purpose.
Plausible for the query. Ask who would routinely make this
request from there. A German egress reading Russian corporate records is
unremarkable trade-compliance behaviour. Somewhere regionally adjacent to the
subject is a different signal.
The Agent does something else, and it is right to
The Agent picks egress to match the source — the country that makes it
look like a natural visitor to that site, which also clears geo-fencing and
CAPTCHA. Tested during this course: US sources drew us; Russian
sources drew ru.
Two logics, optimising against different threats. Source-matching
avoids looking anomalous to the source. Non-attribution
avoids being traceable to you. Which should win depends on who owns the
logs and how large the crowd is: a US egress at a US government site hides among
millions; the same egress at a target's own infrastructure does not.
You can state the policy in the task itself —
never use US IPs when browsing web sources — then verify it at the
approval gate, where the country is shown per call before anything runs.
1Selecting GVPN reveals this.
2Where the doctrine either happens or does not.
3The other two routes, mutually exclusive.
4Identity is still your first decision.
sourcepB-browser-01-gvpn-egress-country-selector.jpg · GVPN expanded. The country list is full-length; the default is arbitrary.
open the platformBrowser → new session → GVPN
Open a session dialog again. Toggle GVPN on.
A country list appears. Open it.
Find your own country in the list — the one you will not be using.
bring back
Which country would you pick for a query against a German supplier, and why?
your notes
11 of 14
The catalogue, in your hands
Thirty services. Each one is toggleable independently for
Browser and for Agent — which means the same question asked two ways can return
different answers, and nothing in the interface warns you.
Work the table below rather than reading it.
1 Filter for domain. How many services
will accept one?
2 Find the single service that is not
passive. Why does that one matter more than the other twenty-nine?
3 You hold only a phone number. What can you actually
ask?
The passive/active distinction is the one to carry out
of this page. Twenty-nine of these ask somebody else what they already know. One
of them tells your subject's infrastructure that somebody is asking.
your notes
12 of 14
Delegated, not abdicated
This is the run from page 4, and you are going to approve it one round at a
time. Read each proposed call before you advance — that is the whole exercise.
Notice what the gate makes possible: because each round is shown
before it executes, you can see the reasoning and disagree with it. A
system that simply ran and reported would give you the same findings and no way
to challenge how they were reached.
check yourself
The Agent proposes visiting the subject company's own website. What is the concern?
your notes
13 of 14
Lab — first task, end to end
Now you drive. Work through these in order and keep your own record as you go.
Confirm your active project. Then check Federation
settings — a new project does not mean a clean collection posture.
Check service enablement for both Browser and Agent. Note
the difference.
Task the Agent with the selector you are given.
At the approval gate, predict what the next round will propose.
Write it down before you approve. Then compare.
Pick the claim that is least attestable — not the most
interesting — and go verify it in the Browser.
Find both in Wayback. Confirm the timestamp, the routing type
and the country.
Answer, in writing: which of these artifacts did I observe, and
which was I told?
Step 5 is the one people get wrong. The instinct is to
verify what is most interesting. The discipline is to verify what would be
weakest if challenged.
A worked version of exactly this exists: an Agent inferred a company's
jurisdiction from a registration-number format, and fifteen minutes in the Browser
turned "an associated individual" into "the person holding signing authority",
plus a street address the Agent never surfaced.
1The entity, in its registered form.
2A street address the Agent never produced.
3Listed as Руководитель — signing authority, not merely associated.
4Both identifiers match what was inferred.
sourcepB-browser-07-registry-record-VERIFIED.jpg · The verification. Registry record reached over GVPN / Germany.
your notes
14 of 14
Where the limits live
Three controls worth knowing before Day 1, because Day 1 argues ethics and it
helps to know where the levers actually are.
Blocked Domains. Collection boundaries, technically
enforced. This is where an organisation writes down "we do not collect here".
Ethics that cannot be configured are ethics that will not be followed.
Automatic Screenshots. Whether a custody record gets made
at all. Off means no record.
API keys. The programmatic surface — Day 3's subject.
Where you should be by now
You should be able to say, without looking anything up:
What work belongs on each of the five surfaces
Why the Browser exists, in one sentence, without using the word "manual"
The three decisions a session makes you take before you can look
Which capture type carries a qualified timestamp, and which does not
What you would record after a search that returned nothing
Days 1 to 3 teach the doctrine this tool serves. You now know the
instrument well enough that those days can be about the work rather than the
buttons.
open the platformSettings — both tabs
Personal tab: find the Automatic Screenshots toggle. Note its state.
Team tab: find Blocked Domains.
Team tab: note the Federation credit balance.
bring back
Credit balance now — write it down. You will compare after the lab.
check yourself
Last one. Which statement can you defend six months from now?
your notes
Service
Cluster
Accepts
PREVENT
Touch
Cost
MaxMind GeoIP
infra
ip
TECH
passive
low
Cymru WHOIS
infra
ip
TECH
passive
low
mnemonic PassiveDNS
infra
domain · ip
TECH · CI
passive
low
Domain IP Lookup
infra
domain
TECH
ACTIVE
low
Dehashed
credential
email · username · domain · phone
TECH · EXFIL
passive
med
Kaduu Account Search
credential
email · username · password · domain
TECH · EXFIL
passive
med
Kaduu Website Search
credential
domain
TECH · EXFIL · ORG
passive
med
HudsonRock Infections
credential
email · username · ip
TECH · EXFIL
passive
med
HudsonRock Domain Exposure
credential
domain
TECH · EXFIL · ORG
passive
high
Constella Infostealer Infection
credential
email · username · ip
TECH · EXFIL
passive
med
Constella Infostealer Password
credential
password
TECH · EXFIL
passive
med
Constella Infostealer (consumer)
credential
email · username · phone
TECH · EXFIL
passive
med
Constella Infostealer (business)
credential
domain · company
TECH · EXFIL · ORG
passive
med
Constella Breach Password
credential
password
TECH · EXFIL
passive
med
Constella Breach (consumer)
credential
email · username · phone
TECH · EXFIL
passive
med
Constella Breach (business)
credential
domain · company
TECH · EXFIL · ORG
passive
med
OpenSanctions Individual
sanctions
person
CI · FIN
passive
low
OpenSanctions Business
sanctions
company
CI · FIN · ORG
passive
low
KYC6 Individual
sanctions
person
CI · FIN
passive
high
KYC6 Business
sanctions
company
CI · FIN · ORG
passive
high
Chainalysis Sanctions
financial
crypto
FIN · CI
passive
med
WalletExplorer
financial
crypto
FIN · CI
passive
med
IBAN to Bank Info
financial
iban
FIN · CI
passive
low
OSINT Industries
presence
email · username · phone
CI · IDEO · INFO
passive
high
SearchAPI Google
presence
free text
IDEO · INFO · CI
passive
low
SearchAPI Yandex
presence
free text
IDEO · INFO · CI
passive
low
Wikipedia OpenSearch
presence
person · company
INFO
passive
low
Telemetry Telegram Search
presence
free text · username
CI · EXFIL · IDEO
passive
med
Phone to Carrier Info
presence
phone
CI
passive
low
Glazer Datalake
internal
any
TECH · CI · EXFIL
passive
low
30 of 30 services
Round 1 — 3 proposed calls
Enrichcompany_name — Amnokgang Technology Development Company
Google searchAmnokgang Technology Development Company OFAC DPRK sanctions
Telegram searchAmnokgang Technology Development Company
Opens on the name alone. Nothing has run.
Round 2 — 3 proposed calls
Visit websitestreasury.gov · ofac.treasury.gov — gvpn / us
Enrichcompany_reg_number — 9909344990
Google search"Amnokgang" DPRK IT workers cryptocurrency wallets
It found a registration number and pivoted to it. Egress declared per call.
Round 3 — 3 proposed calls
Google searchYun Song Guk DPRK IT worker Laos sanctions
Google searchSim Hyon Sop DPRK cryptocurrency wallet addresses OFAC
Google search"Amnokgang" Vladivostok representative office INN 9909344990
The number format revealed a jurisdiction. Now pivoting to individuals.
Round 4 — 2 proposed calls
Visit websiteschainalysis.com · trmlabs.com — gvpn / us
Enrichperson_name_full — Sim Hyon Sop
Eleven actions, four rounds, from one sentence.
Eleven actions. Four rounds. One sentence in. Because each
round is shown before it executes, you can disagree with the reasoning.