Opening soon
Cookie Policy
Last Updated: October 21, 2026
MapJob (“MapJob,” “we,” “our,” or “us”) uses cookies and similar technologies on our website at mapjob.io. This Cookie Policy explains what cookies are, how we use them, the types of cookies we use, and how you can manage your cookie preferences.
Strictly necessary cookies are set whenever you use MapJob, as are the functional items described in section 3.2, which your browser stores on your device to remember settings you chose yourself. Analytics and marketing cookies are set only if you opt in through our cookie banner. You can change your preferences at any time from our Cookie Preferences page.
1. What Are Cookies
Cookies are small text files that are stored on your device (computer, tablet, or mobile phone) when you visit a website. They are widely used to make websites work more efficiently, provide a better user experience, and supply information to the site owners.
Cookies can be “first-party” (set by the website you are visiting) or “third-party” (set by a service used by the website). Cookies can also be “session cookies” (deleted when you close your browser) or “persistent cookies” (stored until they expire or you delete them).
2. How MapJob Uses Cookies
We use cookies and similar technologies for the following purposes:
- Keeping you signed in and maintaining your session securely.
- Protecting against cross-site request forgery (CSRF) attacks.
- Remembering your cookie consent preferences.
- Storing your language, locale, and display preferences.
- Remembering your map view settings (zoom level, center position).
- Understanding how visitors use our platform so we can improve it.
- Processing payments securely through our payment provider.
- Protecting the platform from bots and automated abuse.
3. Cookie Categories
We organize the cookies used on MapJob into the following categories. Strictly necessary cookies cannot be disabled because the platform cannot function without them. The functional items in section 3.2 do not have a separate opt-in; persistent preferences can stay on your device until you clear your browser data. Section 3.5 lists the purposes and lifetimes of browser storage, including account caches and functional state as well as preferences. Analytics and marketing cookies are optional and only active when you opt in.
3.1 Strictly Necessary Cookies
These cookies are essential for MapJob to operate. They enable core functionality such as authentication, security, and cookie consent management. Because they are required for the platform to work, they do not require your consent and cannot be disabled.
| Cookie | Purpose | Duration |
|---|---|---|
| next-auth.session-token | Keeps you signed in and maintains your authenticated session. | Session / 30 days |
| next-auth.csrf-token | Protects against cross-site request forgery attacks. | Session |
| next-auth.callback-url | Stores the redirect URL during the authentication flow. | Session |
| mj_consent | Remembers your cookie consent preferences so we do not ask you repeatedly. | 6 months |
| next-auth.state / next-auth.pkce.code_verifier | Short-lived cookies that secure the sign-in handshake when you sign in with Google. | About 15 minutes (during sign-in only) |
| account-delete-token | Confirms your identity during the account-deletion flow. Set only while a deletion request you started is in progress. | 30 minutes |
| mapjob-early-access | Pre-launch only: remembers that you entered a valid early-access invitation link so you can browse MapJob before public launch. This cookie is not set once MapJob is publicly available. | 30 days |
On our production site (mapjob.io), authentication cookies carry a __Secure- or __Host- security prefix — for example __Secure-next-auth.session-token. These are the same cookies listed above with a browser-enforced security marker added to the name.
3.2 Functional Cookies
Functional cookies remember choices you make and provide enhanced, personalized features. Disabling these cookies may result in some features not working as expected.
- Language and locale preferences: remember your preferred language and regional settings so content is displayed in the correct format.
- User settings: store your display preferences, notification settings, and other customizations.
- Map view preferences: remember your last map position, zoom level, and layer selections so the map loads where you left off.
- Recent searches (local storage): your most recent search terms are kept in your browser's local storage (a similar technology to cookies), so we can suggest them when you search again. The key and retention are listed below. This list lives only on your device and is not transmitted to our servers. You can remove individual terms, clear the list from the search suggestions, or clear your browser data.
3.3 Analytics and Performance Cookies
These cookies help us understand how visitors interact with MapJob so we can measure performance and improve the user experience. Analytics cookies are only activated if you opt in. Your analytics choice also controls whether first-party usage records we keep on our own servers (for example, searches you run on the platform) are linked to your account. If you do not opt in, those records are stored without any user identifier.
- Vercel Analytics: collects anonymized usage data including page views, navigation paths, referral sources, device type, browser type, and country-level geographic data. Vercel Analytics does not use cookies that track individuals across sites and does not collect IP addresses. Data is aggregated and used solely to understand platform usage patterns.
- Vercel Speed Insights: measures real-user performance metrics including page load times, Time to First Byte (TTFB), First Contentful Paint (FCP), Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP). This data helps us identify and fix performance bottlenecks. No personally identifiable information is collected.
- PostHog: product analytics (funnel, retention, feature usage) used to understand how the platform is being used so we can improve it. Only loaded after you opt in via the cookie banner or our Cookie Preferences page. Processes a pseudonymous user identifier, the events you trigger (page views, signups, applications), page URL, referrer, and basic device/browser metadata. We do not send your email address or resume content to PostHog (posthog.com/privacy).
3.4 Third-Party Cookies
Some features on MapJob rely on services provided by third parties. These services may set their own cookies, which are governed by the respective third party's privacy and cookie policies.
- Stripe (payment processing): when you make a payment on MapJob, Stripe may set cookies to process transactions securely, detect fraud, and comply with financial regulations. Stripe's cookies are strictly related to payment functionality. Learn more in Stripe's Privacy Policy.
- Cloudflare Turnstile (bot protection): we use Cloudflare Turnstile to protect forms and authentication flows from automated abuse. Turnstile may set cookies to distinguish legitimate users from bots. These cookies do not track you across websites. Learn more in Cloudflare's Privacy Policy.
- MapTiler (map tiles): our interactive job map is powered by MapTiler, which may set cookies or use local storage to cache map tiles and improve rendering performance. Learn more in MapTiler's Privacy Policy.
3.5 Browser Storage Inventory
Browser storage is a similar technology to cookies. Local storage survives closing your browser; session storage belongs to a tab and ends when that tab is closed. An asterisk (*) below represents a job, account or project-specific part of a key. Most entries have no automatic expiry: a de-duplication window limits use, not how long the bytes remain. Some keys are used only by signed-in seekers, employers or administrators.
me.role(local storage). Purpose: Caches the signed-in role for map and navigation controls. Lifetime: Until sign-out or browser-data clearing; refreshed when account details load.me.info(session storage). Purpose: Caches account details for navigation and application prefill. Lifetime: Until tab close or sign-out; refreshed when account details load. Old local-storage copies are removed on account load.me.name(local storage). Purpose: Caches the employer name for dashboard and upload forms. Lifetime: Until sign-out or browser-data clearing; refreshed when account details load.homeDistanceUnit(local storage). Purpose: Remembers miles or kilometres for map and profile distances. Lifetime: No automatic expiry; until changed or browser data is cleared.lastPlanet(local storage). Purpose: Remembers the selected map world. Lifetime: No automatic expiry; until changed or browser data is cleared.mj_recent_searches(local storage). Purpose: Keeps up to eight recent search terms on your device; the stored list is not transmitted to our servers. Lifetime: Until you remove searches, clear the list or clear browser data; no automatic expiry.aj_token_*(local storage). Purpose: Keeps a per-job token for seeker application-click de-duplication; * is the job ID. Analytics events require consent. Lifetime: No automatic expiry; until browser data is cleared.aj_clicked_*(local storage). Purpose: Marks a job whose seeker application-click event was attempted, to avoid repeated attempts. Lifetime: No automatic expiry; until browser data is cleared.__sid(local storage). Purpose: Supplies a pseudonymous identifier with consented first-party analytics events. Lifetime: No automatic expiry; persists across browser sessions until browser data is cleared.viewed_*(local storage). Purpose: De-duplicates consented listing-open analytics by job and UTC date. Lifetime: Until browser data is cleared; daily de-duplication does not delete old keys.history_view_*(local storage). Purpose: De-duplicates requests to save a job in seeker viewing history; * is the job ID. Lifetime: Until overwritten by a later view or browser data is cleared; the 15-second de-duplication window is not an expiry.nextauth.message(local storage). Purpose: Synchronizes sign-in and sign-out events between tabs without storing the session token. Lifetime: Until overwritten by the next session event or browser data is cleared; no automatic expiry.ph_*(local storage and session storage). Purpose: PostHog stores pseudonymous identity, analytics state and tab/session markers after analytics opt-in. Lifetime: Local entries have no automatic expiry and are removed on analytics withdrawal or browser-data clearing; identity resets at sign-out. Session entries end on tab close or SDK cleanup.__ph_opt_in_out_*(local storage). Purpose: Remembers the PostHog SDK capture opt-in or opt-out state; * identifies the project. Lifetime: Until changed or browser data is cleared; no automatic expiry.pref_time_zone_mode(local storage). Purpose: Remembers whether displayed times use the device zone or a manually selected zone. Lifetime: No automatic expiry; until changed or browser data is cleared.pref_time_zone_name(local storage). Purpose: Remembers the manually selected display time zone. Lifetime: Until changed, device-zone mode is selected or browser data is cleared; no automatic expiry.notifUnreadFirst(local storage). Purpose: Remembers whether seeker notifications show unread items first. Lifetime: Until sign-out, changed or browser data is cleared.notifSort(local storage). Purpose: Remembers the seeker notification sort order. Lifetime: Until sign-out, changed or browser data is cleared.hint_addJobs(local storage). Purpose: Remembers dismissal of the employer Add Jobs hint. Lifetime: Until sign-out or browser data is cleared.companyLevel(local storage). Purpose: Caches the employer verification level for settings. Lifetime: Until sign-out or browser data is cleared; overwritten when the level changes.bulkTemplateTourSkip(local storage). Purpose: Remembers whether the employer skipped the bulk-upload template guide. Lifetime: Until sign-out, changed or browser data is cleared.bulkTemplateFmt(local storage). Purpose: Remembers the employer bulk-upload template format. Lifetime: Until sign-out, changed or browser data is cleared.verification-banner-force(session storage). Purpose: Keeps the employer verification checklist open across navigation. Lifetime: Until the checklist is closed, sign-out or tab close.verification-l1-dismissed(session storage). Purpose: Remembers dismissal of the first employer verification checklist. Lifetime: Until sign-out or tab close.verification-fork-reminder-dismissed(session storage). Purpose: Remembers dismissal of the employer verification reminder. Lifetime: Until sign-out or tab close.map.mineDefaulted(session storage). Purpose: Prevents repeating the employer map default-filter selection in a tab. Lifetime: Until tab close or session data is cleared.map.seekerPreseedCleared(session storage). Purpose: Remembers that the seeker cleared profile-based map search suggestions. Lifetime: Until tab close or session data is cleared.mj_tz_reported(session storage). Purpose: Avoids repeatedly reporting the same signed-in account and device time zone to the account settings service. Lifetime: Until overwritten by a new account/zone marker, tab close or session-data clearing.seeker-security-panel:sections(local storage). Purpose: Remembers expanded sections of seeker security settings. Lifetime: No automatic expiry; until changed or browser data is cleared.employer-security-panel:sections(local storage). Purpose: Remembers expanded sections of employer security settings. Lifetime: No automatic expiry; until changed or browser data is cleared.seeker-security-panel:deleteConfirmed(session storage). Purpose: Keeps the seeker account-deletion email confirmation UI state across navigation; server authorization is checked separately. Lifetime: Until used or dismissed, tab close or session-data clearing.employer-security-panel:deleteConfirmed(session storage). Purpose: Keeps the employer account-deletion email confirmation UI state across navigation; server authorization is checked separately. Lifetime: Until used or dismissed, tab close or session-data clearing.mapjob:onboarding-draft:v2:*(local storage). Purpose: Keeps account-scoped seeker or employer onboarding edits, including name, address and work-authorization fields. Lifetime: Considered stale 7 days after the last draft save and removed on the next draft load; also removed on completion, sign-out or loading another account’s drafts.mapjob:onboarding-revoked(local storage). Purpose: Stores the last sign-out timestamp so other tabs stop writing onboarding drafts. Lifetime: Until overwritten at another sign-out or browser data is cleared; no automatic expiry.mj.extendOp.v1:*(session storage). Purpose: Keeps an account/job-scoped idempotency identifier so retries cannot duplicate a paid listing extension. Lifetime: Removed after a definitive result while the page is active; invalid after 24 hours and replaced on the next attempt. Otherwise retained until tab close or session-data clearing.adminSidebarOpenGroup(local storage). Purpose: Remembers the expanded administrator navigation group. Lifetime: Until collapsed, changed or browser data is cleared; no automatic expiry.admin_auth_funnel_range(local storage). Purpose: Remembers the administrator authentication-report date range. Lifetime: Until changed or browser data is cleared; no automatic expiry.admin_auth_funnel_alert_threshold_pct(local storage). Purpose: Remembers the administrator authentication-report alert threshold. Lifetime: Until changed or browser data is cleared; no automatic expiry.__ls_test__(local storage). Purpose: Checks whether browser storage is available before using recent searches. Lifetime: Created and removed immediately during the storage check.__mplssupport__(local storage). Purpose: Checks local-storage support when the consented PostHog SDK starts. Lifetime: Created and removed immediately during the SDK storage check.__support__(session storage). Purpose: Checks session-storage support when the consented PostHog SDK starts. Lifetime: Created and removed immediately during the SDK storage check.
Older versions may have left me.emailVerified, locallyClosedJobs or mapjob:seeker-onboarding-draft:v1 in local storage. These legacy account caches and onboarding drafts are no longer written; they are cleared at sign-out, and the old draft is also cleared on the next onboarding draft load. The security panel component also reserves the default keys settings-security:sections (local storage) and settings-security:deleteConfirmed (session storage) for the same settings UI purposes and lifetimes as the seeker and employer variants above.
4. How to Manage Cookies
You have several options for managing cookies:
- Cookie Preferences on MapJob: visit our Cookie Preferences page to change which optional cookie categories are active. You can switch between “required only” and “accept all” at any time.
- Browser settings: most browsers allow you to block or delete cookies through their settings. Instructions for the most common browsers are listed below.
Browser-Specific Instructions
- Google Chrome: go to Settings > Privacy and Security > Cookies and other site data. You can block third-party cookies, block all cookies, or clear cookies when you close Chrome.
- Mozilla Firefox: go to Settings > Privacy & Security > Cookies and Site Data. Firefox offers Standard, Strict, and Custom protection levels.
- Apple Safari: go to Preferences > Privacy. Safari blocks cross-site tracking by default. You can also choose to block all cookies.
- Microsoft Edge: go to Settings > Cookies and site permissions > Manage and delete cookies and site data. Edge allows you to block third-party cookies or all cookies.
Please note that blocking all cookies will prevent you from signing in and using many features of MapJob, because essential cookies (such as your session token) are required for the platform to function.
5. Do Not Track and Global Privacy Control
MapJob honors Do Not Track (DNT) and Global Privacy Control (GPC) signals sent by your browser. If either signal is enabled, we will not load analytics or performance cookies, and the analytics your browser would otherwise send us are refused at our servers and not stored at all, even if you have previously opted in to those categories. Search records created while either signal is set are stored without any account identifier. Records we create in order to run the service — for example that you applied to a particular job — are still recorded against your account, because they are part of carrying out the action you asked for rather than analytics. These signals take priority over your cookie consent selection.
6. Cookie Consent
When you first visit MapJob, you will see a cookie consent banner that allows you to accept all cookies or continue with only strictly necessary cookies. Your choice is saved in a first-party cookie (mj_consent) that persists for approximately six months.
You can change your preference at any time by visiting the Cookie Preferences page, accessible from the footer of every page.
7. Updates to This Policy
We may update this Cookie Policy from time to time to reflect changes in the cookies we use or for other operational, legal, or regulatory reasons. When we make material changes, we will update the “Last Updated” date at the top of this page. We encourage you to review this policy periodically.
If we make significant changes that affect your choices, we will notify you through a new cookie consent banner or a notice on the platform.
8. Contact Us
MapJob is operated by MapJob LLC, 82 Wendell Ave, Suite 100, Pittsfield, MA 01201, USA.
If you have questions about this Cookie Policy or how we use cookies, please contact us:
- Email: privacy@mapjob.io
- Cookie Preferences: Manage your preferences
- Privacy Policy: Read our full Privacy Policy