Skip to content

DigitalPlatDev/InternetFreedom

Repository files navigation

Internet Freedom Index

The Internet Freedom Index is an independent global assessment of censorship, expression, privacy, civic space, and accountable government online. It is published by DigitalPlat Foundation, Inc., a U.S. IRS-recognized 501(c)(3) public charity.

The 2026 edition contains 202 assessments covering 194 countries, six jurisdictions, and two regions. Every report uses the same 20 indicators and four scored pillars. The public ranking contains 188 rank-eligible countries; limited-evidence countries, jurisdictions, and regions retain reports without occupying country ranks.

Methodology

Each indicator receives 0–4 points. Five indicators form each pillar, and the four weighted pillars produce a 0–100 Internet Freedom Index score:

  • Open Internet & Content Access: 30%
  • Expression & Civic Space: 30%
  • Privacy, Anonymity & User Security: 20%
  • Accountability & Rule of Law: 20%

The reports use country-level evidence from official records, network measurements, civil-society reporting, legal materials, and comparative datasets. External indexes are calibration references rather than replacement scores. Freedom on the Net gaps above 8 points and Freedom in the World gaps above 15 points require indicator-level reconciliation. The full scoring framework and source register are published on the site.

Local development

Requirements:

  • Node.js 22.13 or newer
  • npm

Install dependencies and start the local site:

npm ci
npm run dev -- --host 127.0.0.1 --port 3200

Open http://localhost:3200/.

Validation

Run the complete release checks:

npm run lint
npm run validate:flagship
npm run audit:scores
npm test
npm run test:static

The flagship validator checks all 202 assessments and 4,040 indicator records for score anchors, arithmetic, source integrity, and minimum evidence detail. The score audit verifies the Freedom House comparison corridors and ranking eligibility. The static test verifies the full export, country reports, map coverage, and public assets.

Static export

Create a deployment-neutral static build:

npm run build:static

The completed export is written to out/. URLs use trailing slashes, including /index/ and /country/china/.

GitHub Pages

The repository deploys from GitHub Actions. Every push to main validates the assessment data, runs the code checks, builds the static export, and deploys the contents of out/ to GitHub Pages. The generated directory remains excluded from Git history.

For the first deployment, set Settings → Pages → Build and deployment → Source to GitHub Actions. Configure internetfreedom.ngo as the custom domain in the same Pages settings. The static build includes CNAME, .nojekyll, and 404.html.

Project structure

  • app/: site routes, reports, methodology, metadata, and styles
  • app/country/: country data, evidence records, scoring, and report views
  • audit/: the current score-integrity audit and assessment-level CSV
  • public/: social preview, favicon, and downloadable scorecard
  • scripts/: evidence generation, audit, validation, and export utilities
  • tests/: rendered-route and static-export tests
  • .openai/hosting.json: Sites project configuration

Research maintenance

Source vintages, assessment windows, and research cutoffs are stated in the reports. A new edition should regenerate the comparative evidence layer, rerun the score audit, review all threshold outliers, and publish score-change notes before replacing the current edition.

About

Internet Freedom Website Repo

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages