1<!DOCTYPE html> 2<html lang="en"><head> 3 <meta charset="UTF-8"> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 5 <title>Google Analytics Alternative â Open-Source Web Analytics</title> 6 <meta name="description" content="A free, open-source Google Analytics alternative â hosted or self-hosted. Scores every visit for authenticity and flags invalid traffic and bots."> 7 <meta name="author" content="PVUV.ai"> 8 <meta name="theme-color" content="#46407d"> 9 <link rel="icon" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2211.56%2049.38%20619.94%20619.94%22%20role%3D%22img%22%20aria-label%3D%22pvuv.ai%22%3E%20%3Ctitle%3Epvuv.ai%3C%2Ftitle%3E%20%3Cstyle%3E.body%7Bfill%3A%2346407d%7D%40media%20(prefers-color-scheme%3Adark)%7B.body%7Bfill%3A%239b93d9%7D%7D%3C%2Fstyle%3E%20%3Cpath%20class%3D%22body%22%20d%3D%22M%20414.92%20382.11%20%20%20A%201.59%201.58%20-67.3%200%200%20415.54%20383.63%20%20%20Q%20430.74%20394.82%20443.54%20407.91%20%20%20Q%20460.74%20425.47%20466.30%20448.40%20%20%20C%20472.21%20472.78%20468.25%20499.23%20462.17%20523.97%20%20%20A%204.18%204.02%20-23.0%200%201%20461.64%20525.21%20%20%20Q%20459.13%20529.19%20454.95%20528.41%20%20%20Q%20452.99%20528.05%20449.48%20523.81%20%20%20Q%20422.47%20491.17%20387.27%20456.45%20%20%20C%20386.12%20455.31%20384.71%20454.36%20382.72%20454.33%20%20%20C%20378.98%20454.28%20372.68%20453.43%20367.76%20453.49%20%20%20Q%20349.34%20453.71%20345.54%20453.54%20%20%20Q%20342.86%20453.41%20341.84%20450.77%20%20%20A%201.63%201.60%20-55.7%200%201%20341.74%20450.21%20%20%20Q%20341.72%20413.90%20341.81%20339.57%20%20%20Q%20341.81%20336.66%20345.32%20336.70%20%20%20Q%20357.95%20336.82%20363.49%20336.72%20%20%20A%204.04%203.85%20-53.1%200%200%20364.63%20336.53%20%20%20Q%20370.03%20334.77%20369.27%20328.77%20%20%20A%202.96%202.88%2025.8%200%200%20368.81%20327.51%20%20%20C%20366.00%20323.34%20361.17%20317.82%20358.41%20314.20%20%20%20Q%20335.88%20284.57%20327.89%20274.17%20%20%20C%20321.98%20266.49%20317.22%20271.39%20312.79%20277.33%20%20%20Q%20298.29%20296.81%20278.06%20323.16%20%20%20C%20275.23%20326.85%20273.38%20328.80%20274.72%20333.02%20%20%20C%20275.67%20336.02%20278.88%20336.61%20281.93%20336.62%20%20%20Q%20296.72%20336.67%20298.49%20336.69%20%20%20C%20301.01%20336.71%20301.38%20338.04%20301.38%20340.37%20%20%20Q%20301.43%20377.51%20301.45%20448.33%20%20%20C%20301.45%20452.65%20299.41%20453.70%20295.39%20453.61%20%20%20Q%20293.53%20453.56%20278.21%20453.47%20%20%20C%20271.35%20453.42%20266.14%20454.07%20259.39%20454.57%20%20%20A%203.11%203.01%20-61.9%200%200%20257.99%20455.02%20%20%20Q%20256.51%20455.92%20255.07%20457.32%20%20%20Q%20250.38%20461.88%20230.59%20482.33%20%20%20Q%20211.80%20501.75%20201.10%20515.34%20%20%20C%20196.74%20520.88%20192.09%20527.82%20188.41%20528.39%20%20%20Q%20184.48%20528.99%20181.81%20525.62%20%20%20A%203.35%203.35%200.0%200%201%20181.17%20524.34%20%20%20C%20174.49%20498.13%20170.11%20468.95%20178.33%20443.03%20%20%20Q%20184.77%20422.71%20201.09%20406.28%20%20%20Q%20214.51%20392.77%20227.50%20383.27%20%20%20A%200.97%200.96%2067.9%200%200%20227.88%20382.36%20%20%20C%20223.79%20354.57%20222.38%20326.37%20224.67%20298.19%20%20%20Q%20230.08%20231.51%20267.68%20178.26%20%20%20C%20281.46%20158.76%20297.20%20141.42%20315.90%20126.65%20%20%20C%20319.72%20123.64%20323.46%20123.95%20327.52%20126.81%20%20%20Q%20331.94%20129.93%20337.38%20134.90%20%20%20Q%20362.92%20158.21%20381.21%20186.56%20%20%20Q%20414.86%20238.71%20418.74%20300.48%20%20%20Q%20421.36%20342.10%20414.92%20382.11%20%20%20Z%22%2F%3E%20%3Cpath%20fill%3D%22%23fe8913%22%20d%3D%22M%20321.60%20594.18%20%20%20Q%20318.54%20594.18%20315.59%20591.67%20%20%20C%20293.54%20572.90%20275.37%20546.18%20269.03%20517.45%20%20%20Q%20266.92%20507.85%20267.56%20499.29%20%20%20C%20268.00%20493.36%20269.67%20480.04%20274.87%20477.08%20%20%20Q%20276.24%20476.30%20280.47%20476.29%20%20%20Q%20301.23%20476.27%20321.60%20476.27%20%20%20Q%20341.97%20476.27%20362.73%20476.29%20%20%20Q%20366.96%20476.30%20368.33%20477.08%20%20%20C%20373.53%20480.04%20375.20%20493.3
96%20375.64%20499.29%20%20%20Q%20376.28%20507.85%20374.17%20517.45%20%20%20C%20367.83%20546.18%20349.66%20572.90%20327.61%20591.67%20%20%20Q%20324.66%20594.18%20321.60%20594.18%20%20%20Z%22%2F%3E%20%3C%2Fsvg%3E" type="image/svg+xml"> 10 <link rel="canonical" href="https://www.pvuv.ai/"> 11 12 <!-- Open Graph / social --> 13 <meta property="og:type" content="website"> 14 <meta property="og:site_name" content="PVUV.ai"> 15 <meta property="og:title" content="Google Analytics Alternative â Open-Source Web Analytics"> 16 <meta property="og:description" content="A free, open-source Google Analytics alternative â hosted or self-hosted. Scores every visit for authenticity and flags invalid traffic and bots."> 17 <meta property="og:url" content="https://www.pvuv.ai/"> 18 <meta name="twitter:card" content="summary_large_image"> 19 <meta name="twitter:title" content="Google Analytics Alternative â Open-Source Web Analytics"> 20 <meta name="twitter:description" content="A free, open-source Google Analytics alternative â hosted or self-hosted. Scores every visit for authenticity and flags invalid traffic and bots."> 21 22 <link rel="preconnect" href="https://github.com"> 23 <link rel="stylesheet" href="/_assets/site.css"> 24<meta property="og:locale" content="en_US"><meta property="og:locale:alternate" content="zh_CN"><link rel="alternate" hreflang="en" href="https://www.pvuv.ai/"><link rel="alternate" hreflang="zh-Hans" href="https://www.pvuv.ai/zh"><link rel="alternate" hreflang="x-default" href="https://www.pvuv.ai/"><meta property="og:image" content="https://www.pvuv.ai/og-image.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="PVUV.ai â open-source Google Analytics alternative"><meta name="twitter:image" content="https://www.pvuv.ai/og-image.png">
24<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","name":"PVUV.ai","url":"https://www.pvuv.ai/","inLanguage":"en"},{"@type":"SoftwareApplication","name":"PVUV.ai","applicationCategory":"BusinessApplication","operatingSystem":"Cloudflare Workers","description":"Open-source, self-hosted Google Analytics alternative with built-in invalid-traffic detection and ad protection, running on Cloudflare Workers + D1.","url":"https://www.pvuv.ai/","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"}},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Do I have to self-host PVUV.ai, or is there a hosted version?","acceptedAnswer":{"@type":"Answer","text":"There is a free hosted version â sign in at pvuv.ai and start measuring in minutes, with no setup. Prefer full control? Self-host the open-source build on your own Cloudflare account. The analytics is free both ways; only the optional AI analysis and recommendations are a paid add-on."}},{"@type":"Question","name":"Is PVUV.ai a free, open-source Google Analytics alternative?","acceptedA
24nswer":{"@type":"Answer","text":"Yes. All the analytics is free â traffic stats, invalid-traffic detection and ad protection â whether you use the free hosted version at pvuv.ai or self-host the open-source (AGPL-3.0) build. Only the optional AI analysis and recommendations are a paid add-on."}},{"@type":"Question","name":"How is PVUV.ai different from Google Analytics (GA4)?","acceptedAnswer":{"@type":"Answer","text":"Beyond PV/UV and standard web analytics, PVUV.ai scores every visit for authenticity, detects invalid traffic and bots that only reveal themselves in aggregate, and can protect your ad revenue â capabilities GA4 does not offer. It is also privacy-friendly and needs no cookies."}},{"@type":"Question","name":"Can I self-host PVUV.ai?","acceptedAnswer":{"@type":"Answer","text":"Yes. PVUV.ai runs entirely on Cloudflare Workers + D1 in your own account â no external database and no server to maintain. You can be collecting data right after deploying a few Workers."}},{"@type":"Question","name":"Is PVUV.ai privacy-friendly and GDPR-conscious?","acceptedA
24nswer":{"@type":"Answer","text":"It is built to minimize what it stores: IPs are hashed and never kept in plaintext, fingerprints are stored as conclusions only, and mobile-sensor signals are coarse booleans you can switch off. As the deployer you stay in control of compliance."}},{"@type":"Question","name":"Does PVUV.ai replace Google Analytics for ad-supported sites?","acceptedAnswer":{"@type":"Answer","text":"Yes â it is designed for sites that monetize with ads. On top of analytics, its invalid-traffic detection and optional ad protection help keep bots from dragging down your ad accounts."}}]}]}</script>
24</head> 25<body> 26 <a class="skip-link" href="#main">Skip to content</a> 27 28 <!-- ===================== Header ===================== --> 29 <header class="site-header" id="top"> 30 <div class="container header-inner"> 31 <a class="brand" href="#top" aria-label="PVUV.ai"> 32 <svg class="brand-logo brand-logo-light" xmlns="http://www.w3.org/2000/svg" viewBox="175.9 157.5 1876.7 470.3" role="img" aria-label="PVUV.ai"> 33 34 <g transform="translate(71.40,94.08) scale(0.8310)"> 35 <path fill="#46407d" d="M 414.92 382.11 A 1.59 1.58 -67.3 0 0 415.54 383.63 Q 430.74 394.82 443.54 407.91 Q 460.74 425.47 466.30 448.40 C 472.21 472.78 468.25 499.23 462.17 523.97 A 4.18 4.02 -23.0 0 1 461.64 525.21 Q 459.13 529.19 454.95 528.41 Q 452.99 528.05 449.48 523.81 Q 422.47 491.17 387.27 456.45 C 386.12 455.31 384.71 454.36 382.72 454.33 C 378.98 454.28 372.68 453.43 367.76 453.49 Q 349.34 453.71 345.54 453.54 Q 342.86 453.41 341.84 450.77 A 1.63 1.60 -55.7 0 1 341.74 450.21 Q 341.72 413.90 341.81 339.57 Q 341.81 336.66 345.32 336.70 Q 357.95 336.82 363.49 336.72 A 4.04 3.85 -53.1 0 0 364.63 336.53 Q 370.03 334.77 369.27 328.77 A 2.96 2.88 25.8 0 0 368.81 327.51 C 366.00 323.34 361.17 317.82 358.41 314.20 Q 335.88 284.57 327.89 274.17 C 321.98 266.49 317.22 271.39 312.79 277.33 Q 298.29 296.81 278.06 323.16 C 275.23 326.85 273.38 328.80 274.72 333.02 C 275.67 336.02 278.88 336.61 281.93 336.62 Q 296.72 336.67 298.49 336.69 C 301.01 336.71 301.38 338.04 301.38 340.37 Q 301.43 377.51 301.45 448.33 C 301.45 452.65 299.41 453.70 295.39 453.61 Q 293.53 453.56 278.21 453.47 C 271.35 453.42 266.14 454.07 259.39 454.57 A 3.11 3.01 -61.9 0 0 257.99 455.02 Q 256.51 455.92 255.07 457.32 Q 250.38 461.88 230.59 482.33 Q 211.80 501.75 201.10 515.34 C 196.74 520.88 192.09 527.82 188.41 528.39 Q 184.48 528.99 181.81 525.62 A 3.35 3.35 0.0 0 1 181.17 524.34 C 174.49 498.13 170.11 468.95 178.33 443.03 Q 184.77 422.71 201.09 406.28 Q 214.51 392.77 227.50 383.27 A 0.97 0.96 67.9 0 0 227.88 382.36 C 223.79 354.57 222.38 326.37 224.67 298.19 Q 230.08 231.51 267.68 178.26 C 281.46 158.76 297.20 141.42 315.90 126.65 C 319.72 123.64 323.46 123.95 327.52 126.81 Q 331.94 129.93 337.38 134.90 Q 362.92 158.21 381.21 186.56 Q 414.86 238.71 418.74 300.48 Q 421.36 342.10 414.92 382.11 Z"/> 36 <path fill="#fe8913" d="M 321.60 594.18 Q 318.54 594.18 315.59 591.67 C 293.54 572.90 275.37 546.18 269.03 517.45 Q 266.92 507.85 267.56 499.29 C 268.00 493.36 269.67 480.04 274.87 477.08 Q 276.24 476.30 280.47 476.29 Q 301.23 476.27 321.60 476.27 Q 341.97 476.27 362.73 476.29 Q 366.96 476.30 368.33 477.08 C 373.53 480.04 375.20 493.36 375.64 499.29 Q 376.28 507.85 374.17 517.45 C 367.83 546.18 349.66 572.90 327.61 591.67 Q 324.66 594.18 321.60 594.18 Z"/> 37 </g> 38 <path fill="#1e1b3a" d=" M 645.64 438.37 A 1.00 0.99 -89.2 0 0 644.62 439.37 L 644.62 523.34 A 0.12 0.06 73.2 0 1 644.61 523.39 C 643.81 526.67 641.49 527.73 638.06 527.71 Q 595.61 527.55 579.42 527.69 C 575.00 527.73 571.37 526.90 571.37 522.01 Q 571.45 305.92 571.35 263.75 Q 571.34 262.12 571.46 258.44 A 2.06 2.00 60.1 0 1 571.69 257.54 Q 573.50 253.97 576.77 253.96 C 624.57 253.79 651.68 253.19 692.44 253.38 Q 718.39 253.50 741.79 262.22 Q 746.14 263.84 755.51 269.24 C 776.55 281.39 787.99 301.75 792.29 325.67 Q 796.54 349.25 790.20 371.94 C 782.51 399.45 762.34 419.35 735.30 429.04 Q 712.58 437.19 690.95 438.08 Q 669.00 438.99 645.64 438.37 Z M 644.61 380.45 A 2.08 2.08 0.0 0 0 646.65 382.53 Q 659.82 382.78 675.60 382.58 C 690.91 382.39 709.35 377.92 716.40 362.31 Q 721.42 351.18 719.32 337.42 C 716.31 317.61 700.09 310.28 682.00 309.90 Q 663.34 309.51 646.82 310.03 A 2.28 2.28 0.0 0 0 644.61 312.31 L 644.61 380.45 Z"/> 39 <path fill="#1e1b3a" d=" M 941.78 457.58 Q 973.07 358.23 1001.99 259.72 Q 1003.74 253.77 1010.78 253.82 Q 1052.02 254.08 1072.25 253.90 C 1074.60 253.88 1076.87 253.78 1078.49 255.26 Q 1081.10 257.64 1079.78 261.51 Q 1038.10 383.75 995.91 507.10 C 994.48 511.28 992.70 518.21 990.90 522.37 C 989.15 526.39 986.75 527.67 982.03 527.67 Q 899.36 527.74 895.62 527.61 Q 892.82 527.51 890.64 524.49 A 3.16 2.93 20.3 0 1 890.24 523.70 Q 851.97 409.30 845.67 390.15 Q 828.87 339.15 804.62 263.57 Q 803.21 259.19 803.67 257.83 C 804.62 255.08 806.86 254.10 8
3909.96 254.13 C 815.37 254.17 822.70 253.87 829.67 253.92 Q 866.74 254.20 873.27 253.92 Q 880.36 253.62 882.29 260.14 Q 882.78 261.78 887.76 278.85 Q 918.59 384.58 933.00 431.62 Q 934.50 436.52 940.79 457.57 A 0.52 0.52 0.0 0 0 941.78 457.58 Z"/> 40 <path fill="#1e1b3a" d=" M 1103.95 256.26 C 1105.91 253.57 1108.46 253.89 1112.20 253.89 Q 1131.84 253.91 1141.25 253.99 C 1152.11 254.08 1161.51 253.57 1171.24 254.07 C 1177.77 254.41 1176.43 261.96 1176.43 266.00 Q 1176.45 359.04 1176.48 413.62 Q 1176.49 425.76 1177.57 431.77 Q 1179.25 441.14 1183.46 448.97 C 1190.31 461.72 1204.46 468.20 1218.56 469.38 C 1236.07 470.83 1255.79 467.36 1266.56 452.05 C 1274.67 440.53 1277.09 425.06 1276.64 411.04 Q 1276.61 410.19 1276.63 266.53 C 1276.63 259.72 1275.59 253.90 1283.53 253.92 Q 1329.26 254.02 1342.00 253.93 C 1346.86 253.90 1350.30 254.62 1350.31 260.01 Q 1350.36 291.29 1350.31 418.25 C 1350.29 442.57 1345.10 465.87 1331.86 486.04 C 1313.98 513.28 1281.83 526.72 1250.74 530.51 Q 1219.46 534.33 1187.73 528.81 C 1150.60 522.34 1120.23 499.94 1109.00 462.98 Q 1105.46 451.35 1103.88 438.17 Q 1102.98 430.64 1103.08 412.81 Q 1103.15 398.81 1103.07 258.77 Q 1103.06 257.48 1103.95 256.26 Z"/> 41 <path fill="#1e1b3a" d=" M 1518.54 457.74 A 0.61 0.60 -21.9 0 0 1519.39 458.10 Q 1519.73 457.94 1519.90 457.43 Q 1524.58 443.29 1534.24 412.02 Q 1545.19 376.61 1565.27 309.67 Q 1568.44 299.11 1572.15 285.82 Q 1578.77 262.13 1578.82 261.91 C 1579.91 257.45 1582.35 253.81 1586.70 253.83 Q 1629.98 253.96 1648.31 253.85 Q 1654.01 253.81 1655.26 254.69 C 1658.38 256.88 1657.65 259.86 1656.33 263.37 Q 1654.42 268.43 1650.80 279.03 Q 1626.73 349.56 1595.71 442.60 C 1588.31 464.78 1577.60 495.07 1569.17 520.67 Q 1568.02 524.15 1566.65 525.49 Q 1564.42 527.68 1561.76 527.68 Q 1492.67 527.62 1474.05 527.77 Q 1470.59 527.80 1468.42 525.93 Q 1466.90 524.62 1465.58 520.61 Q 1436.82 433.29 1387.34 284.18 Q 1380.73 264.26 1379.63 260.97 Q 1378.28 256.92 1381.38 254.90 Q 1383.04 253.82 1386.33 253.85 Q 1403.19 253.99 1452.00 254.01 Q 1455.36 254.01 1457.58 256.43 Q 1458.88 257.83 1460.06 262.05 Q 1487.85 361.43 1518.54 457.74 Z"/> 42 <ellipse fill="#6b6880" cx="0.00" cy="0.00" transform="translate(1980.12,299.17) rotate(-1.4)" rx="32.48" ry="31.76"/> 43 <path fill="#6b6880" d=" M 1858.12 417.61 Q 1858.74 412.71 1858.18 408.20 C 1856.48 394.25 1845.42 388.28 1832.30 387.76 Q 1817.84 387.19 1809.42 389.24 Q 1794.71 392.83 1789.54 394.80 Q 1783.22 397.22 1776.11 399.75 A 1.75 1.73 -50.8 0 1 1775.27 399.84 Q 1773.15 399.53 1772.73 397.52 Q 1769.31 381.20 1763.86 364.16 C 1762.58 360.13 1764.97 358.59 1768.50 357.10 C 1799.00 344.24 1832.60 338.17 1864.83 345.27 Q 1884.46 349.59 1896.49 359.50 C 1912.41 372.60 1917.69 391.96 1917.69 412.31 Q 1917.68 427.83 1917.62 478.35 Q 1917.61 491.92 1918.49 500.62 Q 1919.76 513.16 1921.18 522.74 Q 1921.85 527.23 1916.95 527.39 Q 1907.92 527.69 1872.54 527.42 A 3.17 3.17 0.0 0 1 1869.62 525.41 L 1863.52 509.64 A 0.36 0.36 0.0 0 0 1862.93 509.52 C 1853.80 518.63 1842.65 525.76 1830.00 528.81 Q 1805.62 534.68 1783.05 526.93 Q 1768.80 522.05 1759.18 510.38 C 1741.72 489.19 1742.88 453.03 1764.37 434.47 C 1779.07 421.79 1800.32 418.35 1819.76 418.20 Q 1852.39 417.95 1857.52 418.12 A 0.59 0.58 -85.1 0 0 1858.12 417.61 Z M 1858.09 449.65 Q 1843.48 449.55 1835.76 449.71 Q 1825.13 449.92 1815.91 454.13 C 1807.52 457.97 1803.52 466.84 1805.38 475.79 C 1807.23 484.69 1815.09 489.25 1823.77 489.99 Q 1840.51 491.41 1851.61 481.23 C 1856.83 476.44 1858.63 470.83 1858.73 463.76 Q 1858.86 454.43 1858.63 450.17 A 0.55 0.54 88.3 0 0 1858.09 449.65 Z"/> 44 <rect fill="#6b6880" x="1950.37" y="346.14" width="61.08" height="181.42" rx="4.53"/> 45 <ellipse fill="#6b6880" cx="0.00" cy="0.00" transform="translate(1677.05,490.30) rotate(-77.9)" rx="38.21" ry="38.04"/> 46</svg><svg class="brand-logo brand-logo-dark" xmlns="http://www.w3.org/2000/svg" viewBox="175.9 157.5 1876.7 470.3" aria-hidden="true"> 47 48 <g transform="translate(71.40,94.08) scale(0.8310)"> 49 <path fill="#9b93d9" d="M 414.92 382.11 A 1.59 1.58 -67.3 0 0 415.54 383.63 Q 430.74 394.82 443.54 407.91 Q 460.74 425.47 466.30 448.40
49C 472.21 472.78 468.25 499.23 462.17 523.97 A 4.18 4.02 -23.0 0 1 461.64 525.21 Q 459.13 529.19 454.95 528.41 Q 452.99 528.05 449.48 523.81 Q 422.47 491.17 387.27 456.45 C 386.12 455.31 384.71 454.36 382.72 454.33 C 378.98 454.28 372.68 453.43 367.76 453.49 Q 349.34 453.71 345.54 453.54 Q 342.86 453.41 341.84 450.77 A 1.63 1.60 -55.7 0 1 341.74 450.21 Q 341.72 413.90 341.81 339.57 Q 341.81 336.66 345.32 336.70 Q 357.95 336.82 363.49 336.72 A 4.04 3.85 -53.1 0 0 364.63 336.53 Q 370.03 334.77 369.27 328.77 A 2.96 2.88 25.8 0 0 368.81 327.51 C 366.00 323.34 361.17 317.82 358.41 314.20 Q 335.88 284.57 327.89 274.17 C 321.98 266.49 317.22 271.39 312.79 277.33 Q 298.29 296.81 278.06 323.16 C 275.23 326.85 273.38 328.80 274.72 333.02 C 275.67 336.02 278.88 336.61 281.93 336.62 Q 296.72 336.67 298.49 336.69 C 301.01 336.71 301.38 338.04 301.38 340.37 Q 301.43 377.51 301.45 448.33 C 301.45 452.65 299.41 453.70 295.39 453.61 Q 293.53 453.56 278.21 453.47 C 271.35 453.42 266.14 454.07 259.39 454.57 A 3.11 3.01 -61.9 0 0 257.99 455.02 Q 256.51 455.92 255.07 457.32 Q 250.38 461.88 230.59 482.33 Q 211.80 501.75 201.10 515.34 C 196.74 520.88 192.09 527.82 188.41 528.39 Q 184.48 528.99 181.81 525.62 A 3.35 3.35 0.0 0 1 181.17 524.34 C 174.49 498.13 170.11 468.95 178.33 443.03 Q 184.77 422.71 201.09 406.28 Q 214.51 392.77 227.50 383.27 A 0.97 0.96 67.9 0 0 227.88 382.36 C 223.79 354.57 222.38 326.37 224.67 298.19 Q 230.08 231.51 267.68 178.26 C 281.46 158.76 297.20 141.42 315.90 126.65 C 319.72 123.64 323.46 123.95 327.52 126.81 Q 331.94 129.93 337.38 134.90 Q 362.92 158.21 381.21 186.56 Q 414.86 238.71 418.74 300.48 Q 421.36 342.10 414.92 382.11 Z"/> 50 <path fill="#fe8913" d="M 321.60 594.18 Q 318.54 594.18 315.59 591.67 C 293.54 572.90 275.37 546.18 269.03 517.45 Q 266.92 507.85 267.56 499.29 C 268.00 493.36 269.67 480.04 274.87 477.08 Q 276.24 476.30 280.47 476.29 Q 301.23 476.27 321.60 476.27 Q 341.97 476.27 362.73 476.29 Q 366.96 476.30 368.33 477.08 C 373.53 480.04 375.20 493.36 375.64 499.29 Q 376.28 507.85 374.17 517.45 C 367.83 546.18 349.66 572.90 327.61 591.67 Q 324.66 594.18 321.60 594.18 Z"/> 51 </g> 52 <path fill="#ffffff" d=" M 645.64 438.37 A 1.00 0.99 -89.2 0 0 644.62 439.37 L 644.62 523.34 A 0.12 0.06 73.2 0 1 644.61 523.39 C 643.81 526.67 641.49 527.73 638.06 527.71 Q 595.61 527.55 579.42 527.69 C 575.00 527.73 571.37 526.90 571.37 522.01 Q 571.45 305.92 571.35 263.75 Q 571.34 262.12 571.46 258.44 A 2.06 2.00 60.1 0 1 571.69 257.54 Q 573.50 253.97 576.77 253.96 C 624.57 253.79 651.68 253.19 692.44 253.38 Q 718.39 253.50 741.79 262.22 Q 746.14 263.84 755.51 269.24 C 776.55 281.39 787.99 301.75 792.29 325.67 Q 796.54 349.25 790.20 371.94 C 782.51 399.45 762.34 419.35 735.30 429.04 Q 712.58 437.19 690.95 438.08 Q 669.00 438.99 645.64 438.37 Z M 644.61 380.45 A 2.08 2.08 0.0 0 0 646.65 382.53 Q 659.82 382.78 675.60 382.58 C 690.91 382.39 709.35 377.92 716.40 362.31 Q 721.42 351.18 719.32 337.42 C 716.31 317.61 700.09 310.28 682.00 309.90 Q 663.34 309.51 646.82 310.03 A 2.28 2.28 0.0 0 0 644.61 312.31 L 644.61 380.45 Z"/> 53 <path fill="#ffffff" d=" M 941.78 457.58 Q 973.07 358.23 1001.99 259.72 Q 1003.74 253.77 1010.78 253.82 Q 1052.02 254.08 1072.25 253.90 C 1074.60 253.88 1076.87 253.78 1078.49 255.26 Q 1081.10 257.64 1079.78 261.51 Q 1038.10 383.75 995.91 507.10 C 994.48 511.28 992.70 518.21 990.90 522.37 C 989.15 526.39 986.75 527.67 982.03 527.67 Q 899.36 527.74 895.62 527.61 Q 892.82 527.51 890.64 524.49 A 3.16 2.93 20.3 0 1 890.24 523.70 Q 851.97 409.30 845.67 390.15 Q 828.87 339.15 804.62 263.57 Q 803.21 259.19 803.67 257.83 C 804.62 255.08 806.86 254.10 809.96 254.13 C 815.37 254.17 822.70 253.87 829.67 253.92 Q 866.74 254.20 873.27 253.92 Q 880.36 253.62 882.29 260.14 Q 882.78 261.78 887.76 278.85 Q 918.59 384.58 933.00 431.62 Q 934.50 436.52 940.79 457.57 A 0.52 0.52 0.0 0 0 941.78 457.58 Z"/> 54 <path fill="#ffffff" d=" M 1103.95 256.26 C 1105.91 253.57 1108.46 253.89 1112.20 253.89 Q 1131.84 253.91 1141.25 253.99 C 1152.11 254.08 1161.51 253.57 1171.24 254.07 C 1177.77 254.41 1176.43 261.96 1176.43 266.00 Q 1176.45 359.04 1176.48 413.62 Q 1176.49 425.76 1177.57 431.77 Q 1179.25 441.14 1183.46 448.97 C 1190.31 461.72 1204.46 468.20 1218.56 469.38 C 1236.07 470.83 1255.79 467.36 1266.56 452.05 C 1274.67 440.53 1277.09 425.06 1276.64 411.04 Q 1276.61 410.19 1276.63 266.53 C 1276.63 259.72 1275.59 253.90 1283.53 253.92 Q 1329.26 254.02 1342.00 253.93 C 1346.86 253.90 1350.30 254.62 1350.31 260.01 Q 1350.36 291.29 1350.31 418.25 C 1350.29 442.57 1345.10 465.87 1331.86 486.04 C 1313.98 513.28 1281.83 526.72 1250.74 530.51 Q 1219.46 534.33 1187.73 528.81 C 1150.60 522.34 1120.23 499.94 1109.00 462.98 Q 1105.46 451.35 1103.88 438.17 Q 1102.98 430.64 1103.08 412.81 Q 1103.15 398.81 1103.07 258.77 Q 1103.06 257.48 1103.95 256.26 Z"/> 55 <path fill="#ffffff" d=" M 1518.54 457.74 A 0.61 0.60 -21.9 0 0 1519.39 458.10 Q 1519.73 457.94 1519.90 457.43 Q 1524.58 443.29 1534.24 412.02 Q 1545.19 376.61 1565.27 309.67 Q 1568.44 299.11 1572.15 285.82 Q 1578.77 262.13 1578.82 261.91 C 1579.91 257.45 1582.35 253.81 1586.70 253.83 Q 1629.98 253.96 1648.31 253.85 Q 1654.01 253.81 1655.26 254.69 C 1658.38 256.88 1657.65 259.86 1656.33 263.37 Q 1654.42 268.43 1650.80 279.03 Q 1626.73 349.56 1595.71 442.60 C 1588.31 464.78 1577.60 495.07 1569.17 520.67 Q 1568.02 524.15 1566.65 525.49 Q 1564.42 527.68 1561.76 527.68 Q 1492.67 527.62 1474.05 527.77 Q 1470.59 527.80 1468.42 525.93 Q 1466.90 524.62 1465.58 520.61 Q 1436.82 433.29 1387.34 284.18 Q 1380.73 264.26 1379.63 260.97 Q 1378.28 256.92 1381.38 254.90 Q 1383.04 253.82 1386.33 253.85 Q 1403.19 253.99 1452.00 254.01 Q 1455.36 254.01 1457.58 256.43 Q 1458.88 257.83 1460.06 262.05 Q 1487.85 361.43 1518.54 457.74 Z"/> 56 <ellipse fill="#b8b4cc" cx="0.00" cy="0.00" transform="translate(1980.12,299.17) rotate(-1.4)" rx="32.48" ry="31.76"/> 57 <path fill="#b8b4cc" d=" M 1858.12 417.61 Q 1858.74 412.71 1858.18 408.20 C 1856.48 394.25 1845.42 388.28 1832.30 387.76 Q 1817.84 387.19 1809.42 389.24 Q 1794.71 392.83 1789.54 394.80 Q 1783.22 397.22 1776.11 399.75 A 1.75 1.73 -50.8 0 1 1775.27 399.84 Q 1773.15 399.53 1772.73 397.52 Q 1769.31 381.20 1763.86 364.16 C 1762.58 360.13 1764.97 358.59 1768.50 357.10 C 1799.00 344.24 1832.60 338.17 1864.83 345.27 Q 1884.46 349.59 1896.49 359.50 C 1912.41 372.60 1917.69 391.96 1917.69 412.31 Q 1917.68 427.83 1917.62 478.35 Q 1917.61 491.92 1918.49 500.62 Q 1919.76 513.16 1921.18 522.74 Q 1921.85 527.23 1916.95 527.39 Q 1907.92 527.69 1872.54 527.42 A 3.17 3.17 0.0 0 1 1869.62 525.41 L 1863.52 509.64 A 0.36 0.36 0.0 0 0 1862.93 509.52 C 1853.80 518.63 1842.65 525.76 1830.00 528.8
571 Q 1805.62 534.68 1783.05 526.93 Q 1768.80 522.05 1759.18 510.38 C 1741.72 489.19 1742.88 453.03 1764.37 434.47 C 1779.07 421.79 1800.32 418.35 1819.76 418.20 Q 1852.39 417.95 1857.52 418.12 A 0.59 0.58 -85.1 0 0 1858.12 417.61 Z M 1858.09 449.65 Q 1843.48 449.55 1835.76 449.71 Q 1825.13 449.92 1815.91 454.13 C 1807.52 457.97 1803.52 466.84 1805.38 475.79 C 1807.23 484.69 1815.09 489.25 1823.77 489.99 Q 1840.51 491.41 1851.61 481.23 C 1856.83 476.44 1858.63 470.83 1858.73 463.76 Q 1858.86 454.43 1858.63 450.17 A 0.55 0.54 88.3 0 0 1858.09 449.65 Z"/> 58 <rect fill="#b8b4cc" x="1950.37" y="346.14" width="61.08" height="181.42" rx="4.53"/> 59 <ellipse fill="#b8b4cc" cx="0.00" cy="0.00" transform="translate(1677.05,490.30) rotate(-77.9)" rx="38.21" ry="38.04"/> 60</svg> 61 62 </a> 63 64 <nav class="nav" aria-label="Primary"> 65 <a href="#features">Features</a> 66 <a href="#detection">Detection</a> 67 <a href="#architecture">Architecture</a> 68 <a href="#privacy">Privacy</a> 69 <a href="#roadmap">Roadmap</a> 70 <a href="#guides">Guides</a> 71 </nav> 72 73 <div class="header-actions"> 74 75 <a class="btn btn-ghost" href="https://github.com/qiayue/pvuv.ai" rel="noopener" target="_blank"> 76 <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"></path></svg> 77 <span>GitHub</span> 78 </a> 79 <a class="lang-link" href="/zh" hreflang="zh-Hans" aria-label="忢å°ä¸æ">䏿</a><a class="btn btn-primary btn-sites" href="/sites">Dashboard</a><button class="nav-toggle" id="navToggle" type="button" aria-label="Menu" aria-expanded="false"> 80 <span></span><span></span><span></span> 81 </button> 82 </div> 83 </div> 84 </header> 85 86 <main id="main"> 87 <!-- ===================== Hero ===================== --> 88 <section class="hero"> 89 <div class="container hero-inner"> 90 <div class="hero-copy"> 91 <p class="eyebrow">Free analytics · hosted or self-hosted · open source</p> 92 <h1 class="hero-title"> 93 <span>The open-source Google Analytics alternative that knows <span class="kw-underline">which traffic is real</span></span> 94 </h1> 95 <p class="hero-sub">PVUV.ai is a self-hosted, <span class="kw">open-source Google Analytics (GA4) alternative</span>. Beyond PV/UV, it scores every visit for authenticity, catches <span class="kw">invalid traffic and bots</span> that only reveal themselves in aggregate, and loads ad code only for traffic it trusts. Runs on Cloudflareâs edge â use the free hosted version, or self-host the open-source build.</p> 96 <div class="hero-cta"> 97 <a class="btn btn-primary" href="/sites">Start free â no setup</a> 98 <a class="btn btn-ghost" href="#quickstart">Self-host it</a> 99 </div> 100 <ul class="hero-badges" aria-label="Highlights"> 101 <li><span class="dot dot-green"></span><span>100% open source · AGPL-3.0</span></li> 102 <li><span class="dot dot-indigo"></span><span>Free hosted or self-host</span></li> 103 <li><span class="dot dot-amber"></span><span>Privacy-friendly by default</span></li> 104 </ul> 105 </div> 106 107 <!-- Traffic-quality preview card --> 108 <div class="hero-visual" aria-hidden="true"> 109 <div class="quality-card"> 110 <div class="quality-head"> 111 <span class="quality-title">Traffic quality</span>
112 <span class="quality-live"><span class="pulse"></span><span>live</span></span> 113 </div> 114 <div class="donut"> 115 <svg viewBox="0 0 42 42" width="120" height="120" role="img" aria-label="traffic verdict donut"> 116 <circle class="donut-ring" cx="21" cy="21" r="15.9"></circle> 117 <circle class="seg seg-clean" cx="21" cy="21" r="15.9" stroke-dasharray="71 29" stroke-dashoffset="25"></circle> 118 <circle class="seg seg-suspect" cx="21" cy="21" r="15.9" stroke-dasharray="16 84" stroke-dashoffset="-46"></circle> 119 <circle class="seg seg-bot" cx="21" cy="21" r="15.9" stroke-dasharray="9 91" stroke-dashoffset="-62"></circle> 120 <circle class="seg seg-crawler" cx="21" cy="21" r="15.9" stroke-dasharray="4 96" stroke-dashoffset="-71"></circle> 121 </svg> 122 <div class="donut-center"> 123 <strong>71%</strong> 124 <small>clean</small> 125 </div> 126 </div> 127 <ul class="quality-legend"> 128 <li><span class="sw sw-clean"></span><span>Clean</span><b>71%</b></li> 129 <li><span class="sw sw-suspect"></span><span>Suspect</span><b>16%</b></li> 130 <li><span class="sw sw-bot"></span><span>Bot</span><b>9%</b></li> 131 <li><span class="sw sw-crawler"></span><span>Crawler</span><b>4%</b></li> 132 </ul> 133 </div> 134 </div> 135 </div> 136 </section> 137 138 <!-- ===================== Why ===================== --> 139 <section class="oss-strip" aria-label="Open source and self-hosted"> 140 <div class="container"> 141 <h2 class="oss-h2">An open-source Google Analytics alternative you fully control</h2> 142 <div class="oss-grid"> 143 <div class="oss-item"><h3><span class="oss-ic warm"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.79-.84.78-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09Z"/><path d="M12 15 9 12a22 22 0 0 1 8-10c1.5 0 3 1.5 3 3a22 22 0 0 1-10 8Z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/></svg></span>100% open source</h3><p>AGPL-3.0 and public on GitHub â audit every line, fork it, run your own build. No black box, no lock-in.</p></div> 144 <div class="oss-item"><h3><span class="oss-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="7" rx="2"/><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M7 7.5h.01M7 16.5h.01"/></svg></span>Hosted or self-hosted</h3><p>Use the free hosted version with zero setup, or self-host the open-source build on your own Cloudflare Workers + D1. The analytics is free either way.</p></div> 145 <div class="oss-item"><h3><span class="oss-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 4 5v6c0 5 3.4 8.5 8 11 4.6-2.5 8-6 8-11V5l-8-3Z"/><path d="m9 12 2 2 4-4"/></svg></span>A GA / GA4 alternative</h3><p>Privacy-friendly, lightweight, cookieless-capable â plus invalid-traffic detection Google Analytics never gave you.</p></div> 146 </div> 147 </div> 148 </section> 149 <section class="section why" id="why"> 150 <div class="container narrow"> 151 <h2 class="section-title">Why PVUV.ai over Google Analytics (GA4)</h2> 152 <p class="section-lead">Most analytics tools â Google Analytics (GA4) included â count traffic but treat every request as real. Sites that monetize with ads are exposed to invalid-traffic penalties they can't see coming. PVUV.ai is the open-source alternative that treats traffic quality as a first-class metric â so you can tell real visitors from bots, see where bad traffic comes from, and act on it. Itâs not a feature-for-feature GA4 clone â it keeps the core analytics you actually use simple, and adds what GA lacks.</p> 153 </div> 154 </section> 155 156 <!-- ===================== Features (3 pillars) ===================== --> 157 <section class="section" id="features"> 158 <div class="container"> 159 <h2 class="section-title">Three capabilities, one lightweight stack</h2> 160 <p class="section-lead center">
160Full-dimension web analytics, layered invalid-traffic detection, and optional ad-fraud protection â open source, self-hosted, and served from Cloudflare's edge with no server to run.</p> 161 162 <div class="grid grid-3"> 163 <article class="card"> 164 <div class="card-icon icon-analytics" aria-hidden="true"> 165 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"></path><rect x="7" y="12" width="3" height="6"></rect><rect x="12" y="8" width="3" height="10"></rect><rect x="17" y="4" width="3" height="14"></rect></svg> 166 </div> 167 <h3>Full-dimension analytics</h3> 168 <ul class="card-list"> 169 <li>Per-page PV/UV across multiple sites & subdomains</li> 170 <li>Referrers, full UTM, and every click param (gclid, fbclid, ttclid, msclkidâ¦)</li> 171 <li>Engagement-based bounce rate (GA4-style) and true dwell time</li> 172 <li>Custom events with revenue, auto-converted to USD</li> 173 <li>Session- & user-level path attribution, cross-device merge</li> 174 </ul> 175 </article> 176 177 <article class="card"> 178 <div class="card-icon icon-detect" aria-hidden="true"> 179 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 4 5v6c0 5 3.4 8.5 8 11 4.6-2.5 8-6 8-11V5l-8-3Z"></path><path d="m9 12 2 2 4-4"></path></svg> 180 </div> 181 <h3>Invalid-traffic detection</h3> 182 <ul class="card-list"> 183 <li>Client signals â headless/automation traits, environment contradictions, WebGL/canvas, honeypots</li> 184 <li>Session features â inter-page timing, path patterns, interaction presence</li> 185 <li>Population statistics â fingerprint/IP-segment clusters, distribution tests, cross-site detection</li> 186 <li>Every hit carries a 0â100 score, a verdict, and a bit-flag of fired signals</li> 187 </ul> 188 </article> 189 190 <article class="card"> 191 <div class="card-icon icon-shield" aria-hidden="true"> 192 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 4 5v6c0 5 3.4 8.5 8 11 4.6-2.5 8-6 8-11V5l-8-3Z"></path><circle cx="12" cy="11" r="2.4"></circle><path d="M12 13.4V17"></path></svg> 193 </div> 194 <h3>Ad protection (optional)</h3> 195 <ul class="card-list"> 196 <li>Progressive verdict: fast first-page decision, accurate blocking from page two</li> 197 <li>Loads ad code only for trustworthy traffic â never modifies the ad script itself</li> 198 <li>Fail-open by design: any error defaults to loading ads, never costing revenue</li> 199 <li>Owner-controlled thresholds with a shadow (record-only) mode</li> 200 </ul> 201 </article> 202 </div> 203 204 <div class="ai-note"> 205 <span class="ai-badge">AI analysis · paid add-on</span> 206 <p>Scheduled and on-demand reports: data anomaly â attribution â actionable recommendations.</p> 207 </div> 208 </div> 209 </section> 210 211 <!-- ===================== Detection deep-dive ===================== --> 212 <section class="section" id="compare"> 213 <div class="container"> 214 <h2 class="section-title">PVUV.ai vs Google Analytics, Plausible, Matomo & Umami</h2> 215 <p class="section-lead center">They all do web analytics. Only PVUV.ai scores every visit for authenticity, flags invalid traffic and bots, and can gate your ads â which is exactly why itâs the Google Analytics alternative for sites that run on ad revenue.</p> 216 <ul class="wins"><li><span class="wc">â</span>Invalid-traffic & bot detection</li><li><span class="wc">â</span>Ad-fraud protection</li><li><span class="wc">â</span>AI analysis (add-on)</li><li><span class="wc">â</span>Serverless on Cloudflare â no database</li><li><span class="wc">â</span>100% open source</li><li><span class="wc">â</span>Free hosted or self-host</li></ul> 217 <div class="cmp-wrap"><table class="cmp"><thead><tr><th>
217</th><th>PVUV.ai</th><th>Google Analytics (GA4)</th><th>Plausible</th><th>Matomo</th><th>Umami</th></tr></thead><tbody><tr><td>Open source (AGPL-3.0)</td><td><span class="yes">â</span></td><td><span class="no">â</span></td><td><span class="yes">â</span></td><td><span class="yes">â</span></td><td><span class="yes">â</span></td></tr><tr><td>Self-hosted â you own the data</td><td><span class="yes">â</span></td><td><span class="no">â</span></td><td><span class="yes">â</span></td><td><span class="yes">â</span></td><td><span class="yes">â</span></td></tr><tr><td>Serverless â no database to run</td><td><span class="yes">â</span> Cloudflare</td><td class="mut">SaaS</td><td><span class="no">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td></tr><tr><td>Invalid-traffic & bot detection</td><td><span class="yes">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td></tr><tr><td>Ad-fraud protection</td><td><span class="yes">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td></tr><tr><td>AI analysis & recommendations</td><td><span class="yes">â</span> add-on</td><td class="mut">Limited</td><td><span class="no">â</span></td><td><span class="no">â</span></td><td><span class="no">â</span></td></tr><tr><td>Privacy-first (cookieless, hashed IPs)</td><td><span class="yes">â</span></td><td class="mut">Limited</td><td><span class="yes">â</span></td><td><span class="yes">â</span></td><td><span class="yes">â</span></td></tr><tr><td>Price</td><td class="mut">Free â hosted or self-host</td><td class="mut">Free, sampled</td><td class="mut">Paid cloud / free self-host</td><td class="mut">Free self-host / paid cloud</td><td class="mut">Free self-host</td></tr></tbody></table></div> 218 <p class="cmp-foot">Every tool measures traffic. PVUV.ai is the only one that also tells real visitors from bots and protects your ad revenue â while running serverless on your own Cloudflare account.</p><p class="center" style="margin-top:14px"><a href="/google-analytics-alternative/">See the full comparison of Google Analytics alternatives â</a></p> 219 </div> 220 </section> 221 222 <section class="section section-alt" id="detection"> 223 <div class="container"> 224 <h2 class="section-title">Bad traffic that only shows up in aggregate</h2> 225 <p class="section-lead center">A single request can look perfectly human. The same hand behind thousands of them cannot. PVUV.ai stitches three layers of evidence â and shows its work.</p> 226 227 <div class="layers"> 228 <div class="layer"> 229 <span class="layer-num">01</span> 230 <h3>Single point â client signals</h3> 231 <p>Automation traits, environment contradictions, canvas/WebGL, honeypots â captured in the SDK, scored server-side.</p> 232 </div> 233 <div class="layer-arrow" aria-hidden="true">â</div> 234 <div class="layer"> 235 <span class="layer-num">02</span> 236 <h3>Stitching â session features</h3> 237 <p>Mechanical equidistant page intervals and abnormally regular paths get flagged as evidence accumulates in-session.</p> 238 </div> 239 <div class="layer-arrow" aria-hidden="true">â</div> 240 <div class="layer"> 241 <span class="layer-num">03</span> 242 <h3>Batch â population statistics</h3> 243 <p>A daily pass finds fingerprint/IP clusters and distribution anomalies, then re-verdicts: âthis fingerprint links N visitors across M sites.â</p> 244 </div> 245 </div> 246 247 <p class="restraint-note">Framed with restraint: verified crawlers are classified separately, âsuspectâ is shown amber (uncertain, not confirmed), and re-verdict authority stays with the platform â so the data behind ad protection keeps its meaning.</p><p class="center" style="margin-top:14px"><a href="/bot-traffic/">Guide: what is bot traffic, and how to stop it â</a></p> 248 </div> 249 </section> 250 251 <!-- ===================== Architecture ===================== --> 252 <section class="section" id="architecture"> 253 <div class="container"> 254 <h2 class="section-title">Architecture</h2> 255 <p class="section-lead center">An edge pipeline: collect â validate & score â queue â batch-write â roll up â analyze â loop back a fresh verdict.</p> 256 257 <div class="arch-flow" role="img" aria-label="PVUV.ai data flow"> 258 <div class="arch-node"><span class="arch-k">browser</span><span class="arch-v">f.js</span></div>
259 <span class="arch-conn" aria-hidden="true"></span> 260 <div class="arch-node"><span class="arch-k">in.pvuv.ai/in</span><span class="arch-v">ingest · validate · realtime score</span></div> 261 <span class="arch-conn" aria-hidden="true"></span> 262 <div class="arch-node"><span class="arch-k">Queue â consumer</span><span class="arch-v">batch-write D1 · update sessions</span></div> 263 <span class="arch-conn" aria-hidden="true"></span> 264 <div class="arch-node"><span class="arch-k">Cron</span><span class="arch-v">hourly rollups · daily population analysis</span></div> 265 <span class="arch-conn arch-loop" aria-hidden="true"></span> 266 <div class="arch-node arch-node-accent"><span class="arch-k">in.pvuv.ai/v</span><span class="arch-v">fast verdict + KV blocklist</span></div> 267 </div> 268 269 <div class="arch-split"> 270 <div class="arch-split-icon" aria-hidden="true"> 271 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="7" rx="2"></rect><rect x="3" y="13" width="18" height="7" rx="2"></rect><path d="M7 7.5h.01M7 16.5h.01"></path></svg> 272 </div> 273 <p>Domain split â the exposed subdomains embedded on measured sites (js, in) are isolated from the internal ones (api, apex console). If an exposed subdomain ever hits a blocklist, your dashboards and queries stay unaffected.</p> 274 </div> 275 276 <div class="stack"> 277 <span class="stack-label">Cloudflare suite</span> 278 <ul class="chips"> 279 <li>Workers</li> 280 <li>D1 <small>monthly-partitioned events</small></li> 281 <li>Queues <small>spike buffering</small></li> 282 <li>KV <small>blocklist · config</small></li> 283 <li>Cron Triggers</li> 284 <li>R2 <small>optional archive</small></li> 285 </ul> 286 <p class="stack-foot">No external database. No server to run.</p> 287 </div> 288 </div> 289 </section> 290 291 <!-- ===================== Privacy ===================== --> 292 <section class="section section-alt" id="privacy"> 293 <div class="container"> 294 <h2 class="section-title">Privacy by design</h2> 295 <p class="section-lead center">PVUV.ai is built to minimize what it stores. Authenticity signals are used for scoring, not for cross-site visitor profiling.</p> 296 297 <div class="grid grid-3"> 298 <div class="privacy-item"> 299 <h3>Hashed IPs only</h3> 300 <p>IP is stored only as a truncated hash (plus a /24 segment hash), never in plaintext.</p> 301 </div> 302 <div class="privacy-item"> 303 <h3>No raw fingerprints</h3> 304 <p>Device fingerprints are stored as hashes and conclusions only â never raw values â and used solely for authenticity scoring.</p> 305 </div> 306 <div class="privacy-item"> 307 <h3>Coarse sensor signals</h3> 308 <p>Mobile-sensor signals are coarse booleans only â no raw streams, no sensor fingerprint â and can be turned off.</p> 309 </div> 310 </div> 311 312 <p class="compliance-note">Deployer responsibility: in GDPR/ePrivacy jurisdictions, fingerprinting and sensor signals may require user consent. The project ships data-minimizing defaults and opt-out toggles; each deployer is responsible for compliance in their own jurisdiction.</p> 313 </div> 314 </section> 315 316 <!-- ===================== Quick start ===================== --> 317 <section class="section" id="quickstart"> 318 <div class="container"> 319 <h2 class="section-title">Quick start</h2> 320 <p class="section-lead center">Want zero setup? Use the free hosted version. Prefer full control? Self-host PVUV.ai on your own Cloudflare account â free and open source â then drop one script tag on any site.</p> 321 322 <div class="grid grid-2 qs-grid"> 323 <div class="code-block"> 324 <div class="code-head"><span>Deploy on Cloudflare</span></div> 325 <pre><code><span class="c-c"># 1. Clone & install</span> 326git clone https://github.com/qiayue/pvuv.ai.git 327cd pvuv.ai && npm install 328 329<span class="c-c"># 2. Create edge resources</span> 330wrangler d1 create pvuv 331wrangler kv namespace create BLOCKLIST 332wrangler queues create INGEST_QUEUE 333 334<span class="c-c"># 3. Schema + deploy</span> 335wrangler d1 execute pvuv --file=./shared/schema.sql 336wrangler deploy --config workers/ingest/wrangler.toml</code></pre> 337 </div> 338 339 <div class="code-block"> 340 <div class="code-head"><span>Add it to a site</span></div> 341 <pre><code><span class="c-c"><!-- register a site to get your site_id --></span> 342<span class="c-t"><script</span> <span class="c-a">defer</span> 343 <span class="c-a">src</span>=<span class="c-s">"https://js.pvuv.ai/f.js"</span> 344 <span class="c-a">data-site</span>=<span class="c-s">"YOUR_SITE_ID"</span> 345 <span class="c-a">data-adguard</span>=<span class="c-s">"balanced"</span> 346 <span class="c-a">data-adclient</span>=<span class="c-s">"ca-pub-xxxxxxxx"</span><span class="c-t">></span> 347<span class="c-t"></script></span></code></pre> 348 <p class="code-foot">Optional: data-spa, data-exclude, data-sensors="off", or point data-api at a first-party reverse proxy.</p> 349 </div> 350 </div> 351 352 <div class="qs-cta"> 353 <a class="btn btn-primary" href="https://github.com/qiayue/pvuv.ai#quick-start" rel="noopener" target="_blank">Full quick-start guide</a> 354 <a class="btn btn-ghost" href="https://github.com/qiayue/pvuv.ai/blob/main/PROJECT_PLAN.md" rel="noopener" target="_blank">Read the build spec</a> 355 </div> 356 </div> 357 </section> 358 359 <!-- ===================== Roadmap ===================== --> 360 <section class="section section-alt" id="roadmap"> 361 <div class="container"> 362 <h2 class="section-title">Roadmap</h2> 363 <p class="section-lead center">Under active development toward the first deployable milestone. Interfaces and schema may change before a tagged release.</p> 364 365 <ol class="roadmap"> 366 <li class="rm rm-current"> 367 <div class="rm-tag">M1 <span class="rm-chip">first deployable</span></div> 368 <p>
368SDK + ingest + fast verdict + D1 schema + minimal console (PV/UV, sources, top pages, traffic-quality overview).</p> 369 </li> 370 <li class="rm"> 371 <div class="rm-tag">M2</div> 372 <p>Sessions/dwell/bounce, full UTM, rollup acceleration, population analysis + blocklist loop, shadow mode, reverse-proxy option.</p> 373 </li> 374 <li class="rm"> 375 <div class="rm-tag">M3</div> 376 <p>identify + custom events + revenue + funnel attribution, distribution tests + baseline anomalies.</p> 377 </li> 378 <li class="rm"> 379 <div class="rm-tag">M4</div> 380 <p>AI reports, full anti-fraud, external ranking integration, human-review UI.</p> 381 </li> 382 </ol> 383 </div> 384 </section> 385 386 <!-- ===================== CTA ===================== --> 387 <section class="section section-alt" id="faq"> 388 <div class="container narrow"> 389 <h2 class="section-title">Frequently asked questions</h2> 390 <div class="faq"><div class="faq-item"><h3>Do I have to self-host PVUV.ai, or is there a hosted version?</h3><p>There is a free hosted version â sign in at pvuv.ai and start measuring in minutes, with no setup. Prefer full control? Self-host the open-source build on your own Cloudflare account. The analytics is free both ways; only the optional AI analysis and recommendations are a paid add-on.</p></div><div class="faq-item"><h3>Is PVUV.ai a free, open-source Google Analytics alternative?</h3><p>Yes. All the analytics is free â traffic stats, invalid-traffic detection and ad protection â whether you use the free hosted version at pvuv.ai or self-host the open-source (AGPL-3.0) build. Only the optional AI analysis and recommendations are a paid add-on.</p></div><div class="faq-item"><h3>How is PVUV.ai different from Google Analytics (GA4)?</h3><p>Beyond PV/UV and standard web analytics, PVUV.ai scores every visit for authenticity, detects invalid traffic and bots that only reveal themselves in aggregate, and can protect your ad revenue â capabilities GA4 does not offer. It is also privacy-friendly and needs no cookies.</p></div><div class="faq-item"><h3>Can I self-host PVUV.ai?</h3><p>Yes. PVUV.ai runs entirely on Cloudflare Workers + D1 in your own account â no external database and no server to maintain. You can be collecting data right after deploying a few Workers.</p></div><div class="faq-item"><h3>Is PVUV.ai privacy-friendly and GDPR-conscious?</h3><p>It is built to minimize what it stores: IPs are hashed and never kept in plaintext, fingerprints are stored as conclusions only, and mobile-sensor signals are coarse booleans you can switch off. As the deployer you stay in control of compliance.</p></div><div class="faq-item"><h3>Does PVUV.ai replace Google Analytics for ad-supported sites?</h3><p>Yes â it is designed for sites that monetize with ads. On top of analytics, its invalid-traffic detection and optional ad protection help keep bots from dragging down your ad accounts.</p></div></div> 391 </div> 392 </section> 393 <section class="section" id="guides"> 394 <div class="container"> 395 <h2 class="section-title">Guides & resources</h2> 396 <p class="section-lead center">Practical, no-fluff guides on traffic quality for site owners.</p> 397 <div class="guides-grid"><a class="guide-card" href="/google-analytics-alternative/"><span class="g-tag">Comparison</span><h3>Google Analytics alternatives, compared</h3><p>GA4 vs Plausible, Matomo, Umami, Fathom & Clarity â an honest side-by-side.</p><span class="g-more">Read â</span></a><a class="guide-card" href="/bot-traffic/"><span class="g-tag">Guide</span><h3>What is bot traffic â and how to stop it</h3><p>Bot types, how to spot them in GA4, and how to detect, block and prevent them.</p><span class="g-more">Read â</span></a><a class="guide-card" href="/adsense-invalid-traffic/"><span class="g-tag">Guide</span><h3>AdSense invalid traffic: what it means & how to fix it</h3><p>Why earnings get deducted or ad serving limited â and how to protect your account.</p><span class="g-more">Read â</span></a></div> 398 </div> 399 </section> 400 <section class="section cta-band"> 401 <div class="container narrow center"> 402 <h2>Free analytics you can trust â hosted or self-hosted.</h2> 403 <p>Open-source under AGPL-3.0. Self-host and modify freely â if you run a modified version as a network service, offer its source to your users.</p> 404 <div class="hero-cta center"> 405 <a class="btn btn-primary" href="/sites">Start free</a> 406 <a class="btn btn-ghost" href="https://github.com/qiayue/pvuv.ai/blob/main/CONTRIBUTING.md" rel="noopener" target="_blank">
406Contribute</a> 407 </div> 408 </div> 409 </section> 410 </main> 411 412 <!-- ===================== Footer ===================== --> 413 <footer class="site-footer"> 414 <div class="container footer-inner"> 415 <div class="footer-brand"> 416 <a class="brand" href="#top" aria-label="PVUV.ai"> 417 <svg class="brand-logo brand-logo-light" xmlns="http://www.w3.org/2000/svg" viewBox="175.9 157.5 1876.7 470.3" role="img" aria-label="PVUV.ai"> 418 419 <g transform="translate(71.40,94.08) scale(0.8310)"> 420 <path fill="#46407d" d="M 414.92 382.11 A 1.59 1.58 -67.3 0 0 415.54 383.63 Q 430.74 394.82 443.54 407.91 Q 460.74 425.47 466.30 448.40 C 472.21 472.78 468.25 499.23 462.17 523.97 A 4.18 4.02 -23.0 0 1 461.64 525.21 Q 459.13 529.19 454.95 528.41 Q 452.99 528.05 449.48 523.81 Q 422.47 491.17 387.27 456.45 C 386.12 455.31 384.71 454.36 382.72 454.33 C 378.98 454.28 372.68 453.43 367.76 453.49 Q 349.34 453.71 345.54 453.54 Q 342.86 453.41 341.84 450.77 A 1.63 1.60 -55.7 0 1 341.74 450.21 Q 341.72 413.90 341.81 339.57 Q 341.81 336.66 345.32 336.70 Q 357.95 336.82 363.49 336.72 A 4.04 3.85 -53.1 0 0 364.63 336.53 Q 370.03 334.77 369.27 328.77 A 2.96 2.88 25.8 0 0 368.81 327.51 C 366.00 323.34 361.17 317.82 358.41 314.20 Q 335.88 284.57 327.89 274.17 C 321.98 266.49 317.22 271.39 312.79 277.33 Q 298.29 296.81 278.06 323.16 C 275.23 326.85 273.38 328.80 274.72 333.02 C 275.67 336.02 278.88 336.61 281.93 336.62 Q 296.72 336.67 298.49 336.69 C 301.01 336.71 301.38 338.04 301.38 340.37 Q 301.43 377.51 301.45 448.33 C 301.45 452.65 299.41 453.70 295.39 453.61 Q 293.53 453.56 278.21 453.47 C 271.35 453.42 266.14 454.07 259.39 454.57 A 3.11 3.01 -61.9 0 0 257.99 455.02 Q 256.51 455.92 255.07 457.32 Q 250.38 461.88 230.59 482.33 Q 211.80 501.75 201.10 515.34 C 196.74 520.88 192.09 527.82 188.41 528.39 Q 184.48 528.99 181.81 525.62 A 3.35 3.35 0.0 0 1 181.17 524.34 C 174.49 498.13 170.11 468.95 178.33 443.03 Q 184.77 422.71 201.09 406.28 Q 214.51 392.77 227.50 383.27 A 0.97 0.96 67.9 0 0 227.88 382.36 C 223.79 354.57 222.38 326.37 224.67 298.19 Q 230.08 231.51 267.68 178.26 C 281.46 158.76 297.20 141.42 315.90 126.65 C 319.72 123.64 323.46 123.95 327.52 126.81 Q 331.94 129.93 337.38 134.90 Q 362.92 158.21 381.21 186.56 Q 414.86 238.71 418.74 300.48 Q 421.36 342.10 414.92 382.11 Z"/> 421 <path fill="#fe8913" d="M 321.60 594.18 Q 318.54 594.18 315.59 591.67 C 293.54 572.90 275.37 546.18 269.03 517.45 Q 266.92 507.85 267.56 499.29 C 268.00 493.36 269.67 480.04 274.87 477.08 Q 276.24 476.30 280.47 476.29 Q 301.23 476.27 321.60 476.27 Q 341.97 476.27 362.73 476.29 Q 366.96 476.30 368.33 477.08 C 373.53 480.04 375.20 493.36 375.64 499.29 Q 376.28 507.85 374.17 517.45 C 367.83 546.18 349.66 572.90 327.61 591.67 Q 324.66 594.18 321.60 594.18 Z"/> 422 </g> 423 <path fill="#1e1b3a" d=" M 645.64 438.37 A 1.00 0.99 -89.2 0 0 644.62 439.37 L 644.62 523.34 A 0.12 0.06 73.2 0 1 644.61 523.39 C 643.81 526.67 641.49 527.73 638.06 527.71 Q 595.61 527.55 579.42 527.69 C 575.00 527.73 571.37 526.90 571.37 522.01 Q 571.45 305.92 571.35 263.75 Q 571.34 262.12 571.46 258.44 A 2.06 2.00 60.1 0 1 571.69 257.54 Q 573.50 253.97 576.77 253.96 C 624.57 253.79 651.68 253.19 692.44 253.38 Q 718.39 253.50 741.79 262.22 Q 746.14 263.84 755.51 269.24 C 776.55 281.39 787.99 301.75 792.29 325.67 Q 796.54 349.25 790.20 371.94 C 782.51 399.45 762.34 419.35 735.30 429.04 Q 712.58 437.19 690.95 438.08 Q 669.00 438.99 645.64 438.37 Z M 644.61 380.45 A 2.08 2.08 0.0 0 0 646.65 382.53 Q 659.82 382.78 675.60 382.58 C 690.91 382.39 709.35 377.92 716.40 362.31 Q 721.42 351.18 719.32 337.42 C 716.31 317.61 700.09 310.28 682.00 309.90 Q 663.34 309.51 646.82 310.03 A 2.28 2.28 0.0 0 0 644.61 312.31 L 644.61 380.45 Z"/> 424 <path fill="#1e1b3a" d=" M 941.78 457.58 Q 973.07 358.23 1001.99 259.72 Q 1003.74 253.77 1010.78 253.82 Q 1052.02 254.08 1072.25 253.90 C 1074.60 253.88 1076.87 253.78 1078.49 255.26 Q 1081.10 257.64 1079.78 261.51 Q 1038.10 383.75 995.91 507.10 C 994.48 511.28 992.70 518.21 990.90 522.37 C 989.15 526.39 986.75 527.67 982.03 527.67 Q 899.36 527.74 895.62 527.61 Q 892.82 527.51 890.64 524.49 A 3.16 2.93 20.3 0 1 890.24 523.70 Q 851.97 409.30 845.67 390.15 Q 828.87 339.15 804.62 263.57 Q 803.21 259.19 803.67 257.83 C 804.62 255.08 806.86 254.10 8
42409.96 254.13 C 815.37 254.17 822.70 253.87 829.67 253.92 Q 866.74 254.20 873.27 253.92 Q 880.36 253.62 882.29 260.14 Q 882.78 261.78 887.76 278.85 Q 918.59 384.58 933.00 431.62 Q 934.50 436.52 940.79 457.57 A 0.52 0.52 0.0 0 0 941.78 457.58 Z"/> 425 <path fill="#1e1b3a" d=" M 1103.95 256.26 C 1105.91 253.57 1108.46 253.89 1112.20 253.89 Q 1131.84 253.91 1141.25 253.99 C 1152.11 254.08 1161.51 253.57 1171.24 254.07 C 1177.77 254.41 1176.43 261.96 1176.43 266.00 Q 1176.45 359.04 1176.48 413.62 Q 1176.49 425.76 1177.57 431.77 Q 1179.25 441.14 1183.46 448.97 C 1190.31 461.72 1204.46 468.20 1218.56 469.38 C 1236.07 470.83 1255.79 467.36 1266.56 452.05 C 1274.67 440.53 1277.09 425.06 1276.64 411.04 Q 1276.61 410.19 1276.63 266.53 C 1276.63 259.72 1275.59 253.90 1283.53 253.92 Q 1329.26 254.02 1342.00 253.93 C 1346.86 253.90 1350.30 254.62 1350.31 260.01 Q 1350.36 291.29 1350.31 418.25 C 1350.29 442.57 1345.10 465.87 1331.86 486.04 C 1313.98 513.28 1281.83 526.72 1250.74 530.51 Q 1219.46 534.33 1187.73 528.81 C 1150.60 522.34 1120.23 499.94 1109.00 462.98 Q 1105.46 451.35 1103.88 438.17 Q 1102.98 430.64 1103.08 412.81 Q 1103.15 398.81 1103.07 258.77 Q 1103.06 257.48 1103.95 256.26 Z"/> 426 <path fill="#1e1b3a" d=" M 1518.54 457.74 A 0.61 0.60 -21.9 0 0 1519.39 458.10 Q 1519.73 457.94 1519.90 457.43 Q 1524.58 443.29 1534.24 412.02 Q 1545.19 376.61 1565.27 309.67 Q 1568.44 299.11 1572.15 285.82 Q 1578.77 262.13 1578.82 261.91 C 1579.91 257.45 1582.35 253.81 1586.70 253.83 Q 1629.98 253.96 1648.31 253.85 Q 1654.01 253.81 1655.26 254.69 C 1658.38 256.88 1657.65 259.86 1656.33 263.37 Q 1654.42 268.43 1650.80 279.03 Q 1626.73 349.56 1595.71 442.60 C 1588.31 464.78 1577.60 495.07 1569.17 520.67 Q 1568.02 524.15 1566.65 525.49 Q 1564.42 527.68 1561.76 527.68 Q 1492.67 527.62 1474.05 527.77 Q 1470.59 527.80 1468.42 525.93 Q 1466.90 524.62 1465.58 520.61 Q 1436.82 433.29 1387.34 284.18 Q 1380.73 264.26 1379.63 260.97 Q 1378.28 256.92 1381.38 254.90 Q 1383.04 253.82 1386.33 253.85 Q 1403.19 253.99 1452.00 254.01 Q 1455.36 254.01 1457.58 256.43 Q 1458.88 257.83 1460.06 262.05 Q 1487.85 361.43 1518.54 457.74 Z"/> 427 <ellipse fill="#6b6880" cx="0.00" cy="0.00" transform="translate(1980.12,299.17) rotate(-1.4)" rx="32.48" ry="31.76"/> 428 <path fill="#6b6880" d=" M 1858.12 417.61 Q 1858.74 412.71 1858.18 408.20 C 1856.48 394.25 1845.42 388.28 1832.30 387.76 Q 1817.84 387.19 1809.42 389.24 Q 1794.71 392.83 1789.54 394.80 Q 1783.22 397.22 1776.11 399.75 A 1.75 1.73 -50.8 0 1 1775.27 399.84 Q 1773.15 399.53 1772.73 397.52 Q 1769.31 381.20 1763.86 364.16 C 1762.58 360.13 1764.97 358.59 1768.50 357.10 C 1799.00 344.24 1832.60 338.17 1864.83 345.27 Q 1884.46 349.59 1896.49 359.50 C 1912.41 372.60 1917.69 391.96 1917.69 412.31 Q 1917.68 427.83 1917.62 478.35 Q 1917.61 491.92 1918.49 500.62 Q 1919.76 513.16 1921.18 522.74 Q 1921.85 527.23 1916.95 527.39 Q 1907.92 527.69 1872.54 527.42 A 3.17 3.17 0.0 0 1 1869.62 525.41 L 1863.52 509.64 A 0.36 0.36 0.0 0 0 1862.93 509.52 C 1853.80 518.63 1842.65 525.76 1830.00 528.81 Q 1805.62 534.68 1783.05 526.93 Q 1768.80 522.05 1759.18 510.38 C 1741.72 489.19 1742.88 453.03 1764.37 434.47 C 1779.07 421.79 1800.32 418.35 1819.76 418.20 Q 1852.39 417.95 1857.52 418.12 A 0.59 0.58 -85.1 0 0 1858.12 417.61 Z M 1858.09 449.65 Q 1843.48 449.55 1835.76 449.71 Q 1825.13 449.92 1815.91 454.13 C 1807.52 457.97 1803.52 466.84 1805.38 475.79 C 1807.23 484.69 1815.09 489.25 1823.77 489.99 Q 1840.51 491.41 1851.61 481.23 C 1856.83 476.44 1858.63 470.83 1858.73 463.76 Q 1858.86 454.43 1858.63 450.17 A 0.55 0.54 88.3 0 0 1858.09 449.65 Z"/> 429 <rect fill="#6b6880" x="1950.37" y="346.14" width="61.08" height="181.42" rx="4.53"/> 430 <ellipse fill="#6b6880" cx="0.00" cy="0.00" transform="translate(1677.05,490.30) rotate(-77.9)" rx="38.21" ry="38.04"/> 431</svg><svg class="brand-logo brand-logo-dark" xmlns="http://www.w3.org/2000/svg" viewBox="175.9 157.5 1876.7 470.3" aria-hidden="true"> 432 433 <g transform="translate(71.40,94.08) scale(0.8310)"> 434 <path fill="#9b93d9" d="M 414.92 382.11 A 1.59 1.58 -67.3 0 0 415.54 383.63 Q 430.74 394.82 443.54 407.91 Q 460.74 425.47 466.30 448.40
434C 472.21 472.78 468.25 499.23 462.17 523.97 A 4.18 4.02 -23.0 0 1 461.64 525.21 Q 459.13 529.19 454.95 528.41 Q 452.99 528.05 449.48 523.81 Q 422.47 491.17 387.27 456.45 C 386.12 455.31 384.71 454.36 382.72 454.33 C 378.98 454.28 372.68 453.43 367.76 453.49 Q 349.34 453.71 345.54 453.54 Q 342.86 453.41 341.84 450.77 A 1.63 1.60 -55.7 0 1 341.74 450.21 Q 341.72 413.90 341.81 339.57 Q 341.81 336.66 345.32 336.70 Q 357.95 336.82 363.49 336.72 A 4.04 3.85 -53.1 0 0 364.63 336.53 Q 370.03 334.77 369.27 328.77 A 2.96 2.88 25.8 0 0 368.81 327.51 C 366.00 323.34 361.17 317.82 358.41 314.20 Q 335.88 284.57 327.89 274.17 C 321.98 266.49 317.22 271.39 312.79 277.33 Q 298.29 296.81 278.06 323.16 C 275.23 326.85 273.38 328.80 274.72 333.02 C 275.67 336.02 278.88 336.61 281.93 336.62 Q 296.72 336.67 298.49 336.69 C 301.01 336.71 301.38 338.04 301.38 340.37 Q 301.43 377.51 301.45 448.33 C 301.45 452.65 299.41 453.70 295.39 453.61 Q 293.53 453.56 278.21 453.47 C 271.35 453.42 266.14 454.07 259.39 454.57 A 3.11 3.01 -61.9 0 0 257.99 455.02 Q 256.51 455.92 255.07 457.32 Q 250.38 461.88 230.59 482.33 Q 211.80 501.75 201.10 515.34 C 196.74 520.88 192.09 527.82 188.41 528.39 Q 184.48 528.99 181.81 525.62 A 3.35 3.35 0.0 0 1 181.17 524.34 C 174.49 498.13 170.11 468.95 178.33 443.03 Q 184.77 422.71 201.09 406.28 Q 214.51 392.77 227.50 383.27 A 0.97 0.96 67.9 0 0 227.88 382.36 C 223.79 354.57 222.38 326.37 224.67 298.19 Q 230.08 231.51 267.68 178.26 C 281.46 158.76 297.20 141.42 315.90 126.65 C 319.72 123.64 323.46 123.95 327.52 126.81 Q 331.94 129.93 337.38 134.90 Q 362.92 158.21 381.21 186.56 Q 414.86 238.71 418.74 300.48 Q 421.36 342.10 414.92 382.11 Z"/> 435 <path fill="#fe8913" d="M 321.60 594.18 Q 318.54 594.18 315.59 591.67 C 293.54 572.90 275.37 546.18 269.03 517.45 Q 266.92 507.85 267.56 499.29 C 268.00 493.36 269.67 480.04 274.87 477.08 Q 276.24 476.30 280.47 476.29 Q 301.23 476.27 321.60 476.27 Q 341.97 476.27 362.73 476.29 Q 366.96 476.30 368.33 477.08 C 373.53 480.04 375.20 493.36 375.64 499.29 Q 376.28 507.85 374.17 517.45 C 367.83 546.18 349.66 572.90 327.61 591.67 Q 324.66 594.18 321.60 594.18 Z"/> 436 </g> 437 <path fill="#ffffff" d=" M 645.64 438.37 A 1.00 0.99 -89.2 0 0 644.62 439.37 L 644.62 523.34 A 0.12 0.06 73.2 0 1 644.61 523.39 C 643.81 526.67 641.49 527.73 638.06 527.71 Q 595.61 527.55 579.42 527.69 C 575.00 527.73 571.37 526.90 571.37 522.01 Q 571.45 305.92 571.35 263.75 Q 571.34 262.12 571.46 258.44 A 2.06 2.00 60.1 0 1 571.69 257.54 Q 573.50 253.97 576.77 253.96 C 624.57 253.79 651.68 253.19 692.44 253.38 Q 718.39 253.50 741.79 262.22 Q 746.14 263.84 755.51 269.24 C 776.55 281.39 787.99 301.75 792.29 325.67 Q 796.54 349.25 790.20 371.94 C 782.51 399.45 762.34 419.35 735.30 429.04 Q 712.58 437.19 690.95 438.08 Q 669.00 438.99 645.64 438.37 Z M 644.61 380.45 A 2.08 2.08 0.0 0 0 646.65 382.53 Q 659.82 382.78 675.60 382.58 C 690.91 382.39 709.35 377.92 716.40 362.31 Q 721.42 351.18 719.32 337.42 C 716.31 317.61 700.09 310.28 682.00 309.90 Q 663.34 309.51 646.82 310.03 A 2.28 2.28 0.0 0 0 644.61 312.31 L 644.61 380.45 Z"/> 438 <path fill="#ffffff" d=" M 941.78 457.58 Q 973.07 358.23 1001.99 259.72 Q 1003.74 253.77 1010.78 253.82 Q 1052.02 254.08 1072.25 253.90 C 1074.60 253.88 1076.87 253.78 1078.49 255.26 Q 1081.10 257.64 1079.78 261.51 Q 1038.10 383.75 995.91 507.10 C 994.48 511.28 992.70 518.21 990.90 522.37 C 989.15 526.39 986.75 527.67 982.03 527.67 Q 899.36 527.74 895.62 527.61 Q 892.82 527.51 890.64 524.49 A 3.16 2.93 20.3 0 1 890.24 523.70 Q 851.97 409.30 845.67 390.15 Q 828.87 339.15 804.62 263.57 Q 803.21 259.19 803.67 257.83 C 804.62 255.08 806.86 254.10 809.96 254.13 C 815.37 254.17 822.70 253.87 829.67 253.92 Q 866.74 254.20 873.27 253.92 Q 880.36 253.62 882.29 260.14 Q 882.78 261.78 887.76 278.85 Q 918.59 384.58 933.00 431.62 Q 934.50 436.52 940.79 457.57 A 0.52 0.52 0.0 0 0 941.78 457.58 Z"/> 439 <path fill="#ffffff" d=" M 1103.95 256.26 C 1105.91 253.57 1108.46 253.89 1112.20 253.89 Q 1131.84 253.91 1141.25 253.99 C 1152.11 254.08 1161.51 253.57 1171.24 254.07 C 1177.77 254.41 1176.43 261.96 1176.43 266.00 Q 1176.45 359.04 1176.48 413.62 Q 1176.49 425.76 1177.57 431.77 Q 1179.25 441.14 1183.46 448.97 C 1190.31 461.72 1204.46 468.20 1218.56 469.38 C 1236.07 470.83 1255.79 467.36 1266.56 452.05 C 1274.67 440.53 1277.09 425.06 1276.64 411.04 Q 1276.61 410.19 1276.63 266.53 C 1276.63 259.72 1275.59 253.90 1283.53 253.92 Q 1329.26 254.02 1342.00 253.93 C 1346.86 253.90 1350.30 254.62 1350.31 260.01 Q 1350.36 291.29 1350.31 418.25 C 1350.29 442.57 1345.10 465.87 1331.86 486.04 C 1313.98 513.28 1281.83 526.72 1250.74 530.51 Q 1219.46 534.33 1187.73 528.81 C 1150.60 522.34 1120.23 499.94 1109.00 462.98 Q 1105.46 451.35 1103.88 438.17 Q 1102.98 430.64 1103.08 412.81 Q 1103.15 398.81 1103.07 258.77 Q 1103.06 257.48 1103.95 256.26 Z"/> 440 <path fill="#ffffff" d=" M 1518.54 457.74 A 0.61 0.60 -21.9 0 0 1519.39 458.10 Q 1519.73 457.94 1519.90 457.43 Q 1524.58 443.29 1534.24 412.02 Q 1545.19 376.61 1565.27 309.67 Q 1568.44 299.11 1572.15 285.82 Q 1578.77 262.13 1578.82 261.91 C 1579.91 257.45 1582.35 253.81 1586.70 253.83 Q 1629.98 253.96 1648.31 253.85 Q 1654.01 253.81 1655.26 254.69 C 1658.38 256.88 1657.65 259.86 1656.33 263.37 Q 1654.42 268.43 1650.80 279.03 Q 1626.73 349.56 1595.71 442.60 C 1588.31 464.78 1577.60 495.07 1569.17 520.67 Q 1568.02 524.15 1566.65 525.49 Q 1564.42 527.68 1561.76 527.68 Q 1492.67 527.62 1474.05 527.77 Q 1470.59 527.80 1468.42 525.93 Q 1466.90 524.62 1465.58 520.61 Q 1436.82 433.29 1387.34 284.18 Q 1380.73 264.26 1379.63 260.97 Q 1378.28 256.92 1381.38 254.90 Q 1383.04 253.82 1386.33 253.85 Q 1403.19 253.99 1452.00 254.01 Q 1455.36 254.01 1457.58 256.43 Q 1458.88 257.83 1460.06 262.05 Q 1487.85 361.43 1518.54 457.74 Z"/> 441 <ellipse fill="#b8b4cc" cx="0.00" cy="0.00" transform="translate(1980.12,299.17) rotate(-1.4)" rx="32.48" ry="31.76"/> 442 <path fill="#b8b4cc" d=" M 1858.12 417.61 Q 1858.74 412.71 1858.18 408.20 C 1856.48 394.25 1845.42 388.28 1832.30 387.76 Q 1817.84 387.19 1809.42 389.24 Q 1794.71 392.83 1789.54 394.80 Q 1783.22 397.22 1776.11 399.75 A 1.75 1.73 -50.8 0 1 1775.27 399.84 Q 1773.15 399.53 1772.73 397.52 Q 1769.31 381.20 1763.86 364.16 C 1762.58 360.13 1764.97 358.59 1768.50 357.10 C 1799.00 344.24 1832.60 338.17 1864.83 345.27 Q 1884.46 349.59 1896.49 359.50 C 1912.41 372.60 1917.69 391.96 1917.69 412.31 Q 1917.68 427.83 1917.62 478.35 Q 1917.61 491.92 1918.49 500.62 Q 1919.76 513.16 1921.18 522.74 Q 1921.85 527.23 1916.95 527.39 Q 1907.92 527.69 1872.54 527.42 A 3.17 3.17 0.0 0 1 1869.62 525.41 L 1863.52 509.64 A 0.36 0.36 0.0 0 0 1862.93 509.52 C 1853.80 518.63 1842.65 525.76 1830.00 528.8
4421 Q 1805.62 534.68 1783.05 526.93 Q 1768.80 522.05 1759.18 510.38 C 1741.72 489.19 1742.88 453.03 1764.37 434.47 C 1779.07 421.79 1800.32 418.35 1819.76 418.20 Q 1852.39 417.95 1857.52 418.12 A 0.59 0.58 -85.1 0 0 1858.12 417.61 Z M 1858.09 449.65 Q 1843.48 449.55 1835.76 449.71 Q 1825.13 449.92 1815.91 454.13 C 1807.52 457.97 1803.52 466.84 1805.38 475.79 C 1807.23 484.69 1815.09 489.25 1823.77 489.99 Q 1840.51 491.41 1851.61 481.23 C 1856.83 476.44 1858.63 470.83 1858.73 463.76 Q 1858.86 454.43 1858.63 450.17 A 0.55 0.54 88.3 0 0 1858.09 449.65 Z"/> 443 <rect fill="#b8b4cc" x="1950.37" y="346.14" width="61.08" height="181.42" rx="4.53"/> 444 <ellipse fill="#b8b4cc" cx="0.00" cy="0.00" transform="translate(1677.05,490.30) rotate(-77.9)" rx="38.21" ry="38.04"/> 445</svg> 446 447 </a> 448 <p>Open-source, self-hosted web analytics with invalid-traffic detection & ad protection.</p> 449 </div> 450 <nav class="footer-nav" aria-label="Footer"> 451 <div class="footer-col"> 452 <span class="footer-h">Product</span> 453 <a href="#features">Features</a> 454 <a href="#detection">Detection</a> 455 <a href="#architecture">Architecture</a> 456 <a href="#roadmap">Roadmap</a> 457 </div> 458 <div class="footer-col"> 459 <span class="footer-h">Resources</span> 460 <a href="https://github.com/qiayue/pvuv.ai" rel="noopener" target="_blank">GitHub</a> 461 <a href="https://github.com/qiayue/pvuv.ai/blob/main/PROJECT_PLAN.md" rel="noopener" target="_blank">Build spec</a> 462 <a href="https://github.com/qiayue/pvuv.ai/blob/main/CONTRIBUTING.md" rel="noopener" target="_blank">Contributing</a> 463 <a href="https://github.com/qiayue/pvuv.ai/blob/main/SECURITY.md" rel="noopener" target="_blank">Security</a> 464 </div> 465 </nav> 466 </div> 467 <div class="container footer-bottom"> 468 <p>© 2026 PVUV.ai · Licensed under AGPL-3.0</p> 469 <p class="footer-note">Runs on Cloudflare Workers + D1</p> 470 </div> 471 </footer> 472 473 474 475
476<script src="/_assets/site.js" defer></script>
476 <!-- PVUV.ai analytics (self-tracking) --> 477
477<script defer src="https://www.pvuv.ai/f.js" data-site="TaymKSbQ" data-api="https://in.pvuv.ai"></script>
477 478</body></html>
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.