Packfolio
Terms & Conditions
Effective: 2025 · Last reviewed July 2025
These Terms & Conditions ("Terms") govern your use of Packfolio ("the Service"), a free, open-source npm package analytics dashboard available at packfolio.dev. By accessing or using the Service, you agree to these Terms in full. If you do not agree, please discontinue use immediately.
Acceptance of Terms
Use of the Service constitutes your binding acceptance of these Terms. Packfolio reserves the right to update these Terms at any time. Continued use after updates constitutes acceptance of the revised Terms. The most current version is always available at packfolio.dev/terms.
Description of Service
Packfolio is a client-side web application that retrieves and visualises npm package download statistics. The Service queries npm's official public APIs in real time, directly from the user's browser. Packfolio does not operate a backend server, does not store package data, and does not cache any statistics.
Data Sources
All data displayed by Packfolio originates exclusively from the following official public sources:
| Source | Endpoint | Data Provided |
|---|---|---|
| npm Registry API | registry.npmjs.org | Package metadata, versioning, authorship, repository links |
| npm Downloads API | api.npmjs.org/downloads | Daily download counts up to 365 days of history |
| Shields.io / GitHub API | img.shields.io · api.github.com | GitHub repository star counts (unauthenticated) |
Packfolio is subject to the availability, accuracy, and rate-limiting policies of these third-party APIs. Packfolio has no control over npm's data pipeline or the accuracy of their published statistics.
Download Count Methodology & Limitations
Critical notice for developers interpreting statistics
npm download counts represent installation events, not unique users, active projects, or distinct human consumers. The counts include, without limitation:
- CI/CD pipeline installations (often the majority for widely-used packages)
- Mirror and CDN proxy server pulls
- Automated dependency managers (Renovate, Dependabot, Snyk, etc.)
- Developer reinstalls across multiple machines, environments, and containers
- Bot, crawler, and automated tooling activity
- Package manager cache invalidation and re-resolution events
This is a well-documented limitation of npm's public download statistics, not a deficiency of Packfolio. Packfolio displays the raw numbers exactly as provided by npm's API. Use download counts as relative trend indicators, not as measures of actual user adoption.
Geographic Distribution — Estimated Data Disclosure
The geographic globe visualisation shows estimated, not actual, data.
npm's public API does not provide per-country or per-region download data. The geographic breakdown displayed on the globe is generated by applying a static set of developer-population weights to a package's total all-time download count. Every package uses the same regional distribution model, regardless of where its actual users are located.
All country-level figures are prefixed with "~" (approximately) in the interface to reflect their estimated nature. These figures should not be used for business decisions, marketing targeting, or geographic audience analysis. Packfolio plans to improve geographic accuracy in a future release.
Package Health Score Methodology
The Package Health Score (0–100) is a heuristic metric computed entirely client-side from available data. It is not an official npm metric, rating, or endorsement. The score is composed of four equally weighted factors (25 points maximum each):
Download Velocity
Week-over-week change in daily download rate
Freshness
Days elapsed since the most recent npm publish
Popularity
Total all-time download volume on a logarithmic scale
Maintenance
GitHub star count as a proxy for community engagement
The health score is provided for informational purposes only and should not be used as the sole basis for package selection, security assessments, or production adoption decisions.
Rate Limiting & Acceptable Use
Packfolio implements client-side rate limiting (approximately 4 requests per second) to respect npm's public API usage policies. You agree not to use the Service to conduct automated scraping, bulk data extraction, or any activity that would result in an unreasonable load on npm's infrastructure.
All API requests are made directly from your browser. Packfolio does not operate a proxy or relay server between you and npm's APIs.
Privacy & Data Collection
Disclaimer of Warranties
THE SERVICE IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, OR NON-INFRINGEMENT.
Packfolio does not guarantee that the Service will be uninterrupted, error-free, or that statistics will be current, accurate, or complete at any given time. Data accuracy is contingent on npm's API availability and data pipeline integrity, which Packfolio does not control.
Limitation of Liability
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, PACKFOLIO AND ITS CREATOR SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS, BUSINESS DECISIONS MADE ON THE BASIS OF STATISTICS, OR DATA LOSS) ARISING FROM YOUR USE OF OR INABILITY TO USE THE SERVICE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Intellectual Property & Third-Party Rights
Packfolio is an independent project and is not affiliated with, endorsed by, or sponsored by npm, Inc., GitHub, Inc., or Microsoft Corporation.
"npm" is a registered trademark of npm, Inc. All package names, descriptions, authorship data, and download statistics are the property of their respective owners and are reproduced here solely under npm's public API terms of service for informational purposes.
The Packfolio source code is released under the MIT License and is available as an open-source project.
Changes to the Service
Packfolio reserves the right to modify, suspend, or discontinue the Service at any time, with or without notice. Packfolio shall not be liable to you or any third party for any such modification, suspension, or discontinuation.
Contact
For questions, feedback, or legal inquiries regarding these Terms, please contact the creator through the website below.