AI‑driven border surveillance is spreading across West Africa: What this means for migrants’ rights
AI‑driven border surveillance is spreading across West Africa: What this means for migrants’ rights
Read this story aloud
Listen to the clean text version of this article
Ready
1 min listen
Audio reading is not supported on this browser.
In the past 10 years, governments have turned to technology to strengthen border security and identification. They use surveillance tools like cameras and digital systems that monitor, track and record people’s movements
Philippa Osim Inyang, Nigerian Institute of International Affairs
West Africa, as a region, has long had one of the most mobile populations in the world. Since 1979, the Economic Community of West African States (ECOWAS) has allowed citizens of its member states to travel freely across borders withoutvisas.
This freedom of movement has helped support regional trade, labour mobility and social ties. But a technological shift is changing how borders operate, with important implications for human rights.
More To Read
- World Cup 2026: The real story of the resilient African migrants reshaping global football
- US deports migrants, including Iranian activist, to Central African Republic
- Malawi repatriates 150 citizens from South Africa amid xenophobia fears
- Mauritania rescues 110 migrants after boat breaks down off Atlantic coast
- South Africa xenophobia response under fire
- PLO Lumumba urges Ramaphosa to act on rising xenophobic attacks in South Africa
Across West Africa, governments are introducing biometric identification systems, facial recognition cameras and artificial intelligence tools at airports and land borders.
As a researcher in international law, human rights and technology governance, I recently published a study on these developments. In it, I argue that the growing use of AI-driven border surveillance risks undermining migrants’ rights. It is weakening data protection and placing pressure on the region’s commitment to free movement.
These systems promise to help governments combat terrorism, human trafficking and irregular migration. However, they also raise serious questions about privacy, discrimination and the future of free movement in the region.
Latest Stories
- Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
- Morocco continue historic rise with record-breaking World Cup victory against Canada
- Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
- Report records 83 harassment incidents against Christians in Israel over three months
The rise of ‘digital borders’
In the past, borders in West Africa were often lightly controlled. Many crossing points lacked sophisticated equipment. Regional mobility relied largely on trust and travel documents. This is rapidly changing.
In the past 10 years, governments have turned to technology to strengthen border security and identification. They use surveillance tools like cameras and digital systems that monitor, track and record people’s movements.
Border posts are being upgraded with biometric scanners, centralised databases and automated border management systems. Nigeria, for example, now issues biometric passports. Residents have to register for national identification numbers that store fingerprints and facial data. Immigration authorities have also introduced biometric screening at major airports and land borders.
Artificial intelligence systems can analyse travel data and flag suspicious patterns. This helps authorities detect fraudulent documents or potential security threats. But these technologies also create “digital borders”: systems where access to a country depends not only on physical checkpoints but also on data stored in digital databases.
Europe’s influence on African border technology
The expansion of digital border systems in West Africa is not happening in isolation. European migration policy has played an important role. Over the past decade, the European Union has tried to control migration before migrants reach European territory. This strategy is often called “migration externalisation”. It involves funding border control initiatives in the countries that the migrants come from or travel through.
Through programmes such as the EU Emergency Trust Fund for Africa, European institutions have funded control systems across West Africa. These projects are often presented as development assistance to improve governance.
But they also serve another purpose. They help European governments identify and deport migrants who reach Europe by verifying their nationality using biometric data collected in their home countries. Critics argue that this shifts Europe’s border enforcement into Africa.
Nigeria and Niger show two different paths
The impact of these technologies can be seen clearly in two countries: Nigeria and Niger. In this study, I found that Nigeria has gradually introduced biometric and digital technologies into its immigration system. These tools help modernise border management, but they also raise concerns about how data is collected, stored and shared. Nigeria has adopted data protection laws to regulate personal information, but enforcement remains uneven. Migrants may have limited ability to challenge how their biometric data is used.
Niger presents a different story. For years, the country was a key transit point for migrants travelling through the Sahara towards North Africa and Europe. Under pressure from the European Union, Niger adopted strict anti-smuggling laws in 2015 and expanded surveillance of migration routes. But in 2023, after a military coup, the new government repealed those laws and distanced itself from European migration policies. The decision reopened migration routes.
Risks for privacy and migrants’ rights
AI tools can improve efficiency and strengthen border management, but they also introduce new risks. One major concern is privacy.
Biometric data, including fingerprints and facial scans, is highly sensitive. Once collected, it can be stored indefinitely and shared across multiple databases. Migrants have little information about how their data will be used or whether it might be shared with foreign governments.
Another concern is algorithmic discrimination. AI systems used in border control rely on historical data to identify patterns. If past enforcement targeted certain nationalities or ethnic groups, those biases can become embedded in automated decision-making systems. This may lead to some travellers being flagged for additional screening or denied entry.
Finally, digital border systems can weaken the ECOWAS free movement regime if they are used to restrict mobility rather than facilitate it.
Why are regional rules needed?
West Africa already has legal frameworks that could help regulate these technologies.
The 1979 ECOWAS Protocol on Free Movement guarantees the right of movement to citizens of member states. The African Charter on Human and Peoples’ Rights also protects freedom of movement and prohibits discrimination. But existing laws were written before the rise of artificial intelligence and biometric surveillance. Without updated regulations, governments may adopt powerful surveillance tools without adequate safeguards.
Ecowas has an opportunity to develop regional guidelines on AI and border governance. This could build on frameworks such as the African Union’s Continental Artificial Intelligence Strategy and the G20 AI Principles. These could include rules on data protection, transparency in algorithmic decision-making and independent oversight of surveillance systems. Similar safeguards are already being put in place elsewhere, like the European Union’s Artificial Intelligence Act.
Artificial intelligence is likely to play an increasing role in border management worldwide. The question is not whether West Africa will adopt these technologies, but how they will be governed. The region is well placed to develop a model centred on human rights.
The Conversation
***
Philippa Osim Inyang, Senior Researcher, Nigerian Institute of International Affairs
Other Topics To Read
This article is republished from The Conversation under a Creative Commons license. Read the original article.
Top Stories Today
- Weekly new Ebola cases reach highest level since outbreak began: WHO
- Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
- Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
- Report records 83 harassment incidents against Christians in Israel over three months
- Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report
- Over 1,000 Sudanese return home from Egypt under ongoing repatriation programme
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
Mozambique President Daniel Chapo hails Rwanda’s security role in Cabo DelgadoRwanda
|The New Times
|4 hours ago
Messi is old, short and slow: How is he still dominating at the World Cup?Sports
|The Conversation
|12 hours ago
Somalia intelligence agency kills Al-Shabaab mortar unit leader in Basra operationSomalia
|Bashir Mbuthia
|3 hours ago
South Africa, Egypt and Morocco emerge as Africa’s leading hubs for the super richBusiness
|Alfred Onyango
|10 hours ago
UK, France agree with Oman on multinational military mission to secure Strait of HormuzNews
|Mary Wambui
|12 hours ago
Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effectsNews
|Hussein Hassan
|11 hours ago
DP Kindiki hails cooperatives as key to Kenya’s economic transformationNews
|Rachael Mutabasi
|6 hours ago
Colombia beats Ghana to complete World Cup round of 16 lineupSports
|XINHUA
|14 hours ago
Court nullifies ODPP senior promotions, orders fresh recruitment over flawed processNews
|Carolyne Kubwa
|1 day ago
CAF opens bidding for 2028, 2032 and 2036 AFCON tournamentsNews
|Erick Kariuki
|14 hours ago
