PrivyMap Privacy-First Analytics

PrivyMap

Privacy-First Analytics

Welcome to PrivyMap

Complete the initial setup

Dashboard Overview

Overview & quick stats
Page Views
0
Avg time/page: 0s
Clicks
0
Avg clicks/session: 0 · Avg clicks/page: 0
Unique Visitors (30d)
0
Total (sum of daily / non unique): 0
Returning: 0 (0%)
New: 0 (0%)
Avg. Scroll
0%
Min: 0% · Max: 0%
Sessions
0
Bounce: 0%
Pages / Session (unique): 0
Total Pages / Session: 0
Avg session time: 0s
Active (live): 0
Popular Pages (Top 10)
Views · Entry · Exit
Popular Flows (Top 10)
Path sequence · Sessions
Traffic Sources
Device Types
Server Log Analytics
Default: visualization. Manual load allows selecting rotated files and max lines.
Page Loads

0

page loads
Total Requests: 0
Avg / Page: 0
Avg Duration: 0s
Avg Stay: 0s
Total Active: 0s
Unique IPs

0

Real: 0 · Bots: 0
Errors

0

4xx: 0 · 5xx: 0
Requests over Time
Hourly traffic
Status Codes
Response distribution
Top Paths
Most requested pages
Devices
User agent breakdown
Error Summary
Grouped by file and line
File:Line Count Last Message Last Seen
Page Load Windows
Detected main-page GETs and follow-ups (≤5s)
Page Start Requests Duration (s) Stay
Access Logs (raw)
    Error Logs (raw)
      Analytics
      Analytics View
      Reports
      Cron (month default):
      
      											
      										
      Use range 7,30,90 and format csv|html: generate-report.php?range=7|30|90&format=csv|html&send=1&access_token=...
      Settings
      General
      Comma-separated list (e.g. example.com, .example.org). Use "*" to allow all domains.

      Database
      Deletes data older than the configured retention period immediately - requires CronJob to automatically clean up
      Choose a storage backend. When using MySQL/SQLite you can test the connection before saving.
      Full Path or simply filename. If no path/filename, it wil be stored in data/privymap.db

      Server Log Analytics
      Configure paths to server logs for analysis. These settings are global (not per domain).
      Absolute paths, readable by the web process. Leave empty to disable.
      Absolute paths, readable by the web process. Leave empty to disable.
      Comma-separated hostnames. Supports wildcards (*.example.com). If set, only matching domains are kept in the server log cache.
      How many lines to parse from access/error logs (0 = full file). Used on Load Logs

      Access Token & Cron Jobs
      The access token is stored in privymap.config. Use it to securely call automated cron jobs.
      Regenerating replaces the token immediately in the configuration – all existing cron jobs must then be updated.
      
      												
      											
      Copy the line into your crontab. Example: daily retrieval of server log analytics.
      
      												
      											
      Calls the cleanup endpoint using your access token.

      SMTP Settings
      Connection security. Use TLS on port 587 or SSL on port 465.
      Optional. Displayed as the sender name in emails. If left empty, backend uses SMTP User email as sender and “PrivyMap” as alias.
      Comma-separated list of email recipients for reports and notifications.
      Sends a test message using the current inputs (without saving). Uses SMTP directly with the above settings.

      About PrivyMap v1.0.0

      PrivyMap is a lightweight, privacy‑first analytics tool you can self‑host. It collects only essential signals (no cookies) and still provides clear KPIs, page‑level visualizations and simple reports.

      Overview
      • Page Views — total page loads in the selected date range.
      • Clicks — total user clicks.
      • Sessions — number of sessions started in the range.
      • Bounce Rate — percentage of sessions with exactly one pageview (single‑page visits).
      • Pages / Session (unique) — average distinct pages per session (based on distinct URL paths).
      • Total Pages / Session — average total pageviews per session (including repeats).
      • Avg. Time on Site — average session duration from first to last activity.
      • Avg. Time per Page — average page duration (from performance signals).
      • Traffic and device charts help identify referrer mix and device distribution.
      Sites
      • Manage your tracked domains and copy the tracking snippet.
      • When you add or edit a site, its domain is also added to the allowed‑domains list for event acceptance.
      Analytics
      • Heatmap — click density overlay on a page screenshot.
      • Scrollmap — average scroll depth (%) with min/max markers.
      • Attention — vertical bands indicating time spent; falls back to click signals if attention segments are absent.
      • Device filter (Desktop/Tablet/Mobile) and date selector apply to all three visualizations.
      • Upload or fetch screenshots per page/device to improve overlays.
      Reports
      • Export CSV or HTML for 7, 30 or 90 days. The export aggregates Overview, Analytics and (if present) Server‑Log analytics.
      • From the dashboard (admin session) you can download directly. With an access token you can call the API for automated usage and optionally send by email.
      • API endpoint: api/generate-report.php?site_id=...&range=7|30|90&format=csv|html — add &send=1&access_token=... to email the report.
      Server Log Analytics
      • Reads access/error logs (or a cached flat file) and aggregates requests over time, status codes, top paths, devices and error summaries.
      • Static assets and internal analytics routes are excluded to focus on actual page requests.
      • Manual loader allows ingesting rotated files (*.1, *.gz) and updates the cache for visualization.
      Settings
      • Database — choose JSON flat files (no external DB), SQLite or MySQL/MariaDB. If no DB is selected, PrivyMap uses data/json/ flat files by default.
      • Retention — keep data only for the configured number of days; run cleanup via cron.
      • SMTP — optional; used for sending reports via the report endpoint when send=1 is provided.
      • Access Token — used to authorize cron calls for server‑logs, cleanup and report generation.
      Cron Jobs
      • Monthly report (1st of month, 02:00):
        0 2 1 * * wget -qO- "https://your-domain/privymap/api/generate-report.php?range=30&format=html&send=1&access_token=YOUR_ACCESS_TOKEN" > /dev/null 2>&1
      • Daily server‑log snapshot (23:58):
        58 23 * * * wget -qO- "https://your-domain/privymap/api/server-logs.php?access_token=YOUR_ACCESS_TOKEN" > /dev/null 2>&1
      • Daily cleanup (03:00):
        0 3 * * * wget -qO- "https://your-domain/privymap/api/cleanup.php?access_token=YOUR_ACCESS_TOKEN" > /dev/null 2>&1

      PrivyMap focuses on privacy, simplicity and portability. When no database is configured, all data is stored in JSON files under data/json/, making backups and migrations straightforward.

      Manage Sites