私たちはあなたに関するデータを必要最小限に抑えます。このページでは、EvoMap を利用する際にお使いの端末に書き込まれる可能性のある Cookie、localStorage、sessionStorage の各項目について、その目的、保持期間、処理の法的根拠を説明します。各ページのフッターにある「Cookie の設定」リンクからいつでも選択を見直しできます。
1.必須#
サイトの動作に必要な項目です。Cookie バナーでの選択に関わらず書き込まれます。これを拒否するとログイン、セキュリティ、不正利用対策、第一者パフォーマンス分析が機能しなくなります。 このセクションにはエラー監視も含まれます。クラッシュや失敗のレポートは第三者の処理者である Sentry に送信され、通常のページ表示時間も一部サンプリングして送信されます。これもバナーの選択によって制御されるものではなく、下の表の Sentry という名前の行が送信内容を示しています。
| 名称 | 種類 | 目的 | 保持期間 | 法的根拠 |
|---|---|---|---|---|
| evomap_sid | Cookie | Login session token | 30 days (Max-Age in src/lib/cookie.js) | GDPR Art. 6(1)(b) — contract performance |
| evomap_user | localStorage | User profile cache (reduces /me request frequency) | Persistent (cleared on logout) | Art. 6(1)(b) |
| evomap_auth_ts | localStorage | 401 grace-period timestamp (prevents short-network-blip logout) | Persistent | Art. 6(1)(b) |
| evomap_chunk_reload | sessionStorage | Auto-recovery from post-deploy chunk-load errors | Session (cleared on tab close) | Art. 6(1)(f) — legitimate interest (deployment stability) |
| evomap_chunk_reload_reported | sessionStorage | Marks the reload above as already reported, so one post-deploy recovery produces one diagnostic event instead of one per document | Session (cleared on tab close) | Art. 6(1)(f) — legitimate interest (deployment stability) |
| sentryReplaySession | sessionStorage (Sentry SDK) | Session Replay id. The SDK keeps a rolling recording of roughly the last 60 seconds in your browser's memory and it stays there: nothing is uploaded unless a JavaScript error happens, and then that buffered minute is sent so we can see what led up to the crash. An ordinary visit that never errors uploads no replay at all. Throughout, the SDK's masking defaults are left on: every text node and every form input is replaced with a placeholder and all media is blocked, so what we receive is layout and interaction timing, not what you typed or read | Session (cleared on tab close) | Art. 6(1)(f) — legitimate interest (diagnosing crashes) |
| sentry_performance_trace | Third-party transmission to Sentry (sentry.io) — not browser storage | Separately from the error reporting below, a sample of ordinary page loads and in-app navigations (20% in production) is timed and sent to Sentry so we can see when the site gets slower. A trace carries the page URL, timings and the same anon_id / session_id, not page content — no replay is recorded and nothing you typed is included | Per the Sentry project's retention setting; deletable on request | Art. 6(1)(f) — legitimate interest (service performance) |
| sentry_error_event | Third-party transmission to Sentry (sentry.io) — not browser storage | When a page crashes, or a critical path fails for a reason on our side (login, page load, an API call our server could not complete), we send Sentry the error type and stack trace, the page URL, your browser and OS, the preceding interaction breadcrumbs, and the identifiers evomap_anon_id / evomap_session_id plus your account id when you are signed in — the same identifiers our own analytics uses, so one report can be matched to one session. A failure caused by your own input, such as a wrong password or a rate limit, does not create a report of its own; it can still appear as one line of context inside a later report, because we record every failure as a breadcrumb before deciding which ones to send. Sentry's privacy policy: https://sentry.io/privacy/ | Per the Sentry project's retention setting; deletable on request | Art. 6(1)(f) — legitimate interest (service reliability and security) |
| evomap_ai_chat_quota | localStorage | Anti-abuse rate limit for the AI chat surface | Persistent | Art. 6(1)(f) — anti-abuse |
| evomap_storage_warned | sessionStorage | Storage-error telemetry dedupe (≤ 1 warn per 24h per tab) | 24h cooldown; cleared on tab close | Art. 6(1)(f) |
| evomap_consent | localStorage | Your cookie-preference decision (so we don't re-ask every visit) | 90 days | GDPR Art. 7 — consent record |
| evomap_consent_expired | localStorage | Single-shot marker so we know to re-prompt after TTL expiry | Short-lived (cleared on next banner mount) | Art. 7 |
| evomap_exp_evox_beta | Cookie (HttpOnly) | Keeps you on one version of the EvoX download page across visits and languages while we compare two layouts — first-party, anonymous, never shared with third parties | 90 days | Art. 6(1)(f) — first-party content variant (D-7 Plan X, extended) |
| evomap_anon_id | localStorage | Anonymous identifier for site performance improvement. It is not shared with advertising or analytics third parties, and it is never sold; the one processor that receives it is our error monitor (see the sentry_error_event row), so that a crash report can be matched to the session it came from | Persistent | Art. 6(1)(f) — first-party analytics (ICO / AEPD position) |
| evomap_im_ref | Cookie | First-party Impact.com affiliate click id (`im_ref`) for last-click conversion attribution — never shared with third parties from the browser; forwarded only on our own auth/billing requests. When an attributed conversion completes, our server submits the click id together with conversion identifiers and amounts to Impact.com's conversion reporting API, to settle the partner's commission. | 90 days | Art. 6(1)(f) — first-party attribution (affiliate conversion) |
| evomap_session_id | sessionStorage | First-party session identifier — rotates every 30 min of inactivity | 30 minutes idle; cleared on tab close | Art. 6(1)(f) |
| evomap_session_ts | sessionStorage | Last-activity timestamp paired with evomap_session_id (drives idle rotation) | 30 minutes idle; cleared on tab close | Art. 6(1)(f) |
| evomap_utm | sessionStorage | Marketing-campaign entry attribution — current session only | Session (cleared on tab close) | Art. 6(1)(f) |
| evomap_pending_credit_purchase | sessionStorage | Temporary checkout-return context for credit top-ups: selected credit amount, USD amount, and Hub order id. It never stores card numbers, payment tokens, or provider secrets. | Session; removed after the credit-purchase result return is processed | Art. 6(1)(f) — payment attribution and support diagnostics |
2.機能#
ユーザーが能動的に選択した設定(言語、テーマ、AI チャット履歴)を保存する項目です。
| 名称 | 種類 | 目的 | 保持期間 | 法的根拠 |
|---|---|---|---|---|
| evomap_locale | Cookie + localStorage | Your selected language | 1 year | Art. 6(1)(a) — user-initiated preference |
| evomap_theme | Cookie + localStorage | Your selected theme | 1 year | Art. 6(1)(a) |
| evomap_ai_chat | localStorage | AI chat history (local only — never uploaded) | Persistent | Art. 6(1)(b) — user-generated content |
| evomap_onboarding | localStorage | Onboarding-tour completion state | Persistent | Art. 6(1)(f) |
3.分析(第三者・オプトアウト可)#
Google Analytics 4 の Cookie。strict 地域では既定で拒否(EU/EEA/英国/スイス、EU 微小国、英王室属領、ブラジル、韓国、日本、トルコ、イスラエル、および国コード未解決の訪問者);それ以外は既定で許可しバナーは表示されません。strict 地域のユーザーは Cookie バナーから切替可能です;その他の地域のユーザーはフッターの「Cookie の設定」リンクからパネルを開けます。また、登録時に入力されたメールアドレスの不可逆ハッシュを当社の第一者データベースに保存し、コンバージョンファネル分析に使用します。このハッシュが Google に共有されることはありません。
| 名称 | 種類 | 目的 | 保持期間 | 法的根拠 |
|---|---|---|---|---|
| _ga | Cookie (Google SDK, written on our domain) | Google Analytics 4 visitor identifier | 2 years | Art. 6(1)(a) — explicit consent (banner) |
| _ga_<id> | Cookie (Google SDK, written on our domain) | Google Analytics 4 property-scoped session | 2 years | Art. 6(1)(a) |
| _gid | Cookie (Google SDK, written on our domain) | Google Analytics 4 short-term visitor distinguisher | 24h | Art. 6(1)(a) |
| analytics_event_client_ip | Server-side database field (evomap_behavior_events.properties.client_ip — plaintext IP address) | The visitor IP address our edge resolved for the request that reported the event, stored so abuse and traffic-quality investigations can identify the originating network. Recorded only when the ingress can vouch for the address; internal and gateway addresses are never stored. Not forwarded to Google. | Retained for the analytics table's retention window; deletable on request | Art. 6(1)(f) — legitimate interest (fraud prevention and service security) |
| analytics_event_geo_country | Server-side database field (evomap_behavior_events.geo_country — ISO alpha-2) | Country our edge resolved for the request that reported the event, used for traffic-quality and funnel analysis by region. | Retained for the analytics table's retention window; deletable on request | Art. 6(1)(f) — legitimate interest (product analytics) |
| analytics_event_email_hash | Server-side database field (evomap_behavior_events.properties.email_sha256 — irreversible SHA-256 hash) | Irreversible hash of the email entered at registration intent / completion (register_button_click, register_create_account_result) for conversion-funnel analysis. Stored only in our first-party database; the plaintext email is never persisted to analytics and never forwarded to Google. | Retained until account deletion; deletable on request | Art. 6(1)(f) — legitimate interest (product analytics) |
4.広告(第三者・オプトアウト可)#
Google Ads のコンバージョン計測 Cookie(Google Consent Mode v2 の 3 軸 ad_storage / ad_user_data / ad_personalization に分割され、個別に切替できます)と、Meta ピクセルの Cookie(_fbp / _fbc)。既定ポリシーは分析カテゴリと同じです。Meta は独立したデータ管理者であり Google Consent Mode の対象外のため、ad_storage 軸で独自のスイッチにより制御されます。「広告」をオフにすると Meta の同意も取り消されます。上記の Google Cookie とは異なり、_fbp と _fbc は本サイトでの行動を Meta プラットフォーム上の広告クリックとサイト横断で照合するためのものです。
| 名称 | 種類 | 目的 | 保持期間 | 法的根拠 |
|---|---|---|---|---|
| _gcl_aw | Cookie (Google Ads SDK) | Google Ads conversion attribution | 90 days | Art. 6(1)(a) |
| _gcl_au | Cookie (Google Ads SDK) | Google Ads conversion linking | 90 days | Art. 6(1)(a) |
| _gcl_dc | Cookie (Google Ads SDK) | Google Ads display network | 90 days | Art. 6(1)(a) |
| _fbp | Cookie (Meta Pixel) | Meta ads conversion attribution — browser identifier | 90 days | Art. 6(1)(a) |
| _fbc | Cookie (Meta Pixel) | Meta ads click attribution — set when arriving via an ad click | 90 days | Art. 6(1)(a) |
5.サードパーティ アカウント連携(Google Drive、Gmail)#
EvoX コンソールから Google Drive または Gmail のアカウントを EvoMap アカウントに連携すると、Google の OAuth 同意画面に記載された権限を申請します。同意画面で各権限を確認し、許可するかどうかを決められます。連携は「接続」をクリックしたときにのみ行われ、いつでも解除できます。
- アクセスするデータ:Google Drive — ファイルのメタデータ・内容・権限(読み取り専用、drive.readonly)、および本アプリ自身が作成または開いたファイル(drive.file)。この権限により、お客様の指示があった場合に EvoX が Drive 内でファイルを作成・コピーすることもできます。Gmail — スレッド、メッセージ本文、ラベル、下書きへの読み取り専用アクセス(gmail.readonly)。EvoX がメールを送信・変更・削除することはできません。また、お客様の Google アカウントのメールアドレス(openid、email)を取得しますが、これは連携を識別し、複数の連携アカウントを区別できるようにする目的にのみ使用します。これらのデータは EvoX で該当タスクを開始したときにのみ必要に応じて読み取られ、そのタスクの完了のみに使用されます。Drive の内容を変更する操作には、その都度お客様の個別の確認が必要です。
- 保存場所:認可トークンは EvoMap のサーバーで暗号化して保管され、お使いのデバイスに書き込まれることも、ログに出力されることもありません。ファイルやメールの内容はリクエスト処理中にのみサーバーを経由し、サーバーには保持されません。サーバーが記録するのは各操作の監査ダイジェスト(ハッシュ)のみで、内容そのものではありません。連携レコード自体には、お客様のアカウントのメール表示名、許可された権限、および最終使用日時が保存されます。ツールが返した内容は会話履歴に表示され、その履歴はお使いの端末内の EvoX アプリに保存されます。
- 保持期間:アクセス トークンとリフレッシュ トークンは連携を解除するまで保持され、すべての端末で再認可が不要になります。解除すると、いずれも直ちに当社のシステムから消去されます。
- 取り消し方法:EvoX コンソールの「プラグイン」ページでいつでも「切断」をクリックしてください。当社はまず保持しているトークンを消去し、その後 Google に認可の取り消しを要求します。Google が拒否した場合は、完了していない切断を完了として表示するのではなく、その旨をお知らせします。Google アカウントの「サードパーティによるアクセス」ページから直接取り消すこともできます。切断後、当社は利用可能なアクセス トークンもリフレッシュ トークンも一切保持しません。
- 第三者への提供なし:Google API から取得したデータを第三者に販売・貸与・提供することはなく、広告にも使用しません。EvoMap による Google API から受け取った情報の利用および他のアプリへの転送は、限定的使用(Limited Use)の要件を含む Google API サービスのユーザーデータに関するポリシーに準拠します。
6.あなたの権利#
GDPR の下、同意の撤回、データ写しの請求、削除請求、監督機関への苦情申立てがいつでも可能です。各種データ請求は [email protected] 宛にご連絡ください。
7.お問い合わせ#
運営主体: EVOMAP PTE. LTD.。一般のお問い合わせとデータ請求: [email protected]。