1 /**
2 * Plain-language glossary for the browser encyclopedia. Each term is
3 * tagged with the axis (security / privacy) it belongs to so the
4 * encyclopedia can surface only the relevant entries per tab. Tapping
5 * a term opens its definition in a popover.
6 *
7 * Definitions are intentionally jargon-light — one or two sentences a
8 * non-specialist can follow.
9 */
10 export type GlossaryAxis = 'security' | 'privacy';
11 12 export type GlossaryEntry = {
13 term: string;
14 def: string;
15 axis: GlossaryAxis;
16 };
17 18 export const GLOSSARY: GlossaryEntry[] = [
19 // ─── Security ──────────────────────────────────────────────────────
20 {
21 term: 'Sandbox',
22 axis: 'security',
23 def: 'Each website runs in its own locked-down process, so a compromised page can’t read other sites’ data or reach the rest of your device.',
24 },
25 {
26 term: 'Site isolation',
27 axis: 'security',
28 def: 'Renders every site in a separate process — the backbone of Chromium’s sandbox. Stops one site from spying on another via shared memory.',
29 },
30 {
31 term: 'Mitigations',
32 axis: 'security',
33 def: 'Memory-safety defenses (CFI, MTE, hardened_malloc, stack canaries, zero-init) that make a bug far harder to turn into a working exploit.',
34 },
35 {
36 term: 'MTE',
37 axis: 'security',
38 def: 'Memory Tagging Extension — an ARM hardware feature (Tensor, Snapdragon 8 Gen 3+) that catches use-after-free and overflow bugs the moment they happen.',
39 },
40 {
41 term: 'CFI',
42 axis: 'security',
43 def: 'Control-Flow Integrity — stops an attacker from redirecting the program’s execution to malicious code after corrupting memory.',
44 },
45 {
46 term: 'hardened_malloc',
47 axis: 'security',
48 def: 'GrapheneOS’s security-focused memory allocator. Detects heap corruption and makes classic heap exploits much less reliable.',
49 },
50 {
51 term: 'Open source',
52 axis: 'security',
53 def: 'The code is public and auditable, so security claims can be independently verified rather than taken on trust.',
54 },
55 {
56 term: 'Updates',
57 axis: 'security',
58 def: 'How quickly security patches reach you after an upstream fix lands. Slower channels leave known holes open longer.',
59 },
60 {
61 term: 'Fork lag',
62 axis: 'security',
63 def: 'How far behind its parent project (e.g. Chromium) a fork runs. A bigger lag means publicly-known vulnerabilities stay unpatched for longer.',
64 },
65 {
66 term: 'JIT',
67 axis: 'security',
68 def: 'Just-In-Time compiler — speeds up JavaScript by compiling it on the fly. Turning it off removes a large class of exploit primitives at some performance cost.',
69 },
70 71 // ─── Privacy ───────────────────────────────────────────────────────
72 {
73 term: 'Baseline',
74 axis: 'privacy',
75 def: 'The browser’s intrinsic privacy posture before you tune anything — its defaults for trackers, cookies, and fingerprint resistance.',
76 },
77 {
78 term: 'privacytests.org',
79 axis: 'privacy',
80 def: 'An independent test suite measuring how well a browser resists tracking and fingerprinting. We snapshot its Android results for the score.',
81 },
82 {
83 term: 'Fingerprinting',
84 axis: 'privacy',
85 def: 'Identifying you by your browser’s unique mix of traits — canvas, fonts, screen size, GPU — instead of cookies. Hard to clear because it needs no stored state.',
86 },
87 {
88 term: 'RFP',
89 axis: 'privacy',
90 def: 'Resist Fingerprinting — a Firefox/Tor mode that makes every browser look identical, denying trackers a unique signature (may break some sites).',
91 },
92 {
93 term: 'Third-party cookies',
94 axis: 'privacy',
95 def: 'Cookies set by domains other than the one in your address bar — the classic mechanism for tracking you across different sites.',
96 },
97 {
98 term: 'Tracker blocking',
99 axis: 'privacy',
100 def: 'Blocking known ad / analytics / tracker domains and scripts before they ever load, cutting off data collection at the source.',
101 },
102 {
103 term: 'Tracking parameters',
104 axis: 'privacy',
105 def: 'URL query bits (utm_*, fbclid, gclid…) that tag you across sites. Warden strips these before the link ever reaches the browser.',
106 },
107 {
108 term: 'Ephemeral',
109 axis: 'privacy',
110 def: 'A session that keeps nothing — history, cookies, and cache are all wiped the moment it closes.',
111 },
112 {
113 term: 'WebRTC',
114 axis: 'privacy',
115 def: 'A browser API for real-time audio/video. Its STUN lookups can reveal your real local + public IP even behind a VPN or proxy — so privacy-minded browsers mask or disable it. Tune it in the Privacy hardening tips.',
116 },
117 ];
118 119 export function glossaryFor(axis: GlossaryAxis): GlossaryEntry[] {
120 return GLOSSARY.filter((e) => e.axis === axis);
121 }
122