ELOG demands swift IEBC action against public officers engaging in politics ahead of by-elections

ELOG demands swift IEBC action against public officers engaging in politics ahead of by-elections

The Independent Electoral and Boundaries Commission, led by the Chairperson Erastus Ethekon (centre), during a meeting with the National Assembly’s Constitutional Implementation Oversight Committee on September 26, 2025. (Photo: IEBC)

Read this story aloud

Listen to the clean text version of this article

Ready
4 min listen
Audio reading is not supported on this browser.

The election and monitoring platform reminded the electoral agency that the Constitution requires all public officers to uphold political neutrality and comply with existing regulations governing participation in elections and related activities

The Elections Observation Group has issued a demand to the Independent Elections and Boundaries Commission to quickly take action against public officers engaging in political activities ahead of the November 27 by-elections across the country.
The election and monitoring platform reminded the electoral agency that the Constitution requires all public officers to uphold political neutrality and comply with existing regulations governing participation in elections and related activities.
ELOG cited Section 12 of the Political Parties Act, which prohibits public officers from engaging in political activities that could compromise or undermine the impartiality of their offices.

More To Read

  • IEBC begins enhanced voter registration in Mbeere North, Malava and three other areas
  • IEBC declares full readiness for May 14 by-elections, materials dispatched
  • Voters risk Sh1 million fine for taking photos in polling booths – IEBC
  • IEBC warns Sh33.4 billion funding gap threatens 2027 election preparations
  • Gachagua cancels London trip to supervise DCP nominations for Ol Kalou by-election
  • IEBC sets May 14 for by-elections in Emurua Dikirr, Porro and Endo wards

ELOG Chairperson Victor Nyongesa said that it is paramount for all political parties and candidates to respect the boundaries of public service and avoid drawing civil servants into campaign activities.”
“We further encourage the IEBC to enhance its oversight role by fully enforcing electoral laws and responding firmly to any violations,” said Nyongesa.
The demand comes weeks after the Commission on Administrative Justice and the Public Service Commission warned that any public officer found in breach of these provisions will face disciplinary action in accordance with applicable public service regulations.

Latest Stories

  • DCI arrests man accused of conning job seekers Sh8.6 million in fake KDF, NPS and PSC recruitment scam
  • Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcare
  • The world has the science to transform food systems: The next frontier is scaling it
  • Nigeria demands probe after two citizens killed in South Africa amid rising xenophobia concerns

Kenya’s Constitution (Articles 73, 75, and 80), the Leadership and Integrity Act (2012), and Public Service Commission regulations explicitly prohibit public officers from engaging in political campaigns or misusing state resources.
Internationally, Kenya is bound by the International Covenant on Civil and Political Rights (Article 25), the African Charter on Democracy, Elections and Governance (Article 17), and the Declaration of Principles for International Election Observation (2005), all of which require states to guarantee impartial administration of elections and prevent abuse of public office.
ELOG has also raised concern over the slow pace of the ongoing Continuous Voter Registration (CVR) exercise, warning that the overall progress remains far below expectations even as the Independent Electoral and Boundaries Commission (IEBC) targets to register 6.3 million new voters ahead of the 2027 General Election.
In its week-two assessment, ELOG reported that although new voter registrations have increased compared to the first week of the exercise, the overall pace remains limited and uneven across the country.
According to data released by the IEBC, 20,754 new voters have been registered, 3,207 transfers processed, and 61 updates recorded since the resumption of the exercise on September 29.
“This represents a 194 per cent growth in new registrations compared to Week One, which recorded 7,048 new voters. It is important to note that the growth percentages reported for individual counties are indicative, based on Week One performance, and do not reflect progress toward the overall 6.3 million registration target set for the 2027 election,” the ELOG noted.
ELOG’s independent analysis shows significant disparities among counties. Nyeri recorded the highest growth in new registrations at 613 per cent, followed by Migori (309 per cent), Kakamega (278 per cent), Busia (249 per cent), and Murang’a (189 per cent). In contrast, Elgeyo Marakwet and Nyamira recorded negative growth rates of -58 and -20 per cent, respectively, while Elgeyo Marakwet, Nyamira, Garissa, Tana River, and Lamu posted minimal increases.

Other Topics To Read

Top Stories Today

  • Man arrested over Sh8.6 million fake KDF, police jobs scam
  • Saba Saba organisers notify police of peaceful march to Parliament
  • Wajir expands healthcare with new Baitulmaal Level 4 Hospital project
  • Why scaling innovation is the missing link in global food security
  • Abuja warns of diplomatic fallout after killing of Nigerians in South Africa
  • Kenya’s Stephen Yiembe lands historic UEFA Super Cup officiating role

`;
}

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


Quiet revolution behind foldable smartphones and why they’re making a comebackTechnology
|Margaret Wanjiru
|17 hours ago

Nigeria demands probe after two citizens killed in South Africa amid rising xenophobia concernsAfrica
|Rachael Mutabasi
|4 hours ago

DCI arrests man accused of conning job seekers Sh8.6 million in fake KDF, NPS and PSC recruitment scamNational
|Abdirahman Khalif
|3 hours ago

Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – reportClimate Change
|Alfred Onyango
|1 day ago

Lilian Odira targets personal best and Diamond League final after dream victory in EugeneAthletics
|Erick Kariuki
|7 hours ago

Zamzam fires warning over ODM nomination as Mombasa succession politics intensifyPolitics
|Farhiya Hussein
|5 hours ago

Rising political violence draws condemnation from Mombasa religious leadersCoast
|Farhiya Hussein
|13 hours ago

A Super El Niño is coming: Five hard‑won lessons the world can learn from AfricaClimate Change
|The Conversation
|9 hours ago

Nairobi restaurant gunpoint robbery renews calls for tougher security measuresCity Affairs
|Rachael Mutabasi
|5 hours ago

Stephen Yiembe makes history as first Kenyan referee appointed for UEFA Super CupFootball
|Erick Kariuki
|5 hours ago

Share.
Leave A Reply

Exit mobile version