pattern-of-life-from-socials
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePattern of Life from Socials
从社交媒体分析生活模式
Pattern-of-life analysis turns scattered public posts into a model of where
someone is, when, and with whom. It is the most abusable technique in this
repo: the same method produces a due-diligence report and a stalking dossier.
The difference is authorization and scope, not tradecraft. The beginner error
is collecting posts instead of analysing them — screenshots of a feed are not
intelligence. Work four layers: account metadata, network, content, temporal
behaviour. The first and last are the two everyone skips, and the two the
subject can't curate.
生活模式分析可将零散的公开帖子转化为关于某人所处位置、时间及关联对象的模型。这是本仓库中最易被滥用的技术:同一方法既可以生成尽职调查报告,也可能变成跟踪档案。区别在于授权范围与操作边界,而非技术手段。新手常犯的错误是只收集帖子而不进行分析——动态截图并非情报。需从四个层面展开分析:账户元数据、社交网络、内容信息、时间行为。前两者和最后一个层面是所有人都会忽略,但目标无法刻意修饰的内容。
Step 1 — Authorized scope
步骤1 — 明确授权范围
Read ../../ETHICS.md, then write down before opening a
single profile:
- Subject — the account(s) and the real-world entity you believe is behind them.
- Objective — the question that ends the investigation. "Pattern of life" is not one. "Does this vendor's EU lead actually live in the EU" is.
- In / out of bounds — explicitly. Minors, uninvolved family, home address, health, religion, sexuality and immigration status are out unless the objective requires them and you can defend that.
- Posture — observation only, or authorized interaction. Following, liking, messaging and viewing stories are all interaction.
- Jurisdiction — yours, the subject's, the platform's.
- Stop condition — you stop when the objective is answered, when the trail lands on an uninvolved third party, or when the only question left is "where do they sleep."
Done when all six are recorded in the case file.
阅读../../ETHICS.md,在打开任何个人资料前先写下以下内容:
- 目标对象——你所调查的账户及背后对应的真实实体。
- 调查目标——能终结调查的具体问题。“分析生活模式”并非具体目标,“该供应商的欧洲负责人是否真的居住在欧盟境内”才是。
- 边界范围——明确界定。除非调查目标有要求且你能提供合理依据,否则未成年人、无关家属、家庭住址、健康状况、宗教信仰、性取向及移民身份均属于禁止调查范畴。
- 调查姿态——仅观察,还是获得授权的互动。关注、点赞、发消息及查看动态都属于互动行为。
- 管辖区域——你的所在区域、目标对象的所在区域、平台的管辖区域。
- 终止条件——当调查目标达成、线索指向无关第三方,或是仅剩“他们住在哪里”这类问题时,停止调查。
完成标志:以上六项内容均记录在案件档案中。
Step 2 — Choose a viewing identity, then preserve
步骤2 — 选择查看身份并留存数据
Logged-out leaks less and sees less; logged-in sees more and leaks more.
Platforms variously report story views and profile visits to the subject, and
recommendation systems surface accounts that look at each other — so merely
viewing can put your research account in the subject's suggestions. Decide the
tradeoff using ; never browse a subject from
a personal or employer account.
investigate-without-getting-madeThen capture before you analyse. Accounts get locked or scrubbed
mid-investigation, often because someone noticed. Archive the profile and every
post you may cite via , and pull older snapshots — they
routinely show a previous bio, link, or handle. Save media locally.
read-deleted-pagesDone when the viewing identity is recorded and everything you intend to
cite exists as an archive URL or a local file with a capture timestamp.
未登录状态下暴露的信息更少,但能查看的内容也更少;登录状态下能查看更多内容,但暴露的信息也更多。不同平台会向目标对象显示动态浏览记录和个人资料访问记录,且推荐系统会将相互查看的账号推送给对方——因此仅仅查看目标资料就可能让你的研究账号出现在对方的推荐列表中。请使用工具权衡利弊;绝对不要用个人账号或雇主账号浏览目标资料。
investigate-without-getting-made在分析前先进行数据留存。调查过程中账号可能被锁定或清理,通常是因为被对方察觉。请通过工具归档你可能引用的个人资料及所有帖子,并获取旧版快照——这些快照通常会显示之前的简介、链接或用户名。将媒体文件保存到本地。
read-deleted-pages完成标志:记录下所使用的查看身份,且所有你打算引用的内容都已保存为归档URL或带有捕获时间戳的本地文件。
Step 3 — Layer one: account metadata
步骤3 — 第一层:账户元数据
Go after what the subject never chose. Full per-platform behaviour is in the
platform disclosure matrix.
- Creation date. Shown outright on some platforms, derivable on others. Snowflake-style 64-bit IDs encode a millisecond timestamp in their high bits, offset from a platform-specific epoch — the ID is the signup time. Plain sequential IDs give registration order, so you can bracket a date against accounts of known age.
- The numeric ID. It survives handle changes, so it — not the handle — is the durable selector. Record it.
- Handle history. Seldom a feature, usually recoverable from old mentions, inbound links, archived snapshots and abandoned cross-posts. A freed handle can be reclaimed by a stranger, so an old link proves nothing about current control.
- Verification and linked accounts. Whether a badge is paid or identity-checked changes what it's worth. Linked sites and business-account contact fields expose emails and phone numbers the personal profile wouldn't.
Done when ID, creation date, handle history and every linked selector are
recorded with sources.
聚焦目标无法选择的信息。各平台的具体行为可参考平台披露矩阵。
- 创建日期:部分平台会直接显示,其他平台可通过推导得出。Snowflake风格的64位ID在高位编码了毫秒级时间戳,以平台特定的纪元时间为偏移量——ID本身就是注册时间。普通的顺序ID可体现注册顺序,因此你可以将其与已知注册时间的账号进行对比,确定大致日期范围。
- 数字ID:它不会随用户名变更而改变,因此数字ID(而非用户名)是持久的标识。请记录下来。
- 用户名历史:很少有平台提供此功能,但通常可从旧提及内容、入站链接、归档快照及废弃的跨平台帖子中恢复。已释放的用户名可能被陌生人重新使用,因此旧链接无法证明当前账号的控制权。
- 认证标识与关联账号:认证徽章是付费获得还是经过身份验证,其价值有所不同。关联网站及企业账号的联系字段会暴露个人资料不会显示的邮箱和电话号码。
完成标志:记录下数字ID、创建日期、用户名历史及所有关联标识,并注明来源。
Step 4 — Layer two: network
步骤4 — 第二层:社交网络
A subject's OPSEC is nearly irrelevant if their relatives tag them.
- Early followers. The first accounts to follow a personal account are overwhelmingly family, school friends and coworkers — it spread by word of mouth before it had reach. Where follower ordering is observable, the oldest tail is the highest-value segment on the page.
- Mutual-follow clusters. Reciprocal edges map real-world communities: employer, school cohort, hometown, club. The cluster is the finding; a single edge isn't.
- Tag direction. Who the subject tags is curated. Who tags the subject is not. Inbound tags from an open-book cousin routinely deliver the birthday, the house, the car and the workplace the locked-down subject withheld.
- Reply latency. Accounts that reliably comment within minutes are the inner circle, regardless of follower counts.
Build this in , not as a list.
graph-the-networkDone when the inner circle, one real-world cluster, and the third parties
who leak about the subject are identified and graded.
如果目标的亲友标记了他们,那么目标的OPSEC(操作安全)几乎毫无意义。
- 早期粉丝:个人账号的首批粉丝绝大多数是家人、校友和同事——账号是通过口口相传传播的,尚未形成广泛影响力。如果粉丝顺序可见,那么最早的一批粉丝是页面上最有价值的群体。
- 互关集群:双向关注关系可映射现实世界的社群:雇主、校友群体、家乡、俱乐部。集群才是关键发现;单个关注关系并无意义。
- 标记方向:目标标记的对象是经过筛选的。但标记目标的对象则不受控制。来自亲友的入站标记通常会泄露目标刻意隐瞒的生日、住所、车辆及工作地点等信息。
- 回复延迟:能在几分钟内可靠评论的账号属于核心圈子,无论粉丝数量多少。
请使用工具构建社交网络,而非仅列成清单。
graph-the-network完成标志:识别并分级核心圈子、至少一个现实世界集群,以及会泄露目标信息的第三方。
Step 5 — Layer three: content
步骤5 — 第三层:内容信息
Read past the subject of each photo to the accidental content: reflections in
windows, mirrors, glasses and dark screens; laptop and phone displays in frame;
paperwork such as boarding passes, parcel labels and event badges; vehicles,
plates, dealer frames and parking permits. Repeated backgrounds are what
upgrade a room from "somewhere" to "home" or "workplace" — count occurrences
and note the date span.
Run on everything you downloaded: platforms differ
in whether they strip EXIF, and the same platform may strip it from an inline
image while preserving it in a file attachment or an original-quality download.
secrets-in-file-metadataDo the geolocation itself in . Sanity-check anything
that looks too convenient with .
geolocate-from-pixelsis-this-photo-realDone when each location-bearing artefact is logged with post URL, date, and
a pointer to the geolocation work.
透过每张照片的主体,留意意外暴露的内容:窗户、镜子、眼镜及深色屏幕中的反光;画面中的笔记本电脑和手机屏幕;登机牌、包裹标签及活动徽章等文件;车辆、车牌、经销商框架及停车许可证。重复出现的背景可将某个空间从“某处”升级为“住所”或“工作场所”——统计出现次数并记录日期范围。
对所有下载的文件运行工具:不同平台对EXIF信息的处理方式不同,同一平台可能会剥离内嵌图片的EXIF信息,但保留文件附件或原始质量下载文件中的EXIF信息。
secrets-in-file-metadata请使用工具进行地理定位。对看起来过于巧合的内容,使用工具进行合理性检查。
geolocate-from-pixelsis-this-photo-real完成标志:记录下每个带有位置信息的物品,包括帖子URL、日期及地理定位工作的指向。
Step 6 — Layer four: temporal behaviour
步骤6 — 第四层:时间行为
Extract every post timestamp into a table and plot hour-of-day and day-of-week.
The extraction schema is in the
analytic checklist.
A contiguous gap of roughly seven to nine hours is the sleep window, and its
position gives a UTC offset — enough to separate continents, not neighbours. A
weekday dip through business hours suggests employment with restricted device
access; the inverse suggests shift work or a job spent online. Sudden
multi-day offset shifts are travel.
What wrecks this: scheduling tools post at fixed wall-clock times regardless of
where the human is, so a scheduled account measures the scheduler; platforms
may render timestamps in the viewer's locale; edits can carry the edit time;
and cross-posting bridges or shared team accounts blend several humans into one
histogram. Establish that posting is manual before reading anything into shape.
Done when both distributions exist over a stated sample window, with an
explicit inferred UTC offset and its confidence.
将所有帖子的时间戳提取到表格中,并绘制一天中的时段和一周中的日期分布图表。提取规则可参考分析清单。
连续7至9小时的空白时段是睡眠窗口,其位置可给出UTC偏移量——足以区分不同大洲,但无法区分相邻地区。工作日工作时段的发帖量下降表明目标从事设备访问受限的工作;反之则表明目标从事轮班工作或线上工作。突然的多日偏移变化意味着旅行。
需要注意的干扰因素:调度工具会在固定时间发帖,无论用户身处何地,因此使用调度工具的账号反映的是调度设置;平台可能会以查看者的时区显示时间戳;编辑帖子会携带编辑时间;跨平台发帖或共享团队账号会将多个人的行为合并到一个直方图中。在解读时间模式前,需确认发帖行为是手动操作。
完成标志:在指定的样本窗口内生成两种分布图表,并明确推断出UTC偏移量及其置信度。
Step 7 — Consolidate and report
步骤7 — 整合与报告
Link accounts on evidence: the same avatar file, the same link-in-bio target,
follower-set overlap, aligned histograms. Writing style alone is a lead, not a
link. Then run . Every claim cites a post or archive URL
and a date; every temporal conclusion states sample window and sample size.
write-the-intel-briefDone when no claim lacks a citation and no inference lacks a grade.
基于证据关联账号:相同的头像文件、相同的简介链接目标、粉丝集合重叠、时间分布一致。仅靠写作风格只能作为线索,不能作为关联依据。然后运行工具。每个主张都需引用帖子或归档URL及日期;每个时间相关的结论都需说明样本窗口和样本量。
write-the-intel-brief完成标志:所有主张均有引用依据,所有推断均有分级。
Where this goes wrong
常见失误
- Sample bias. You're reading a self-published subset of a life. Silence means "didn't post," never "wasn't there."
- Backdating. A post date is an upper bound on the event date. Photos get posted months late, reposted, or lifted from someone else entirely.
- The account is not the person. Handles are sold, inherited, hacked and recycled; a long history may have changed hands. Partners, assistants and agencies post as the subject — two behavioural signatures in one histogram usually means two humans.
- Curated self-report. Location, job title and relationship status are marketing copy, and a common name plus a matching city is a coincidence generator, not a match.
- Rendering differences. Timestamps, follower ordering and mutual indicators change with login state, and are often approximate ("2h", "last week") rather than exact.
- Observation changes the subject. One who locks down mid-case may have been tipped off by you.
- 样本偏差:你所查看的是目标自我发布的生活片段。沉默意味着“没有发帖”,而非“不在场”。
- 日期回溯:发帖日期是事件日期的上限。照片可能在数月后发布、被转发,或是完全来自他人。
- 账号与本人不符:用户名可能被出售、继承、盗用或回收;长期存在的账号可能已易主。伴侣、助手或代理机构可能会以目标的名义发帖——直方图中出现两种行为特征通常意味着背后是两个人。
- 刻意修饰的自我陈述:位置、职位及关系状态属于营销性质的内容,同名且同城市的情况只是巧合,并非匹配依据。
- 显示差异:时间戳、粉丝顺序及互关标识会随登录状态变化,且通常是近似值(如“2小时前”、“上周”)而非精确值。
- 观察行为改变目标:调查过程中突然设置隐私权限的目标可能已察觉到你的存在。
Grading a finding
发现结果分级
- Confirmed — an authoritative record or the subject states it, or two independent artefacts of different types agree (an inbound tag from a separate account plus a geolocated background). Both archived.
- Probable — several consistent signals of the same type, or one strong signal with nothing contradicting it: a repeated background plus a temporal pattern consistent with living there.
- Unconfirmed — single-source, self-reported, style-based, or drawn from too small a sample. A timezone from a few dozen posts or fewer is unconfirmed, full stop.
Downgrade anything resting on an assumption you can't state in one sentence.
- 已确认:有权威记录或目标本人声明,或是两种不同类型的独立证据一致(如来自独立账号的入站标记加上带有地理定位的背景)。所有证据均已归档。
- 大概率:多个同一类型的一致信号,或是一个强信号且无矛盾内容:重复出现的背景加上与居住地点一致的时间模式。
- 未确认:单一来源、自我陈述、基于风格,或是样本量过小。基于几十个或更少帖子得出的时区结论绝对属于未确认级别。
任何基于无法用一句话说明的假设得出的结论都应降级。
Worked example
实操示例
Objective: confirm a supplier's "EU operations lead" is in Europe, as the
contract requires.
Bio says Lisbon. The numeric ID decodes to a signup years before the company
existed — so the bio says nothing about the present. Four months of timestamps
cluster 14:00–05:00 UTC with a dead zone 06:00–13:00: a sleep window centred
near 09:00 UTC, wrong for Lisbon, consistent with the Americas. Dead end: no
geotags anywhere, and the platform stripped EXIF from every download.
The network layer breaks it. Early followers cluster around one US state
university, and a relative tags the subject at a named local restaurant on a
date the subject publicly claimed to be in Portugal; a repeated kitchen
background appears on both sides of that date. Graded probable — no
authoritative record places the subject anywhere, and a histogram can't
separate adjacent countries. Reported with the sample window stated.
调查目标:确认供应商的“欧洲运营负责人”确实居住在欧洲,符合合同要求。
简介显示位于里斯本。数字ID解码显示注册时间远早于公司成立时间——因此简介无法反映当前情况。四个月的时间戳集中在UTC时间14:00–05:00,UTC时间06:00–13:00为空白时段:睡眠窗口集中在UTC时间09:00左右,与里斯本的时区不符,与美洲时区一致。陷入僵局:所有帖子均无地理标记,且平台剥离了所有下载文件的EXIF信息。
社交网络层面打破僵局。早期粉丝集中在某美国州立大学,一位亲友在目标公开声称身处葡萄牙的日期标记了目标在当地一家知名餐厅的照片;同一厨房背景在该日期前后均出现。结论分级为大概率——没有权威记录显示目标的位置,直方图无法区分相邻国家。报告中注明了样本窗口。
Pivots
延伸操作
| You now have | Take it to |
|---|---|
| Handle and variants | |
| Avatar, banner, posted photo | |
| Photo needing place or time | |
| Downloaded media files | |
| Exposed email / phone | |
| Corroborated personal name | |
| Employer, brand page, link-in-bio domain | |
| Follower and mutual edges | |
| Deleted or edited posts | |
| Aircraft or vessel in posts | |
| Wallet address or ENS name | |
| 现有信息 | 可延伸至 |
|---|---|
| 用户名及变体 | |
| 头像、横幅、发布的照片 | |
| 需要确定地点或时间的照片 | |
| 下载的媒体文件 | |
| 暴露的邮箱/电话 | |
| 已确认的个人姓名 | |
| 雇主、品牌页面、简介链接域名 | |
| 粉丝及互关关系 | |
| 已删除或编辑的帖子 | |
| 帖子中的飞机或船只 | |
| 钱包地址或ENS名称 | |
Legal and ToS
法律与服务条款
Automated collection of profile and follower data breaches the terms of service
of essentially every major platform and has been litigated as a computer-misuse
matter in some jurisdictions; manual viewing of public content generally has
not. Creating an account to view a subject is at minimum a ToS problem, and a
fraud problem if you misrepresent identity to gain access.
Under GDPR and comparable regimes "publicly available" is not itself a lawful
basis, and profiling a person's location and routine is high-risk processing.
Political opinion, health, religion, sexuality and union membership are special
categories — if they surface incidentally and aren't in scope, don't record
them. And the one that matters: sustained monitoring of an individual's
location and routine meets the statutory definition of stalking in many
jurisdictions, and sourcing it publicly is not a defence. Authorization, a
written objective and a stop condition are what make this work lawful.
自动收集个人资料和粉丝数据违反了几乎所有主流平台的服务条款,且在某些司法管辖区已被定性为计算机滥用行为;手动查看公开内容通常不违反条款。创建账号查看目标资料至少违反服务条款,若为获取访问权限而虚假陈述身份则构成欺诈。
根据GDPR及类似法规,“公开可用”本身并非合法依据,对个人位置和日常作息进行侧写属于高风险处理。政治观点、健康状况、宗教信仰、性取向及工会成员身份属于特殊类别——若这些信息意外出现且不在调查范围内,请不要记录。最重要的一点:持续监控个人的位置和日常作息在许多司法管辖区符合跟踪行为的法定定义,即使信息来自公开渠道也无法成为辩护依据。授权、书面目标及终止条件是确保此项工作合法的关键。