Secure Internet servers (per 1 million people)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Aruba Aruba 1,580 +13.1% 94
Afghanistan Afghanistan 41.1 -6.17% 186
Angola Angola 48.5 +20.6% 184
Albania Albania 1,325 +8.55% 100
Andorra Andorra 17,623 +20.6% 47
United Arab Emirates United Arab Emirates 4,234 +99.8% 80
Argentina Argentina 5,453 +0.041% 75
Armenia Armenia 1,735 +47.4% 93
American Samoa American Samoa 513 +10.9% 125
Antigua & Barbuda Antigua & Barbuda 970 +20.7% 107
Australia Australia 44,282 -6.93% 28
Austria Austria 47,129 +11.5% 27
Azerbaijan Azerbaijan 541 -1.58% 122
Burundi Burundi 10.6 +2.98% 206
Belgium Belgium 36,675 +9.01% 33
Benin Benin 20.4 +64.5% 197
Burkina Faso Burkina Faso 28.8 +27.7% 190
Bangladesh Bangladesh 527 +35.8% 124
Bulgaria Bulgaria 50,727 -6.24% 26
Bahrain Bahrain 7,064 +26.6% 65
Bahamas Bahamas 6,355 -1.23% 70
Bosnia & Herzegovina Bosnia & Herzegovina 5,554 +3.9% 73
Belarus Belarus 12,728 +6.54% 53
Belize Belize 464,560 +14.5% 2
Bermuda Bermuda 4,347 -24% 79
Bolivia Bolivia 364 +11.6% 138
Brazil Brazil 6,941 +23.3% 66
Barbados Barbados 1,172 +10.7% 105
Brunei Brunei 16,129 +83.8% 49
Bhutan Bhutan 1,339 +9.13% 98
Botswana Botswana 471 +6.83% 129
Central African Republic Central African Republic 1.69 -33.1% 214
Canada Canada 39,713 -6.7% 32
Switzerland Switzerland 166,829 +1.95% 9
Chile Chile 11,913 -3.15% 55
China China 1,413 -6.3% 97
Côte d’Ivoire Côte d’Ivoire 60.7 -4.23% 177
Cameroon Cameroon 25.2 +47.5% 191
Congo - Kinshasa Congo - Kinshasa 9.66 +9.45% 208
Congo - Brazzaville Congo - Brazzaville 16.6 -10.9% 198
Colombia Colombia 1,126 +1.54% 106
Comoros Comoros 16.2 -14.1% 199
Cape Verde Cape Verde 857 -9.9% 112
Costa Rica Costa Rica 2,000 +2.2% 91
Cuba Cuba 193 +13.7% 150
Curaçao Curaçao 5,074 +11.2% 76
Cayman Islands Cayman Islands 26,673 +0.42% 43
Cyprus Cyprus 221,298 -60.3% 4
Czechia Czechia 79,503 -0.81% 17
Germany Germany 152,124 +9.48% 11
Djibouti Djibouti 115 +81.1% 162
Dominica Dominica 62,865 -5.49% 20
Denmark Denmark 246,546 -5.63% 3
Dominican Republic Dominican Republic 181 -16.4% 154
Algeria Algeria 119 +19% 160
Ecuador Ecuador 491 +3.27% 126
Egypt Egypt 82.2 +54.2% 173
Eritrea Eritrea 1.98 +587% 213
Spain Spain 30,012 +4.44% 38
Estonia Estonia 139,058 +23.9% 13
Ethiopia Ethiopia 23.7 +35.9% 193
Finland Finland 177,387 +15.3% 8
Fiji Fiji 222 -3.32% 146
France France 57,304 +10% 23
Faroe Islands Faroe Islands 11,404 +36.4% 58
Micronesia (Federated States of) Micronesia (Federated States of) 194 +21.6% 149
Gabon Gabon 87 +102% 171
United Kingdom United Kingdom 68,449 +44.5% 19
Georgia Georgia 5,493 +4.6% 74
Ghana Ghana 48.9 +1.58% 183
Gibraltar Gibraltar 8,187 -7.36% 61
Guinea Guinea 12.3 +17% 203
Gambia Gambia 58.7 +12.3% 179
Guinea-Bissau Guinea-Bissau 10.9 +67.7% 205
Equatorial Guinea Equatorial Guinea 66.6 +51.9% 176
Greece Greece 15,683 +10.2% 50
Grenada Grenada 742 +20.7% 116
Greenland Greenland 3,906 -18% 81
Guatemala Guatemala 109 -0.0367% 165
Guam Guam 1,299 +38.7% 102
Guyana Guyana 176 +72.8% 155
Hong Kong SAR China Hong Kong SAR China 156,139 +19% 10
Honduras Honduras 149 +7.69% 158
Croatia Croatia 29,458 +0.123% 39
Haiti Haiti 7.73 +4.6% 209
Hungary Hungary 55,076 +2.53% 25
Indonesia Indonesia 2,939 +7.97% 83
Isle of Man Isle of Man 21,364 -0.931% 45
India India 1,212 +25.5% 104
Ireland Ireland 121,819 -18.8% 14
Iran Iran 7,226 +9.49% 64
Iraq Iraq 34.5 -20.9% 188
Iceland Iceland 84,143 -1.48% 16
Israel Israel 12,353 -4.43% 54
Italy Italy 30,630 +1.29% 37
Jamaica Jamaica 192 +0.575% 151
Jordan Jordan 212 +16% 148
Japan Japan 32,929 +3.87% 36
Kazakhstan Kazakhstan 6,914 +18.9% 67
Kenya Kenya 400 +34.5% 135
Kyrgyzstan Kyrgyzstan 1,301 +59.4% 101
Cambodia Cambodia 817 +266% 114
Kiribati Kiribati 22.3 -1.48% 195
St. Kitts & Nevis St. Kitts & Nevis 11,720 +42.3% 57
South Korea South Korea 11,902 +22.3% 56
Kuwait Kuwait 378 -1.85% 137
Laos Laos 302 +10.1% 140
Lebanon Lebanon 267 -60.5% 143
Liberia Liberia 13 +40.1% 202
Libya Libya 389 +246% 136
St. Lucia St. Lucia 734 +4.49% 117
Liechtenstein Liechtenstein 60,701 -8.27% 21
Sri Lanka Sri Lanka 449 -6.98% 131
Lesotho Lesotho 86 -3.51% 172
Lithuania Lithuania 98,561 +1.71% 15
Luxembourg Luxembourg 58,377 -3.48% 22
Latvia Latvia 28,274 +8.04% 41
Macao SAR China Macao SAR China 6,587 +14.3% 68
Saint Martin (French part) Saint Martin (French part) 2,411 +89.5% 86
Morocco Morocco 577 +1.71% 120
Monaco Monaco 41,495 +30.5% 30
Moldova Moldova 13,391 +16.2% 51
Madagascar Madagascar 25.1 +13% 192
Maldives Maldives 1,330 +7.47% 99
Mexico Mexico 532 +29% 123
Marshall Islands Marshall Islands 213 +37.9% 147
North Macedonia North Macedonia 2,105 +13.3% 89
Mali Mali 21 +49.4% 196
Malta Malta 4,464 -7.44% 78
Myanmar (Burma) Myanmar (Burma) 23.6 +17% 194
Montenegro Montenegro 6,422 +189% 69
Mongolia Mongolia 2,564 +8.89% 85
Northern Mariana Islands Northern Mariana Islands 1,445 -29.1% 96
Mozambique Mozambique 37.2 +0.157% 187
Mauritania Mauritania 52.2 +50.8% 182
Mauritius Mauritius 2,134 -13.5% 88
Malawi Malawi 32.5 +17.3% 189
Malaysia Malaysia 7,475 -7.51% 63
Namibia Namibia 427 +9.74% 133
New Caledonia New Caledonia 7,542 -1.39% 62
Niger Niger 5.22 +10% 211
Nigeria Nigeria 98.4 +107% 166
Nicaragua Nicaragua 94 -9.16% 167
Netherlands Netherlands 198,674 +1.9% 6
Norway Norway 35,470 -5.95% 35
Nepal Nepal 541 -15.8% 121
Nauru Nauru 670 +59% 118
New Zealand New Zealand 18,539 -1.55% 46
Oman Oman 287 +2.58% 141
Pakistan Pakistan 110 -3.27% 164
Panama Panama 2,234 -14.8% 87
Peru Peru 827 +10.3% 113
Philippines Philippines 132 -56.9% 159
Palau Palau 1,469 +8.53% 95
Papua New Guinea Papua New Guinea 88.1 +2.07% 170
Poland Poland 41,137 +10.2% 31
Puerto Rico Puerto Rico 471 +1.36% 130
North Korea North Korea 10.4 +165% 207
Portugal Portugal 28,692 -0.814% 40
Paraguay Paraguay 775 +20.5% 115
Palestinian Territories Palestinian Territories 427 -1.72% 134
French Polynesia French Polynesia 2,771 +19.9% 84
Qatar Qatar 445 -0.912% 132
Romania Romania 27,205 +1.37% 42
Russia Russia 26,130 +10.7% 44
Rwanda Rwanda 161 +24.7% 156
Saudi Arabia Saudi Arabia 483 +13.4% 127
Sudan Sudan 2.4 +12.2% 212
Senegal Senegal 59.6 +29.1% 178
Singapore Singapore 209,665 -8.3% 5
Solomon Islands Solomon Islands 80.6 +2.31% 174
Sierra Leone Sierra Leone 11.3 -15.1% 204
El Salvador El Salvador 191 +5.19% 152
San Marino San Marino 36,024 +11.4% 34
Somalia Somalia 14 +38.9% 201
Serbia Serbia 12,940 +2.31% 52
South Sudan South Sudan 5.27 +37.7% 210
São Tomé & Príncipe São Tomé & Príncipe 42.5 +8.91% 185
Suriname Suriname 2,060 +48.4% 90
Slovakia Slovakia 43,287 +8.46% 29
Slovenia Slovenia 68,818 +7.56% 18
Sweden Sweden 55,097 +3.96% 24
Eswatini Eswatini 117 -16.5% 161
Sint Maarten Sint Maarten 1,223 +0.51% 103
Seychelles Seychelles 139,583 +165% 12
Syria Syria 114 +22.1% 163
Turks & Caicos Islands Turks & Caicos Islands 860 +16.8% 111
Chad Chad 1.23 -0.863% 215
Togo Togo 90.1 -1.53% 168
Thailand Thailand 3,150 +4.91% 82
Tajikistan Tajikistan 152 +23.2% 157
Turkmenistan Turkmenistan 188 +35.7% 153
Timor-Leste Timor-Leste 265 +10.1% 144
Tonga Tonga 970 +10.2% 108
Trinidad & Tobago Trinidad & Tobago 480 +12% 128
Tunisia Tunisia 912 +11.5% 110
Turkey Turkey 11,103 +12.4% 59
Tuvalu Tuvalu 311 -38.9% 139
Tanzania Tanzania 52.4 -0.337% 181
Uganda Uganda 53.8 +4.14% 180
Ukraine Ukraine 9,937 +0.492% 60
Uruguay Uruguay 4,641 +6.6% 77
United States United States 196,554 +5.28% 7
Uzbekistan Uzbekistan 967 +17.3% 109
St. Vincent & Grenadines St. Vincent & Grenadines 268 +59.9% 142
Venezuela Venezuela 247 +10.4% 145
British Virgin Islands British Virgin Islands 1,443,009 -27.2% 1
U.S. Virgin Islands U.S. Virgin Islands 5,614 +1,741% 72
Vietnam Vietnam 5,734 +9.08% 71
Vanuatu Vanuatu 1,919 +17.3% 92
Samoa Samoa 605 -2.11% 119
Yemen Yemen 15 +116% 200
South Africa South Africa 16,658 +12.7% 48
Zambia Zambia 80.5 +46.5% 175
Zimbabwe Zimbabwe 90 +0.725% 169

The indicator of secure internet servers per 1 million people is a crucial metric that reflects the accessibility and security of internet infrastructure within a region. This measurement is particularly important as society becomes increasingly reliant on the internet for both personal and professional activities. In 2023, the median value for secure internet servers stood at 818.33 per 1 million people, underscoring a significant increase in internet security measures deployed globally.

Secure internet servers, which include HTTPS servers, play a vital role in protecting sensitive data transmitted online. They encrypt information exchanged between users and websites, preventing unauthorized access and fostering trust in digital transactions. In an era where cyber threats are omnipresent, the prevalence of secure internet servers is increasingly necessary for safeguarding personal information and fostering wider internet usage.

The correlation between secure internet servers and other indicators, such as economic stability, technological advancement, and internet penetration rate, is profound. Regions with higher numbers of secure internet servers often exhibit stronger economies and more robust technological infrastructures. For example, the British Virgin Islands emerges as a leader in this category with an astonishing 1,982,403.49 secure internet servers per million people, thanks in part to its status as an offshore financial center that emphasizes data protection and client confidentiality.

In contrast, the bottom five areas like Eritrea (0.29), Chad (1.24), and South Sudan (3.83) demonstrate how limited access to secure internet servers can be symptomatic of broader systemic challenges. These nations often struggle with issues such as government censorship, insufficient technological investments, and a lack of stable internet infrastructure, which are essential for building a secure online environment.

Several factors impact the availability and growth of secure internet servers in a given region. Economic resources play a significant role: wealthier countries can invest more heavily in securing their internet infrastructure. Government policies and regulations also directly affect the growth of secure internet servers as they can promote or hinder investments in cybersecurity measures. Additionally, technological literacy among the population influences the extent to which secure internet services are utilized. Regions that prioritize education and skills development are more likely to see increases in the adoption of secure internet practices by both individuals and enterprises.

To increase the number of secure internet servers, several strategies can be implemented. Governments can incentivize tech companies to establish secure services through grants or tax breaks. Educating the public about the importance of online security also plays a crucial role. By fostering a culture of security awareness, individuals are more likely to demand secure connections and support businesses that prioritize online safety.

Another effective solution is promoting collaborations between governments and private sectors. Partnerships can focus on the creation of secure infrastructure and heightened cybersecurity awareness campaigns. International cooperation is also essential for developing standards and sharing best practices related to secure internet servers. This exchange is vital for nations at different stages of internet development to learn from the successes and failures of one another.

However, there are flaws and challenges associated with focusing solely on the number of secure internet servers. For instance, a high number of secure servers does not automatically equate to overall internet security. It is crucial to consider the range of services offered by these servers and how well they protect users from threats. Moreover, some regions may artificially inflate their server counts without effectively enhancing their cybersecurity posture. This can mislead investors and users about the actual internet security landscape, as they may perceive these areas as more secure than they truly are.

In examining world values from 2010 to 2023, it is evident that secure internet servers have grown exponentially. The figures jumped from a mere 185.18 in 2010 to an impressive 15,472.28 in 2023, illustrating a clear acknowledgment of the importance of secure connections in the digital age. Such an upward trend emphasizes the significant strides made toward improving internet security over the years. The consistency in growth also reflects the increasing confidence that users and businesses alike have in the internet, fostering a digital economy that thrives on safe and secure practices.

In conclusion, secure internet servers per 1 million people act as a barometer for the development and security of digital landscapes. The increasing global median of 818.33 in 2023 highlights the growing recognition of the importance of internet security. The disparities between the top and bottom areas illustrate that while some regions are flourishing, many still face substantial challenges. Understanding the interplay of economic resources, educational initiatives, and international cooperation is critical for addressing global inequality in internet security access. With continued effort and strategic implementation, the digital world can move closer to a secure and reliable future for all.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'IT.NET.SECR.P6'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'IT.NET.SECR.P6'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))