PageSourceSearch

https://whaler-ai.com/privacy

html whaler-ai.com collected 2026-10-02 01:48:25 UTC 23,252 bytes, 123 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/assets/index-D0DRH2IH.css" data-rsc-css-href="/assets/index-D0DRH2IH.css" data-precedence="vite-rsc/importer-resources"/><link rel="modulepreload" href="/assets/layout-segment-context-C74e8Ect.js" crossorigin=""/><link rel="modulepreload" href="/assets/rolldown-runtime-S-ySWqyJ.js" crossorigin=""/><link rel="modulepreload" href="/assets/index-CWMiY0BN.js" crossorigin=""/><link rel="modulepreload" href="/assets/framework-CXnKph_e.js" crossorigin=""/><link rel="modulepreload" href="/assets/Icon-C6gSHICf.js" crossorigin=""/><title>Privacy — Whaler</title><meta name="description" content="How Whaler handles resume, job-posting, and extension data."/><meta property="og:title" content="Whaler — Job search, in focus"/><meta property="og:description" content="See your fit, track each application, and keep your job search organized."/><meta property="og:type" content="website"/><meta property="og:image" content="https://whaler-ai.com/og.png"/><meta property="og:image:width" content="1731"/><meta property="og:image:height" content="909"/><meta property="og:image:alt" content="Whaler networking dashboard with a warm introduction path"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Whaler — Job search, in focus"/><meta name="twitter:description" content="See your fit, track each application, and keep your job search organized."/><meta name="twitter:image" content="https://whaler-ai.com/og.png"/><link rel="shortcut icon" href="https://whaler-ai.com/favicon.png"/><link rel="icon" href="https://whaler-ai.com/favicon.png"/>
1<script>self.__VINEXT_RSC_PARAMS__={}</script>
1<script>self.__VINEXT_RSC_NAV__={"pathname":"/privacy","searchParams":[]}</script>
1<link rel="modulepreload" href="/assets/index-CWMiY0BN.js" />
2<link rel="preload" href="/assets/_vinext_fonts/geist-8ac0455e797f/geist-ff2310f5.woff2" as="font" type="font/woff2" crossorigin />
3<link rel="preload" href="/assets/_vinext_fonts/geist-8ac0455e797f/geist-875ccdd4.woff2" as="font" type="font/woff2" crossorigin />
4<link rel="preload" href="/assets/_vinext_fonts/geist-8ac0455e797f/geist-52306abf.woff2" as="font" type="font/woff2" crossorigin />
5<link rel="preload" href="/assets/_vinext_fonts/geist-8ac0455e797f/geist-001175b1.woff2" as="font" type="font/woff2" crossorigin />
6<link rel="preload" href="/assets/_vinext_fonts/geist-8ac0455e797f/geist-98bbbccb.woff2" as="font" type="font/woff2" crossorigin />
7<link rel="preload" href="/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-f6b33328.woff2" as="font" type="font/woff2" crossorigin />
8<link rel="preload" href="/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-44e03052.woff2" as="font" type="font/woff2" crossorigin />
9<link rel="preload" href="/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-0638449e.woff2" as="font" type="font/woff2" crossorigin />
10<link rel="preload" href="/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-971fb274.woff2" as="font" type="font/woff2" crossorigin />
11<link rel="preload" href="/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-44745446.woff2" as="font" type="font/woff2" crossorigin />
12<link rel="preload" href="/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-013b2f2f.woff2" as="font" type="font/woff2" crossorigin />
13<style data-vinext-fonts>/* cyrillic-ext */
14@font-face {
15  font-family: 'Geist';
16  font-style: normal;
17  font-weight: 100 900;
18  font-display: swap;
19  src: url(/assets/_vinext_fonts/geist-8ac0455e797f/geist-ff2310f5.woff2) format('woff2');
20  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
21}
22/* cyrillic */
23@font-face {
24  font-family: 'Geist';
25  font-style: normal;
26  font-weight: 100 900;
27  font-display: swap;
28  src: url(/assets/_vinext_fonts/geist-8ac0455e797f/geist-875ccdd4.woff2) format('woff2');
29  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
30}
31/* vietnamese */
32@font-face {
33  font-family: 'Geist';
34  font-style: normal;
35  font-weight: 100 900;
36  font-display: swap;
37  src: url(/assets/_vinext_fonts/geist-8ac0455e797f/geist-52306abf.woff2) format('woff2');
38  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
39}
40/* latin-ext */
41@font-face {
42  font-family: 'Geist';
43  font-style: normal;
44  font-weight: 100 900;
45  font-display: swap;
46  src: url(/assets/_vinext_fonts/geist-8ac0455e797f/geist-001175b1.woff2) format('woff2');
47  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
48}
49/* latin */
50@font-face {
51  font-family: 'Geist';
52  font-style: normal;
53  font-weight: 100 900;
54  font-display: swap;
55  src: url(/assets/_vinext_fonts/geist-8ac0455e797f/geist-98bbbccb.woff2) format('woff2');
56  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
57}
58
59.__font_geist_0tvmz3h { font-family: 'Geist', sans-serif; }
60
61.__variable_geist_0tvmz3h { --font-geist-sans: 'Geist', sans-serif; }
62
63/* cyrillic-ext */
64@font-face {
65  font-family: 'Geist Mono';
66  font-style: normal;
67  font-weight: 100 900;
68  font-display: swap;
69  src: url(/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-f6b33328.woff2) format('woff2');
70  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
71}
72/* cyrillic */
73@font-face {
74  font-family: 'Geist Mono';
75  font-style: normal;
76  font-weight: 100 900;
77  font-display: swap;
78  src: url(/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-44e03052.woff2) format('woff2');
79  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
80}
81/* symbols2 */
82@font-face {
83  font-family: 'Geist Mono';
84  font-style: normal;
85  font-weight: 100 900;
86  font-display: swap;
87  src: url(/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-0638449e.woff2) format('woff2');
88  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
89}
90/* vietnamese */
91@font-face {
92  font-family: 'Geist Mono';
93  font-style: normal;
94  font-weight: 100 900;
95  font-display: swap;
96  src: url(/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-971fb274.woff2) format('woff2');
97  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
98}
99/* latin-ext */
100@font-face {
101  font-family: 'Geist Mono';
102  font-style: normal;
103  font-weight: 100 900;
104  font-display: swap;
105  src: url(/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-44745446.woff2) format('woff2');
106  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
106BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
107}
108/* latin */
109@font-face {
110  font-family: 'Geist Mono';
111  font-style: normal;
112  font-weight: 100 900;
113  font-display: swap;
114  src: url(/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-013b2f2f.woff2) format('woff2');
115  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
116}
117
118.__font_geist_mono_1diim1n { font-family: 'Geist Mono', sans-serif; }
119
120.__variable_geist_mono_1diim1n { --font-geist-mono: 'Geist Mono', sans-serif; }
121</style>
122</head><body class="__variable_geist_0tvmz3h __variable_geist_mono_1diim1n"><div class="marketing-shell legal-shell"><header class="marketing-nav"><a class="marketing-brand" href="/" aria-label="Whaler home"><span><span class="brand-logo" style="background-image:url(&quot;/brand/whale-logo.png&quot;)" aria-hidden="true"></span></span><strong>Whaler</strong></a><a class="extension-back-link" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left" aria-hidden="true"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Back to product</a><form action="/signin" method="get"><button class="marketing-sign-in" type="submit">Sign in</button></form></header><main class="legal-page"><header><p>Whaler policies</p><h1>Privacy, in plain language.</h1><span>Effective August 13, 2026</span></header><section><h2>What Whaler processes</h2><p>Whaler processes the resume or profile information you provide and the visible text and URL of job postings detected while the extension is enabled or that you explicitly retry. If you start a single-job warm-connection search or an all-jobs batch, Whaler also processes visible result-card text and LinkedIn-hosted profile-photo URLs for you, the named mutual connection, and the target employee from each LinkedIn people search to identify and show the people in a saved path. If you authorize employer verification, Whaler processes visible current-employer and role text from no more than six deduplicated direct-connection profiles whose employer is missing per job. Account and private extension-connection identifiers are processed to keep your workspace and browser connected.</p></section><section><h2>How the extension works</h2><p>The extension reads visible job-posting content on the supported sites listed in its Chrome manifest, then sends that content to your connected Whaler workspace for fit analysis. Connection research runs only after you approve the displayed permission for one saved job or one all-jobs batch. Jobs in a batch are processed sequentially. For each job, Whaler opens an inactive LinkedIn people-search tab, reads up to three screens of visible second-degree result cards, and then visits only the deduplicated direct-connection profiles whose employer is missing, up to six. It stops the active search or batch on a sign-in prompt, checkpoint, CAPTCHA, rate limit, or account warning, and closes the temporary tab automatically. It cannot connect, follow, message, invite, post, apply, like, or change account settings. Your private server connection key is never inserted into a third-party page.</p></section><section><h2>Storage and retention</h2><p>Resume files uploaded to the Whaler workspace are processed transiently and are not retained there as document blobs. The structured fit profile, saved jobs, warm-connection paths, and optional LinkedIn-hosted photo URLs for the people in those paths remain in your workspace until you update or delete them. Saved paths may appear on another job at the same company so you can reuse an earlier network discovery. Verified direct-connection employers are cached by LinkedIn profile URL for 90 days and applied to every related saved path. Whaler stores each photo URL, not a copy of the image, and falls back to a label or initials if LinkedIn no longer serves it. Temporary LinkedIn result-card and profile text is used for the active search and is not stored in the Whaler database. The connection URL and token and recent analysis data remain in Chrome extension storage until you disconnect or clear them. Updating to the current extension also removes application details saved by older extension ver
122sions.</p></section><section><h2>AI processing and service providers</h2><p>When live AI analysis is enabled, Whaler sends the relevant profile signals and job description to its configured AI provider to calculate fit and explain the result. For a user-started warm-connection search, it sends the bounded visible result-card text so the model can verify the company, target, and explicitly named mutual connection. When you authorize employer verification, it also sends the bounded visible profile text for the approved direct connections so the model can verify their current employers. Requests are not used for model training by Whaler. Hosting, database, authentication, and AI infrastructure providers process data only to operate the service.</p></section><section><h2>No sale or advertising use</h2><p>Whaler does not sell your resume, job-search activity, or profile data. It does not use that information for third-party advertising.</p></section><section><h2>Your controls</h2><p>Connection research requires a new authorization for every single-job search or all-jobs batch; choosing “Not now” leaves the existing maps unchanged. You can also disconnect the extension and immediately revoke its private key, replace your fit profile, delete saved opportunities, or sign out of the workspace. For privacy or deletion requests, use the support channel linked from the Whaler Chrome Web Store listing.</p></section></main></div>
122<script id="_R_">import("/assets/index-CWMiY0BN.js")</script>
122<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"45ed4161bda4424eb45db47ec482ef50","r":1,"spa":2}' crossorigin="anonymous"></script>
122
123</body></html>
123<script>self.__VINEXT_RSC_CHUNKS__=self.__VINEXT_RSC_CHUNKS__||[];self.__VINEXT_RSC_CHUNKS__.push("2:I[\"02563ba849cc\",[],\"Children\",1]\n3:I[\"bcac2915e422\",[],\"LayoutSegmentProvider\",1]\n4:I[\"02563ba849cc\",[],\"Slot\",1]\n5:I[\"4da43333b088\",[],\"RedirectBoundary\",1]\n:HL[\"/assets/index-D0DRH2IH.css\",\"style\"]\n")</script>
123<script>self.__VINEXT_RSC_CHUNKS__=self.__VINEXT_RSC_CHUNKS__||[];self.__VINEXT_RSC_CHUNKS__.push("0:{\"__route\":\"route:/privacy\",\"__interceptionContext\":null,\"__layoutIds\":[\"layout:/\"],\"__rootLayout\":\"/\",\"page:/privacy\":\"$L1\",\"layout:/\":[[[[\"$\",\"link\",\"css:/assets/index-D0DRH2IH.css\",{\"rel\":\"stylesheet\",\"precedence\":\"vite-rsc/importer-resources\",\"href\":\"/assets/index-D0DRH2IH.css\",\"data-rsc-css-href\":\"/assets/index-D0DRH2IH.css\"}],\"$undefined\"],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_geist_0tvmz3h __variable_geist_mono_1diim1n\",\"children\":[\"$\",\"$L2\",null,{}]}]}]],null],\"route:/privacy\":[[[\"$\",\"meta\",null,{\"charSet\":\"utf-8\"}],[[\"$\",\"title\",\"0\",{\"children\":\"Privacy — Whaler\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"How Whaler handles resume, job-posting, and extension data.\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"Whaler — Job search, in focus\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"See your fit, track each application, and keep your job search organized.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image\",\"content\":\"https://whaler-ai.com/og.png\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:image:width\",\"content\":\"1731\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image:height\",\"content\":\"909\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:alt\",\"content\":\"Whaler networking dashboard with a warm introduction path\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:title\",\"content\":\"Whaler — Job search, in focus\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:description\",\"content\":\"See your fit, track each application, and keep your job search organized.\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:image\",\"content\":\"https://whaler-ai.com/og.png\"}],[\"$\",\"link\",\"13\",{\"rel\":\"shortcut icon\",\"href\":\"https://whaler-ai.com/favicon.png\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"https://whaler-ai.com/favicon.png\"}]],[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]],[\"$\",\"$L3\",null,{\"segmentMap\":{\"children\":[\"privacy\"]},\"children\":[\"$\",\"$L4\",null,{\"id\":\"layout:/\",\"parallelSlots\":\"$undefined\",\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L3\",null,{\"segmentMap\":{\"children\":[]},\"children\":[\"$\",\"$L4\",null,{\"id\":\"page:/privacy\"}]}]}]}]}]],\"__layoutFlags\":{\"layout:/\":\"s\"},\"__artifactCompatibility\":{\"schemaVersion\":1,\"graphVersion\":\"app-route-graph:1kblxa015i4zyw\",\"deploymentVersion\":\"0258cf53-347e-4ba4-b805-c9174589f6f1\",\"appElementsSchemaVersion\":1,\"rscPayloadSchemaVersion\":1,\"rootBoundaryId\":\"/\",\"renderEpoch\":null}}\n6:I[\"066132fd2803\",[],\"default\",1]\n")</script>
123<script>self.__VINEXT_RSC_CHUNKS__=self.__VINEXT_RSC_CHUNKS__||[];self.__VINEXT_RSC_CHUNKS__.push("1:[\"$\",\"div\",null,{\"className\":\"marketing-shell legal-shell\",\"children\":[[\"$\",\"header\",null,{\"className\":\"marketing-nav\",\"children\":[[\"$\",\"a\",null,{\"className\":\"marketing-brand\",\"href\":\"/\",\"aria-label\":\"Whaler home\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"brand-logo\",\"style\":{\"backgroundImage\":\"url(\\\"/brand/whale-logo.png\\\")\"},\"aria-hidden\":\"true\"}]}],[\"$\",\"strong\",null,{\"children\":\"Whaler\"}]]}],[\"$\",\"a\",null,{\"className\":\"extension-back-link\",\"href\":\"/\",\"children\":[[\"$\",\"$L6\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m12 19-7-7 7-7\",\"key\":\"1l729n\"}],[\"path\",{\"d\":\"M19 12H5\",\"key\":\"x3x0zl\"}]],\"className\":\"lucide-arrow-left\",\"size\":14}],\"Back to product\"]}],[\"$\",\"form\",null,{\"action\":\"/signin\",\"method\":\"get\",\"children\":[\"$\",\"button\",null,{\"className\":\"marketing-sign-in\",\"type\":\"submit\",\"children\":\"Sign in\"}]}]]}],[\"$\",\"main\",null,{\"className\":\"legal-page\",\"children\":[[\"$\",\"header\",null,{\"children\":[[\"$\",\"p\",null,{\"children\":\"Whaler policies\"}],[\"$\",\"h1\",null,{\"children\":\"Privacy, in plain language.\"}],[\"$\",\"span\",null,{\"children\":\"Effective August 13, 2026\"}]]}],[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"children\":\"What Whaler processes\"}],[\"$\",\"p\",null,{\"children\":\"Whaler processes the resume or profile information you provide and the visible text and URL of job postings detected while the extension is enabled or that you explicitly retry. If you start a single-job warm-connection search or an all-jobs batch, Whaler also processes visible result-card text and LinkedIn-hosted profile-photo URLs for you, the named mutual connection, and the target employee from each LinkedIn people search to identify and show the people in a saved path. If you authorize employer verification, Whaler processes visible current-employer and role text from no more than six deduplicated direct-connection profiles whose employer is missing per job. Account and private extension-connection identifiers are processed to keep your workspace and browser connected.\"}]]}],[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"children\":\"How the extension works\"}],[\"$\",\"p\",null,{\"children\":\"The extension reads visible job-posting content on the supported sites listed in its Chrome manifest, then sends that content to your connected Whaler workspace for fit analysis. Connection research runs only after you approve the displayed permission for one saved job or one all-jobs batch. Jobs in a batch are processed sequentially. For each job, Whaler opens an inactive LinkedIn people-search tab, reads up to three screens of visible second-degree result cards, and then visits only the deduplicated direct-connection profiles whose employer is missing, up to six. It stops the active search or batch on a sign-in prompt, checkpoint, CAPTCHA, rate limit, or account warning, and closes the temporary tab automatically. It cannot connect, follow, message, invite, post, apply, like, or change account settings. Your private server connection key is never inserted into a third-party page.\"}]]}],[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"children\":\"Storage and retention\"}],[\"$\",\"p\",null,{\"children\":\"Resume files uploaded to the Whaler workspace are processed transiently and are not retained there as document blobs. The structured fit profile, saved jobs, warm-connection paths, and optional LinkedIn-hosted photo URLs for the people in those paths remain in your workspace until you update or delete them. Saved paths may appear on another job at the same company so you can reuse an earlier network discovery. Verified direct-connection employers are cached by LinkedIn profile URL for 90 days and applied to every related saved path. Whaler stores each photo URL, not a copy of the image, and falls back to a label or initials if LinkedIn no longer serves it. Temporary LinkedIn result-card and profile text is used for the active search and is not stored in the Whaler database. The connection URL and token and recent analysis data remain in Chrome extension storage until you disconnect or clear them. Updating to the current extension also removes application details saved by older extension ver
123sions.\"}]]}],\"$L7\",\"$L8\",\"$L9\"]}]]}]\n7:[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"children\":\"AI processing and service providers\"}],[\"$\",\"p\",null,{\"children\":\"When live AI analysis is enabled, Whaler sends the relevant profile signals and job description to its configured AI provider to calculate fit and explain the result. For a user-started warm-connection search, it sends the bounded visible result-card text so the model can verify the company, target, and explicitly named mutual connection. When you authorize employer verification, it also sends the bounded visible profile text for the approved direct connections so the model can verify their current employers. Requests are not used for model training by Whaler. Hosting, database, authentication, and AI infrastructure providers process data only to operate the service.\"}]]}]\n8:[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"children\":\"No sale or advertising use\"}],[\"$\",\"p\",null,{\"children\":\"Whaler does not sell your resume, job-search activity, or profile data. It does not use that information for third-party advertising.\"}]]}]\n")</script>
123<script>self.__VINEXT_RSC_CHUNKS__=self.__VINEXT_RSC_CHUNKS__||[];self.__VINEXT_RSC_CHUNKS__.push("9:[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"children\":\"Your controls\"}],[\"$\",\"p\",null,{\"children\":\"Connection research requires a new authorization for every single-job search or all-jobs batch; choosing “Not now” leaves the existing maps unchanged. You can also disconnect the extension and immediately revoke its private key, replace your fit profile, delete saved opportunities, or sign out of the workspace. For privacy or deletion requests, use the support channel linked from the Whaler Chrome Web Store listing.\"}]]}]\n")</script>
123<script>self.__VINEXT_RSC_DONE__=true</script>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.