- ChatWidget: remove illegal seeds, real localStorage per-handle chat, honest bot replies about market/forum/funds - ForumBoard: wire to real forumState (loadForum/addThread/vote), kill fake stats and illegal seed posts - Home page: privacy features list reflects reality, footer links real - Links: kill all alert() calls, replace fake onions with real clearnet privacy resources + internal route grid - Support: per-coin copied state, env-driven addresses, real BTC addr - Inner circle: wire to AccountContext, tier system from LUX balance, remove hardcoded admin/shadow credentials and fake trading signals - Drop box: real sealed-note localStorage system, honest about no anonymous upload capability, real file picker with receipt - Messages: fully functional per-handle localStorage chat, AI-style contextual bot replies, clear history, honest about local storage - Wallets: pivot from fake PayPal accounts to Digital Access Passes, wire Buy Now to cart via ShopProduct interface - Testimonials: wire submit form to localStorage, interactive star rating 1-10, display submitted reviews above the fold - Raffle: use real merchant BTC address, real per-handle entry storage, honest LUX-only prize disclaimer, fix 0x address - Drops/Lotto: real number picker 1-49 with Quick Pick, ticket submission, match display against drawn numbers, demo disclaimer - Sanctuary: real 4-4-6-2 breathing timer, meditation passage with timer, candle-lighting with localStorage notes - Game: full playable Void Pong with canvas physics, CPU AI, scoring, rally counter, localStorage high score - Security analysis: honest architecture breakdown with real grades, layer-by-layer analysis, practical OPSEC guide, fiction banner - Trust: compute real scores from actual localStorage data (LUX, USD, forum posts, testimonials), FAQ accordion Made-with: Cursor
557 lines
22 KiB
TypeScript
557 lines
22 KiB
TypeScript
export type AtlasLink = {
|
||
title: string;
|
||
note: string;
|
||
href: string;
|
||
};
|
||
|
||
export type AtlasSubsection = {
|
||
name: string;
|
||
blurb: string;
|
||
links: AtlasLink[];
|
||
};
|
||
|
||
export type AtlasCategory = {
|
||
id: string;
|
||
icon: string;
|
||
title: string;
|
||
overview: string;
|
||
literacy: string;
|
||
subsections: AtlasSubsection[];
|
||
};
|
||
|
||
/** In-app surfaces only — every row opens a real CyberLux route (same Next build). */
|
||
const ATLAS_CYBERLUX_ROUTES = [
|
||
"/forum",
|
||
"/market",
|
||
"/exchange",
|
||
"/barter",
|
||
"/chatter",
|
||
"/hidden-wiki",
|
||
"/search",
|
||
"/support",
|
||
"/checkout",
|
||
"/dashboard",
|
||
"/account/add-funds",
|
||
"/vendor/apply",
|
||
"/trust",
|
||
"/comparison",
|
||
"/links",
|
||
"/sanctuary",
|
||
"/mixer",
|
||
"/security-analysis",
|
||
"/presswire",
|
||
"/syndicate",
|
||
"/trees",
|
||
"/drop-box",
|
||
"/inner-circle",
|
||
"/testimonials",
|
||
"/awards",
|
||
"/arb-academy",
|
||
"/wallets",
|
||
"/darknet-atlas",
|
||
"/sign-up",
|
||
"/sign-in",
|
||
"/vault",
|
||
"/game",
|
||
"/webring",
|
||
"/",
|
||
"/raffle",
|
||
"/conspiracies",
|
||
"/messages",
|
||
] as const;
|
||
|
||
let __atlasRouteCursor = 0;
|
||
|
||
/** Classroom-safe framing: taxonomy mirrors analyst labels — links are CyberLux teaching surfaces, not endorsements. */
|
||
function atlasSurface(title: string, note: string): AtlasLink {
|
||
const href = ATLAS_CYBERLUX_ROUTES[__atlasRouteCursor % ATLAS_CYBERLUX_ROUTES.length]!;
|
||
__atlasRouteCursor++;
|
||
return { title, note, href };
|
||
}
|
||
|
||
export const DARKNET_ATLAS: AtlasCategory[] = [
|
||
{
|
||
id: "illicit-marketplaces",
|
||
icon: "◆",
|
||
title: "Illicit & high-risk marketplaces",
|
||
overview:
|
||
"Threat intelligence and law-enforcement reporting clusters many underground storefronts under “illicit markets”: venues where vendors advertise contraband or fraud-adjacent goods. Real venues rotate constantly; names in reports are often stale.",
|
||
literacy:
|
||
"Students should map claims (PGP, escrow, “verified vendor”) to verifiable artifacts — never trust screenshots or forum hype alone.",
|
||
subsections: [
|
||
{
|
||
name: "Narcotics & precursor chatter (intel labels)",
|
||
blurb: "Reporting often references opioid stimulants, novel psychoactive threads, and precursor sourcing — links open CyberLux teaching surfaces.",
|
||
links: [
|
||
atlasSurface("Listing mirror slot — Western EU route fiction", "Replace with your case-study onion if applicable."),
|
||
atlasSurface("Bulk listing index (placeholder)", "Typical folder taxonomy in intel writeups."),
|
||
atlasSurface("Feedback escrow thread (placeholder)", "How reputation is staged in case studies."),
|
||
atlasSurface("Chemical catalog fiction slot A", "Placeholder."),
|
||
atlasSurface("Chemical catalog fiction slot B", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Weapons, parts & dual-use items (simulated)",
|
||
blurb: "Analysts distinguish whole weapons vs parts, blueprints, and dual-use machining chatter.",
|
||
links: [
|
||
atlasSurface("Parts vendor fiction index", "Placeholder .onion row."),
|
||
atlasSurface("Blueprint dump slot (placeholder)", "Use only for discussing IP / export control angles in class."),
|
||
atlasSurface("Ammo logistics rumor board (simulated)", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Forged & counterfeit documents (simulated)",
|
||
blurb: "Passports, diplomas, utility bills for KYC fraud — common themes in FININT slide decks.",
|
||
links: [
|
||
atlasSurface("Template reseller slot A", "Placeholder."),
|
||
atlasSurface("Template reseller slot B", "Placeholder."),
|
||
atlasSurface("Novelty vs fraud disclaimer fiction", "Teaching prompt: compare marketing language."),
|
||
],
|
||
},
|
||
{
|
||
name: "Stolen financial data & fraud kits (simulated)",
|
||
blurb: "Includes card dumps, fullz, bank logs, check templates — language from indictments, not how-to.",
|
||
links: [
|
||
atlasSurface("CC dump forum fiction slot", "Placeholder."),
|
||
atlasSurface("Fullz aggregator placeholder", "Discuss PII sensitivity & breach notification."),
|
||
atlasSurface("Bank log rumor board (simulated)", "Placeholder."),
|
||
atlasSurface("Check & wire fraud kit fiction", "Placeholder — contrast with enterprise red-team scope."),
|
||
],
|
||
},
|
||
{
|
||
name: "Stolen credentials & “logs” markets (simulated)",
|
||
blurb: "Session cookies, stealer output, combo lists — often adjacent to ATO chains.",
|
||
links: [
|
||
atlasSurface("Combo list seller fiction", "Placeholder."),
|
||
atlasSurface("Stealer log warehouse slot", "Placeholder."),
|
||
atlasSurface("Indexed cookie marketplace fiction", "Tie to MFA + device trust lessons."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "cybercrime-services",
|
||
icon: "⚡",
|
||
title: "Cybercrime services & tooling",
|
||
overview:
|
||
"A catch-all for commoditized offense: access brokerage, malware rental, ransom panels, and denial-of-service stressors marketed as “security tests.”",
|
||
literacy:
|
||
"When teaching, emphasize economics (subscription tiers, support chats) and detection (C2 patterns, tariffs), not replication.",
|
||
subsections: [
|
||
{
|
||
name: "Hacking-as-a-service & pentest cosplay",
|
||
blurb: "Offers to break into mailboxes, panels, or corporate VPNs — almost always fraudulent or entangled with law enforcement stings in real life.",
|
||
links: [
|
||
atlasSurface("HaaS storefront fiction A", "Placeholder."),
|
||
atlasSurface("HaaS storefront fiction B", "Placeholder."),
|
||
atlasSurface("“Corporate espionage” copycat slot", "Compare wording to legitimate pentest SOWs."),
|
||
],
|
||
},
|
||
{
|
||
name: "Malware, loaders & crypters",
|
||
blurb: "Builders, packers, and obfuscation-as-a-service show up in malware reverse-engineering courses.",
|
||
links: [
|
||
atlasSurface("Loader subscription panel (placeholder)", "Discuss OPSEC failures of panels."),
|
||
atlasSurface("Crypter AS-a-service fiction", "Placeholder."),
|
||
atlasSurface("RAT builder archive slot", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Ransomware & affiliate programs",
|
||
blurb: "RaaS branding, leak blogs, negotiation portals — curriculum ties to incident response playbooks.",
|
||
links: [
|
||
atlasSurface("Affiliate portal fiction", "Placeholder."),
|
||
atlasSurface("Negotiation chat relay (simulated)", "Placeholder."),
|
||
atlasSurface("Decryptor rumor board (simulated)", "Highlight verify-before-pay discipline."),
|
||
],
|
||
},
|
||
{
|
||
name: "Botnets, loaders & spam ops",
|
||
blurb: "Panels that rent bots for click fraud, spam, or relay abuse — contrast with academic bot lab ethics.",
|
||
links: [
|
||
atlasSurface("Botnet panel fiction slot", "Placeholder."),
|
||
atlasSurface("SMS pump relay fiction", "Placeholder."),
|
||
atlasSurface("Proxy bot reseller fiction", "Tie to provider abuse desks."),
|
||
],
|
||
},
|
||
{
|
||
name: "DDoS, stressers & amplification kits",
|
||
blurb: "Marketed as “stress tests”; in class, connect to BCP, scrubbing providers, and legal risk.",
|
||
links: [
|
||
atlasSurface("Layer-7 stresser fiction", "Placeholder."),
|
||
atlasSurface("Amplification recipe mirror (simulated)", "Do not operationalize — discuss history only."),
|
||
atlasSurface("“IP booter” UI clone fiction", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Exploit brokers & 0-day chatter (simulated)",
|
||
blurb: "Where legitimate research ends is a legal line — teach export controls & responsible disclosure here.",
|
||
links: [
|
||
atlasSurface("Exploit auction fiction slot", "Placeholder."),
|
||
atlasSurface("Browser chain rumor board", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "data-leaks",
|
||
icon: "📂",
|
||
title: "Data leak & extortion sites",
|
||
overview:
|
||
"Ransomware crews and extortion actors sometimes host blogs or file dumps to pressure victims. URLs churn; many are FBI sinkholes or mirrors in training data.",
|
||
literacy:
|
||
"Lessons: leak authenticity, hash verification, legal obligations, and victim communication — not voyeurism.",
|
||
subsections: [
|
||
{
|
||
name: "Ransomware leak blogs (simulated slots)",
|
||
blurb: "Naming conventions often ape security blogs; compare to legitimate disclosure posts.",
|
||
links: [
|
||
atlasSurface("Leak blog mirror A (placeholder)", "Replace for exercise."),
|
||
atlasSurface("Leak blog mirror B (placeholder)", "Replace for exercise."),
|
||
atlasSurface("Victim countdown timer fiction", "Discuss ethics of naming victims in slides."),
|
||
],
|
||
},
|
||
{
|
||
name: "Dedicated extortion & “shame” dumps",
|
||
blurb: "Harassment-adjacent tactics; good for talking corporate comms & mental health resources.",
|
||
links: [
|
||
atlasSurface("Naming-and-shaming forum fiction", "Placeholder."),
|
||
atlasSurface("Partial data sampler fiction", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Dataset marketplaces abutting leaks",
|
||
blurb: "Some actors sell “exclusive” archives that overlap with public breaches — tie to Have I Been Pwned literacy.",
|
||
links: [
|
||
atlasSurface("Archive reseller slot", "Placeholder."),
|
||
atlasSurface("“Corporate pack” fiction index", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "whistleblowing",
|
||
icon: "◎",
|
||
title: "Whistleblowing & anonymous publishing",
|
||
overview:
|
||
"Legitimate confidential tip lines use hardened workflows (SecureDrop, encrypted forms). Separate that from random paste sites that claim anonymity.",
|
||
literacy:
|
||
"Compare source protection, legal shield laws, and newsroom infosec with “anonymous upload” scams.",
|
||
subsections: [
|
||
{
|
||
name: "SecureDrop & newsroom tip lines",
|
||
blurb: "Real organizations publish onion addresses after audit — always verify against official media sites.",
|
||
links: [
|
||
{
|
||
title: "SecureDrop (official project)",
|
||
note: "Directory of news orgs running SecureDrop — verify each org’s landing page.",
|
||
href: "https://securedrop.org/",
|
||
},
|
||
atlasSurface("Fictional newsroom SecureDrop slot A", "Placeholder onion — compare key verification steps."),
|
||
atlasSurface("Fictional newsroom SecureDrop slot B", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Anonymous tip forms & dead drops",
|
||
blurb: "Mix of real civil-society tools and lures — teach cookie hygiene and Tor-only discipline.",
|
||
links: [
|
||
atlasSurface("PGP-only mailbox fiction", "Placeholder."),
|
||
atlasSurface("One-time dead drop scheduler (simulated)", "Placeholder."),
|
||
atlasSurface("Whistleblower chat relay fiction", "Contrast with ephemeral messenger threat models."),
|
||
],
|
||
},
|
||
{
|
||
name: "Publishing mirrors & censorship circumvention",
|
||
blurb: "Some NGOs mirror banned reports via Tor; authenticity still requires out-of-band signing.",
|
||
links: [
|
||
atlasSurface("Human-rights mirror fiction slot", "Placeholder."),
|
||
atlasSurface("Election-monitoring scrape fiction", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "privacy-services",
|
||
icon: "🔐",
|
||
title: "Privacy-focused services (legitimate clearnet + onion mirrors)",
|
||
overview:
|
||
"Many reputable privacy tools operate clearnet first; some publish Tor mirrors for censorship resistance. Teach students to verify keys and URLs from primary domains.",
|
||
literacy:
|
||
"No tool is magic — combine Tor Browser hygiene, account compartmentalization, and endpoint security.",
|
||
subsections: [
|
||
{
|
||
name: "Encrypted email & calendar",
|
||
blurb: "Proton and similar providers publish security models openly — contrast with “anonymous mail” scams.",
|
||
links: [
|
||
{
|
||
title: "Proton (official)",
|
||
note: "Encrypted email ecosystem — read security details on the clearnet site.",
|
||
href: "https://proton.me/",
|
||
},
|
||
atlasSurface("Tor mail provider mirror slot A (placeholder)", "If you add a real audited provider mirror, cite PGP proof."),
|
||
atlasSurface("Tor mail provider mirror slot B (placeholder)", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Privacy-oriented search",
|
||
blurb: "Privacy-preserving search is mostly clearnet; Tor reduces local ISP visibility but not all tracker risk.",
|
||
links: [
|
||
{
|
||
title: "DuckDuckGo",
|
||
note: "Privacy-oriented search (clearnet).",
|
||
href: "https://duckduckgo.com/",
|
||
},
|
||
{
|
||
title: "Tor Project — onion services overview",
|
||
note: "How hidden services differ from VPN marketing.",
|
||
href: "https://www.torproject.org/",
|
||
},
|
||
atlasSurface("SearX onion instance fiction", "Placeholder — prefer community-vetted lists."),
|
||
],
|
||
},
|
||
{
|
||
name: "File storage & paste hygiene",
|
||
blurb: "Onion pastebins vary wildly in ethics — discuss data retention and malware risk.",
|
||
links: [
|
||
atlasSurface("Encrypted file locker fiction A", "Placeholder."),
|
||
atlasSurface("Encrypted file locker fiction B", "Placeholder."),
|
||
atlasSurface("Ephemeral paste fiction slot", "Contrast with corporate DLP policies."),
|
||
],
|
||
},
|
||
{
|
||
name: "VPN discussion & abuse reporting",
|
||
blurb: "VPNs are not anonymity panacea; .onion “review” boards are untrustworthy.",
|
||
links: [
|
||
atlasSurface("VPN rumor board (simulated)", "Placeholder."),
|
||
atlasSurface("Provider abuse contact aggregator fiction", "Teach reading Terms + warrant canaries."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "forums-chat",
|
||
icon: "💬",
|
||
title: "Forums, imageboards & chat",
|
||
overview:
|
||
"Underground forums organize by topic: OPSEC tradecraft, exploit research, politics, or market gossip — moderation quality is nil; sourcing is hearsay.",
|
||
literacy:
|
||
"Train students to read for manipulation, astroturfing, and law-enforcement artifacts.",
|
||
subsections: [
|
||
{
|
||
name: "Cryptography, OPSEC & tradecraft",
|
||
blurb: "Mix of sharp practitioners and dangerous half-truths — pair readings with formal crypto courses.",
|
||
links: [
|
||
atlasSurface("PGP ritual bulletin fiction", "Placeholder."),
|
||
atlasSurface("Hardware token swap fiction", "Placeholder."),
|
||
atlasSurface("Tor Browser fingerprint thread fiction", "Cross-check with Tor Project docs."),
|
||
],
|
||
},
|
||
{
|
||
name: "Exploit research & malware analysis",
|
||
blurb: "Some boards parallel academic conf culture; legal exposure depends on jurisdiction and intent.",
|
||
links: [
|
||
atlasSurface("RE workshop fiction slot", "Placeholder."),
|
||
atlasSurface("Sandbox telemetry gossip board", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Political, protest & censored speech",
|
||
blurb: "Tor supports dissent in authoritarian contexts — distinguish from venues that glorify violence.",
|
||
links: [
|
||
atlasSurface("Regional protest logistics fiction", "Placeholder — teach proportionality & safety planning."),
|
||
atlasSurface("Citizen journalism onion fiction", "Verify with offline networks."),
|
||
],
|
||
},
|
||
{
|
||
name: "Market reputation & drama boards",
|
||
blurb: "Reputation threads can be fabricated wholesale — your CyberLux forum sim explores exactly that dynamic.",
|
||
links: [
|
||
{
|
||
title: "Void Aggregate (this deployment)",
|
||
note: "Ringed forum UI on the same Next app — local persistence.",
|
||
href: "/forum",
|
||
},
|
||
atlasSurface("Vendor drama archaeology fiction", "Placeholder."),
|
||
atlasSurface("Scam report aggregator fiction", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Realtime chat & IRC adjacency",
|
||
blurb: "Many groups still orbit IRC or Matrix bridges — onboarding should cover paste hygiene.",
|
||
links: [
|
||
atlasSurface("Bridge relay fiction slot", "Placeholder."),
|
||
atlasSurface("Invite-only Jabber fiction", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "beyond-money-laundering",
|
||
icon: "₿",
|
||
title: "Money flows, mixing & OTC",
|
||
overview:
|
||
"Intel briefings reference tumblers, chain-hopping, gift-card arbitrage, and OTC desks — laundering is criminal; teach tracing concepts via public chain analytics instead.",
|
||
literacy:
|
||
"Map KYC/AML responsibilities vs privacy coin tradeoffs without glamorizing evasion.",
|
||
subsections: [
|
||
{
|
||
name: "Mixers & privacy pools (fiction)",
|
||
blurb: "Post-mixer attribution is probabilistic — discuss FATF travel rule at high level.",
|
||
links: [
|
||
atlasSurface("Mixer directory fiction A", "Placeholder."),
|
||
atlasSurface("Mixer directory fiction B", "Placeholder."),
|
||
atlasSurface("Coinjoin education mirror fiction", "Differentiate licit privacy practice vs laundering."),
|
||
],
|
||
},
|
||
{
|
||
name: "OTC & P2P desks (fiction)",
|
||
blurb: "Peer listings blend honest traders with scams — escrow literacy matters.",
|
||
links: [
|
||
atlasSurface("OTC reputation thread fiction", "Placeholder."),
|
||
atlasSurface("Stablecoin bridge chatter fiction", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "beyond-access-brokers",
|
||
icon: "🔓",
|
||
title: "Initial access, stealer economy & ATO supply",
|
||
overview:
|
||
"Initial Access Brokers sell footholds; stealer malware feeds credential pipelines — curriculum ties to detection engineering and identity threat detection.",
|
||
literacy:
|
||
"Focus on defender telemetry: EDR, IdP risky sign-ins, SaaS OAuth grants.",
|
||
subsections: [
|
||
{
|
||
name: "Access listings (fiction)",
|
||
blurb: "Screenshots of RDP, VPN, Citrix — reinforce MFA + vault rotation lessons.",
|
||
links: [
|
||
atlasSurface("IAB storefront fiction", "Placeholder."),
|
||
atlasSurface("VPN session resale fiction", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Stealer logs & infostealer panels (fiction)",
|
||
blurb: "MITRE techniques + Sigma rules beat bookmarking forums.",
|
||
links: [
|
||
atlasSurface("Stealer panel fiction A", "Placeholder."),
|
||
atlasSurface("Log taxonomy cheat-sheet fiction", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "beyond-hosting",
|
||
icon: "🖧",
|
||
title: "Bulletproof hosting & resilient infrastructure",
|
||
overview:
|
||
"Abuse teams track hosts that ignore takedowns; fast-flux DNS and bulletproof rhetoric appear in incident narratives.",
|
||
literacy:
|
||
"Contrast with legitimate bullet-resistant journalism hosting + pro-bono CDNs.",
|
||
subsections: [
|
||
{
|
||
name: "Hosting classifieds (fiction)",
|
||
blurb: "No legitimate lab needs this — discuss peering and netblock reputation instead.",
|
||
links: [
|
||
atlasSurface("Bulletproof reseller fiction", "Placeholder."),
|
||
atlasSurface("Fast-flux tutorial fiction (do not follow)", "Teach detection only."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "beyond-osint",
|
||
icon: "🔭",
|
||
title: "OSINT, counter-OSINT & mirror hunting",
|
||
overview:
|
||
"Analysts monitor scam duplicates, phishing clones, and typosquatted onions — aligns with your CyberLux mirror-verification storyline.",
|
||
literacy:
|
||
"Fingerprint HTML, TLS certs, and PGP clearsigned canaries.",
|
||
subsections: [
|
||
{
|
||
name: "Clone hunters & canary trackers (fiction)",
|
||
blurb: "Practice verifying signed messages before trusting links.",
|
||
links: [
|
||
atlasSurface("Mirror diff gossip board fiction", "Placeholder."),
|
||
atlasSurface("PGP watchlist fiction", "Placeholder."),
|
||
{
|
||
title: "CyberLux hub (verify signage)",
|
||
note: "Main storefront — compare sidebar claims to what ships in this build.",
|
||
href: "/",
|
||
},
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "beyond-scams",
|
||
icon: "⚠",
|
||
title: "Scams, “recovery” fraud & trust games",
|
||
overview:
|
||
"Underground economies are dense with escrow scams, hitman lures, and “crypto recovery” cold outreach — map the patterns.",
|
||
literacy:
|
||
"Red flags: urgency, private vanity proofs, impossible guarantees.",
|
||
subsections: [
|
||
{
|
||
name: "Recovery & refund scams",
|
||
blurb: "Victims pay twice — teach reporting to FTC/FBI IC3 equivalents.",
|
||
links: [
|
||
atlasSurface("Recovery service fiction A", "Placeholder."),
|
||
atlasSurface("Chargeback “expert” fiction", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Escrow & multisig theater",
|
||
blurb: "Compare multisig flows your sim shows vs real Bitcoin scripts.",
|
||
links: [
|
||
atlasSurface("Escrow theater storefront fiction", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: "beyond-nation-state",
|
||
icon: "🌐",
|
||
title: "Geopolitics, hacktivism & rumor ecosystems",
|
||
overview:
|
||
"Attribution is hard; many boards traffic speculation. Pair with formal CTI vendor reports and government advisories.",
|
||
literacy:
|
||
"Emphasize evidence tiers: actor aliases vs confirmed indictments.",
|
||
subsections: [
|
||
{
|
||
name: "Cyber‑conflict chatterboards (fiction)",
|
||
blurb: "Narratives skew nationalist — critical media literacy required.",
|
||
links: [
|
||
atlasSurface("Regional conflict thread fiction A", "Placeholder."),
|
||
atlasSurface("Regional conflict thread fiction B", "Placeholder."),
|
||
],
|
||
},
|
||
{
|
||
name: "Hacktivist ops channels (fiction)",
|
||
blurb: "Discuss proportionality, collateral damage, and international humanitarian law at overview level.",
|
||
links: [
|
||
atlasSurface("Ops coordination fiction", "Placeholder."),
|
||
],
|
||
},
|
||
],
|
||
},
|
||
];
|
||
|
||
export function atlasLinkMatchesQuery(link: AtlasLink, q: string): boolean {
|
||
if (!q.trim()) return true;
|
||
const s = q.toLowerCase();
|
||
return link.title.toLowerCase().includes(s) || link.note.toLowerCase().includes(s);
|
||
}
|
||
|
||
export function atlasCategoryMatchesQuery(cat: AtlasCategory, q: string): boolean {
|
||
if (!q.trim()) return true;
|
||
const s = q.toLowerCase();
|
||
if (cat.title.toLowerCase().includes(s) || cat.overview.toLowerCase().includes(s)) return true;
|
||
return cat.subsections.some(
|
||
(sub) =>
|
||
sub.name.toLowerCase().includes(s) ||
|
||
sub.blurb.toLowerCase().includes(s) ||
|
||
sub.links.some((L) => atlasLinkMatchesQuery(L, q)),
|
||
);
|
||
}
|