ZenovayはIPアドレスを個人データとして扱い、生のIPアドレスを保存しないように構築されています。この記事では、IPアドレスがサーバーに到達したときに何が起こるかを正確に説明します。
IPアドレスの処理方法
トラッキングリクエストが到着すると、訪問者のIPアドレスは処理中に短時間使用されてから破棄されます。このフローのどの部分も設定可能ではありません。これはすべてのウェブサイトおよびすべてのプランに対するデフォルトのプライバシーファースト動作です。
- ジオロケーション: 国、地域、および(おおよその)都市を決定します。
- 訪問者ID: 日次で回転する取り消し不可能な識別子を生成します。
- ボット検出: 自動化されたおよび悪意のあるトラフィックをフィルタリングするのに役立ちます。
- 破棄: 生のIPアドレスがデータベースに書き込まれることはありません。
処理過程
受信リクエスト
↓
IPアドレス(例:203.0.113.50)
↓
┌─────────────────────────────┐
│ ジオロケーション検索 │
│ → 国:United States │
│ → 地域:California │
│ → 都市:San Francisco │
└─────────────────────────────┘
↓
┌─────────────────────────────┐
│ 訪問者ID生成 │
│ 日次ソルトSHA-256 │
│ → v_abc123def456 │
└─────────────────────────────┘
↓
IPアドレス破棄
(ハッシュとジオデータのみ保存)
生のIPアドレスが保存されない理由
Zenovayは生のIPアドレスを保存しません。データベースに何かが書き込まれる前に、IPアドレスは日次ソルトSHA-256ハッシュを通じて処理されます:
- ハッシュは取り消し不可能: 元のIPアドレスをハッシュから復元することはできません。
- ソルトは毎日変わるため、返却される訪問者は今日よりも明日別のハッシュを生成します。これは故意に単一のIPアドレスの長期的な日をまたいだトラッキングを防ぎます。
- 結果のハッシュと解決されたジオロケーションのみが保存されます。生のIPアドレスはリクエスト中のメモリにのみ存在します。
これはすべてのプランでの動作であり、これをオフにする設定はありません。
ジオロケーションの精度
ジオロケーションはリクエスト時点でIPアドレスから派生します。国から都市レベルに移動すると精度が低下します:
完全なIP(203.0.113.50):
└── 国:United States
└── 地域:California
└── 都市:San Francisco(おおよそ)
都市レベルの結果はベストエフォートであり、特にモバイルキャリア、企業ネットワーク、およびVPNトラフィックの場合は不正確である可能性があります。国レベルのデータが最も信頼できます。
サーバー側トラッキング
IPアドレスの転送
ブラウザではなく独自のバックエンドからイベントを送信する場合、元の訪問者IPアドレスを転送しない限り、ZenovayはサーバーのIPアドレスが見えます。標準のX-Forwarded-Forヘッダーとともに渡してジオロケーションが実際の訪問者を反映するようにします:
// Express.js例
app.post('/track', async (req, res) => {
const clientIP = req.headers['x-forwarded-for'] || req.socket.remoteAddress;
await fetch('https://api.zenovay.com/e/YOUR_TRACKING_CODE', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Forwarded-For': clientIP // ジオロケーション用に転送
},
body: JSON.stringify({
type: 'page_view',
url: 'https://yoursite.com/page'
})
});
res.sendStatus(204);
});
どのIPアドレスを転送しても、ブラウザリクエストと同様にハッシュされて破棄されます。Zenovayは送信する値を保存しません。
コンプライアンスに関する考慮事項
GDPR
IPアドレスはGDPRの下では個人データです。Zenovayの日次ソルトハッシング化と同じリクエスト破棄は、生のIPアドレスが保持されないように設計されています。独自のプライバシーポリシーでアナリティクス処理を文書化する必要があります。
CCPA
IPアドレスはCCPAの下では個人情報として数えられます。プライバシーポリシーでのアナリティクスの使用を開示します。Zenovayが生のIPアドレスを保存しないため、保持するデータは取り消し不可能なハッシュと大まかなロケーションに限定されます。
技術詳細
訪問者IDハッシュ
訪問者識別子は次のように構築されます:
Visitor_ID = SHA-256( Daily_Salt + ":" + IP_Address )
ここで、Daily_Saltは現在のカレンダー日付です(例:"2026-06-13")。
例:
SHA-256("2026-06-13:203.0.113.50") = "a3b8c9d4e5f6..."
プロパティ:
- 取り消し不可能: ハッシュからIPアドレスを取得することはできません。
- 1日以内で一貫: 同じ訪問者が同じ日に同じハッシュを生成します。
- 日次で回転: ソルトは日付なので、ハッシュは毎日変わり、永続的な識別子ではありません。
ジオロケーションソース
Zenovayはリクエスト時点でCloudflareのエッジジオロケーションを使用して国と概算位置を解決し、フォールバックとしてGeo-IP検索を使用します。精度は地域によって異なり、国レベルで最も信頼できます。
トラブルシューティング
地理的データがない
ジオロケーションが機能しない場合:
- サーバー側トラッキングを実行するときに訪問者IPアドレスが転送されていることを確認してください(プロキシまたはロードバランサーの背後)。
- スキップされるlocalhostまたは内部IPをテストしていないことを確認してください。
不正確なロケーション
ジオロケーションは次の理由により間違っている可能性があります:
- VPN使用
- モバイルキャリア
- 企業プロキシ
- Geo-IPデータベース遅延