{"id":1016,"date":"2025-09-18T03:22:07","date_gmt":"2025-09-18T03:22:07","guid":{"rendered":"https:\/\/wiseexcellence.co.za\/Tertiary\/?p=1016"},"modified":"2026-01-31T06:14:45","modified_gmt":"2026-01-31T06:14:45","slug":"application-controls","status":"publish","type":"post","link":"https:\/\/wiseexcellence.co.za\/Tertiary\/application-controls\/","title":{"rendered":"Mastering Auditing: IT General Controls"},"content":{"rendered":"\n\n\n{&#8220;title&#8221;:&#8221;&#8221;,&#8221;content&#8221;:&#8221;<!DOCTYPE html>\\r\\n<html lang=\\\"en\\\">\\r\\n<head>\\r\\n    <meta charset=\\\"UTF-8\\\">\\r\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\">\\r\\n    <title>Mastering Auditing: IT General Controls<\/title>\\r\\n    <script src=\\\"https:\/\/cdn.tailwindcss.com\\\"><\/script>\\r\\n    <link href=\\\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\\\" rel=\\\"stylesheet\\\">\\r\\n    <style>\\r\\n        body {\\r\\n            font-family: 'Inter', sans-serif;\\r\\n            background-color: #f1f5f9; \/* slate-100 *\/\\r\\n            touch-action: pan-y;\\r\\n        }\\r\\n        .guide-container {\\r\\n            min-height: 480px;\\r\\n        }\\r\\n        .content-card {\\r\\n            opacity: 0;\\r\\n            transform: translateX(20px);\\r\\n            transition: opacity 0.4s ease-out, transform 0.4s ease-out;\\r\\n            will-change: opacity, transform;\\r\\n        }\\r\\n        .content-card.active {\\r\\n            opacity: 1;\\r\\n            transform: translateX(0);\\r\\n        }\\r\\n        .progress-bar-inner {\\r\\n            transition: width 0.3s ease-in-out;\\r\\n        }\\r\\n        .topic-button, .quiz-action-button {\\r\\n            transition: all 0.2s ease-in-out;\\r\\n        }\\r\\n        .topic-button:hover, .quiz-action-button:hover {\\r\\n            transform: translateY(-2px);\\r\\n            box-shadow: 0 4px 20px rgba(16, 185, 129, 0.2);\\r\\n        }\\r\\n        ::selection {\\r\\n            background: #059669; \/* emerald-600 *\/\\r\\n            color: #ffffff;\\r\\n        }\\r\\n        .explanation-text {\\r\\n            background-color: #f8fafc; \/* slate-50 *\/\\r\\n            border-left: 4px solid #10b981; \/* emerald-500 *\/\\r\\n            padding: 8px 12px;\\r\\n            margin-top: 8px;\\r\\n            border-radius: 4px;\\r\\n        }\\r\\n    <\/style>\\r\\n<\/head>\\r\\n<body class=\\\"bg-slate-100 text-slate-800 flex items-center justify-center min-h-screen p-4\\\">\\r\\n\\r\\n    <div class=\\\"w-full max-w-4xl mx-auto\\\">\\r\\n        <main id=\\\"app-container\\\" class=\\\"bg-white rounded-xl shadow-lg shadow-emerald-500\/10 p-6 md:p-8 relative\\\">\\r\\n            <div class=\\\"absolute top-4 right-6 text-xs text-slate-400 font-semibold\\\">created by Wise Excellence<\/div>\\r\\n            \\r\\n            <!-- Main Menu View -->\\r\\n            <div id=\\\"main-menu\\\">\\r\\n                <h2 class=\\\"text-2xl font-semibold mb-6 text-center text-emerald-700\\\">Select a Topic to Begin<\/h2>\\r\\n                <div id=\\\"topic-grid\\\" class=\\\"grid grid-cols-1 md:grid-cols-2 gap-5\\\">\\r\\n                    <!-- Topic buttons will be inserted here by JavaScript -->\\r\\n                <\/div>\\r\\n            <\/div>\\r\\n\\r\\n            <!-- Study Guide View -->\\r\\n            <div id=\\\"study-guide\\\" class=\\\"hidden\\\">\\r\\n                <button id=\\\"back-to-menu\\\" class=\\\"mb-4 text-sm font-medium text-emerald-600 hover:text-emerald-500\\\">&larr; Back to Topics<\/button>\\r\\n                \\r\\n                <div id=\\\"guide-content-wrapper\\\" class=\\\"guide-container relative flex items-center justify-center\\\">\\r\\n                    <!-- Content will be dynamically inserted here -->\\r\\n                <\/div>\\r\\n\\r\\n                <!-- Navigation and Progress -->\\r\\n                <div class=\\\"mt-6\\\">\\r\\n                    <div class=\\\"flex justify-between items-center mb-2\\\">\\r\\n                        <span id=\\\"progress-text\\\" class=\\\"text-sm text-slate-500\\\"><\/span>\\r\\n                        <span id=\\\"topic-title\\\" class=\\\"text-sm font-semibold text-slate-600\\\"><\/span>\\r\\n                    <\/div>\\r\\n                    <div class=\\\"w-full bg-slate-200 rounded-full h-2.5\\\">\\r\\n                        <div id=\\\"progress-bar\\\" class=\\\"bg-emerald-500 h-2.5 rounded-full progress-bar-inner\\\"><\/div>\\r\\n                    <\/div>\\r\\n                    <div id=\\\"navigation-buttons\\\" class=\\\"flex justify-between items-center mt-4\\\">\\r\\n                        <!-- Navigation buttons will be injected here -->\\r\\n                    <\/div>\\r\\n                <\/div>\\r\\n            <\/div>\\r\\n        <\/main>\\r\\n        <footer class=\\\"text-center mt-6\\\">\\r\\n        <\/footer>\\r\\n    <\/div>\\r\\n    \\r\\n    <!-- Quiz Modal -->\\r\\n    <div id=\\\"quiz-modal\\\" class=\\\"fixed inset-0 bg-black bg-opacity-60 hidden items-center justify-center p-4 backdrop-blur-sm\\\">\\r\\n        <div id=\\\"quiz-content\\\" class=\\\"bg-white border border-emerald-500\/20 rounded-lg shadow-2xl p-6 w-full max-w-2xl max-h-[90vh] overflow-y-auto\\\">\\r\\n             <!-- Quiz content will be injected here -->\\r\\n        <\/div>\\r\\n    <\/div>\\r\\n\\r\\n\\r\\n    <script>\\r\\n        document.addEventListener('DOMContentLoaded', () => {\\r\\n            const studyData = [\\r\\n                {\\r\\n                    topic: \\\"Auditing IT General Controls\\\",\\r\\n                    content: [\\r\\n                        { title: \\\"What are General Controls?\\\", text: \\\"General Controls are the policies and procedures that relate to the overall Information Technology (IT) environment. They provide a reliable foundation for business operations. If General Controls are weak, the data from specific applications (like the accounting system) cannot be trusted.\\\" },\\r\\n                        { title: \\\"Category 1: Access Controls\\\", text: \\\"<b>Purpose:<\/b> To ensure that only authorized individuals can access computer systems and data.<br><br><b>Examples:<\/b><br>\u2022 Using strong passwords and multi-factor authentication.<br>\u2022 Assigning user access rights based on job roles (segregation of duties).<br>\u2022 Reviewing user access logs to detect unauthorized attempts.\\\" },\\r\\n                        { title: \\\"Category 2: Change Management Controls\\\", text: \\\"<b>Purpose:<\/b> To control the process of making changes to IT systems, from development to implementation.<br><br><b>Examples:<\/b><br>\u2022 Requiring formal authorization for all system changes.<br>\u2022 Thoroughly testing all changes in a separate test environment before they go live.<br>\u2022 Maintaining a log of all changes made to systems.\\\" },\\r\\n                        { title: \\\"Category 3: Operations Controls\\\", text: \\\"<b>Purpose:<\/b> To ensure that the day-to-day IT operations are performed correctly and consistently.<br><br><b>Examples:<\/b><br>\u2022 Performing regular data backups and testing the restoration process.<br>\u2022 Having a defined schedule for running important jobs.<br>\u2022 Monitoring system performance to detect issues early.\\\" },\\r\\n                        { title: \\\"Category 4: Business Continuity\\\", text: \\\"<b>Purpose:<\/b> To ensure that the company can continue to operate in the event of a major IT failure or disaster.<br><br><b>Examples:<\/b><br>\u2022 Developing and maintaining a formal Disaster Recovery Plan (DRP).<br>\u2022 Regularly testing the DRP to ensure it is effective.<br>\u2022 Having off-site storage for critical data backups.\\\" },\\r\\n                        { title: \\\"Why General Controls Matter\\\", text: \\\"Strong General Controls are the bedrock of a reliable IT system. An auditor must assess these controls first. If General Controls are weak (e.g., anyone can access the system or make changes), the auditor cannot rely on any of the automated application controls, leading to more extensive and costly substantive testing.\\\" }\\r\\n                    ],\\r\\n                    quiz: [\\r\\n                        { \\r\\n                            question: \\\"What is the primary purpose of 'Access Controls'?\\\", \\r\\n                            options: [\\\"To ensure data is backed up regularly\\\", \\\"To control how system changes are made\\\", \\\"To ensure only authorized users can access systems\\\", \\\"To create a disaster recovery plan\\\"], \\r\\n                            answer: \\\"To ensure only authorized users can access systems\\\",\\r\\n                            explanation: \\\"Access controls are specifically designed to restrict entry to systems and data, for example, by using passwords and defined user roles, to prevent unauthorized access.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"A company requires all software updates to be tested in a separate environment before being deployed. This is an example of which control?\\\", \\r\\n                            options: [\\\"Access Control\\\", \\\"Change Management Control\\\", \\\"Operations Control\\\", \\\"Business Continuity\\\"], \\r\\n                            answer: \\\"Change Management Control\\\",\\r\\n                            explanation: \\\"Change management is focused on the entire lifecycle of a system change. Thorough testing is a critical step to prevent faulty updates from disrupting live operations.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"Regularly backing up company data and testing the restore process is a key part of which control category?\\\", \\r\\n                            options: [\\\"Access Controls\\\", \\\"Change Management\\\", \\\"Operations Controls\\\", \\\"Application Controls\\\"], \\r\\n                            answer: \\\"Operations Controls\\\",\\r\\n                            explanation: \\\"Operations controls relate to the day-to-day running of the IT department. Regular, successful backups are a critical operational task to protect against data loss.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"A company's Disaster Recovery Plan (DRP) falls under which category of general controls?\\\", \\r\\n                            options: [\\\"Access Controls\\\", \\\"Business Continuity\\\", \\\"Change Management\\\", \\\"Operations Controls\\\"], \\r\\n                            answer: \\\"Business Continuity\\\",\\r\\n                            explanation: \\\"Business continuity is all about planning for major disruptions. The Disaster Recovery Plan is the detailed strategy for recovering IT systems and data after a disaster occurs.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"If an auditor finds that a company's general controls are weak, what is the most likely consequence?\\\", \\r\\n                            options: [\\\"They will issue an unqualified audit opinion.\\\", \\\"They cannot rely on automated application controls.\\\", \\\"They will rely more on the company's management.\\\", \\\"They will reduce the amount of audit testing.\\\"], \\r\\n                            answer: \\\"They cannot rely on automated application controls.\\\",\\r\\n                            explanation: \\\"Weak general controls mean the entire IT environment is unreliable. Therefore, any automated controls within specific applications (like accounting software) cannot be trusted, forcing the auditor to perform more extensive manual testing.\\\"\\r\\n                        }\\r\\n                    ]\\r\\n                }\\r\\n            ];\\r\\n\\r\\n            const mainMenu = document.getElementById('main-menu');\\r\\n            const studyGuide = document.getElementById('study-guide');\\r\\n            const topicGrid = document.getElementById('topic-grid');\\r\\n            const guideContainer = document.getElementById('guide-content-wrapper');\\r\\n            const progressBar = document.getElementById('progress-bar');\\r\\n            const progressText = document.getElementById('progress-text');\\r\\n            const topicTitleEl = document.getElementById('topic-title');\\r\\n            const backToMenuBtn = document.getElementById('back-to-menu');\\r\\n            const quizModal = document.getElementById('quiz-modal');\\r\\n            const quizContent = document.getElementById('quiz-content');\\r\\n            const navigationButtons = document.getElementById('navigation-buttons');\\r\\n\\r\\n            let currentTopicIndex = 0;\\r\\n            let currentSectionIndex = 0;\\r\\n\\r\\n            function initializeMenu() {\\r\\n                topicGrid.innerHTML = '';\\r\\n                studyData.forEach((topicData, index) => {\\r\\n                    const button = document.createElement('button');\\r\\n                    button.className = `topic-button bg-white p-6 rounded-lg shadow-md text-left border border-emerald-500\/20 hover:bg-slate-50 ${studyData.length === 1 ? 'md:col-span-2' : ''}`;\\r\\n                    button.innerHTML = `\\r\\n                        <h3 class=\\\"text-xl font-semibold text-emerald-600\\\">${topicData.topic}<\/h3>\\r\\n                        <p class=\\\"text-slate-500 mt-1 text-sm\\\">${topicData.content.length} sections<\/p>\\r\\n                    `;\\r\\n                    button.onclick = () => startTopic(index);\\r\\n                    topicGrid.appendChild(button);\\r\\n                });\\r\\n            }\\r\\n\\r\\n            function startTopic(topicIndex) {\\r\\n                currentTopicIndex = topicIndex;\\r\\n                currentSectionIndex = 0;\\r\\n                mainMenu.classList.add('hidden');\\r\\n                studyGuide.classList.remove('hidden');\\r\\n                renderSection();\\r\\n            }\\r\\n\\r\\n            function backToMenu() {\\r\\n                mainMenu.classList.remove('hidden');\\r\\n                studyGuide.classList.add('hidden');\\r\\n            }\\r\\n\\r\\n            function renderSection() {\\r\\n                const section = studyData[currentTopicIndex].content[currentSectionIndex];\\r\\n                guideContainer.innerHTML = `\\r\\n                    <div class=\\\"content-card text-center p-4 w-full\\\">\\r\\n                        <h2 class=\\\"text-2xl font-bold mb-4 text-emerald-600\\\">${section.title}<\/h2>\\r\\n                        <div class=\\\"text-slate-700 leading-relaxed min-h-[250px] text-left\\\">${section.text}<\/div>\\r\\n                    <\/div>\\r\\n                `;\\r\\n                \\r\\n                setTimeout(() => {\\r\\n                    guideContainer.querySelector('.content-card')?.classList.add('active');\\r\\n                }, 50);\\r\\n\\r\\n                updateNavigation();\\r\\n            }\\r\\n            \\r\\n            function handleQuiz() {\\r\\n                quizModal.style.display = 'flex';\\r\\n                const quizData = studyData[currentTopicIndex].quiz;\\r\\n                if (quizData && quizData.length > 0) {\\r\\n                    renderQuiz(quizData);\\r\\n                } else {\\r\\n                     quizContent.innerHTML = `<p class=\\\"text-yellow-500 text-center\\\">No quiz available for this topic.<\/p> <button onclick=\\\"document.getElementById('quiz-modal').style.display='none'\\\" class=\\\"mt-4 bg-slate-200 py-2 px-4 rounded\\\">Close<\/button>`;\\r\\n                }\\r\\n            }\\r\\n\\r\\n            function renderQuiz(quizData) {\\r\\n                let quizHTML = `<h2 class=\\\"text-2xl font-bold mb-6 text-center text-emerald-600\\\">Quiz on ${studyData[currentTopicIndex].topic}<\/h2>`;\\r\\n                quizData.forEach((q, index) => {\\r\\n                    quizHTML += `<div class=\\\"mb-6\\\" data-answer=\\\"${q.answer.replace(\/\\\"\/g, '&quot;')}\\\" data-explanation=\\\"${q.explanation.replace(\/\\\"\/g, '&quot;')}\\\">\\r\\n                        <p class=\\\"font-semibold mb-3 text-slate-800\\\">${index + 1}. ${q.question}<\/p>\\r\\n                        <div class=\\\"space-y-2 text-slate-700\\\">`;\\r\\n                    q.options.forEach(opt => {\\r\\n                        quizHTML += `<label class=\\\"flex items-center p-3 rounded-lg border border-slate-200 cursor-pointer hover:bg-slate-100 has-[:checked]:bg-emerald-100 has-[:checked]:border-emerald-400\\\">\\r\\n                            <input type=\\\"radio\\\" name=\\\"q${index}\\\" value=\\\"${opt.replace(\/\\\"\/g, '&quot;')}\\\" class=\\\"mr-3 w-4 h-4 text-emerald-600 bg-slate-100 border-slate-300 focus:ring-emerald-500 focus:ring-2\\\">\\r\\n                            <span>${opt}<\/span>\\r\\n                        <\/label>`;\\r\\n                    });\\r\\n                    quizHTML += `<\/div>\\r\\n                                 <p class=\\\"result-text mt-2 text-sm font-medium hidden\\\"><\/p>\\r\\n                                 <p class=\\\"explanation-text text-slate-600 text-sm hidden\\\"><\/p>\\r\\n                               <\/div>`;\\r\\n                });\\r\\n                quizHTML += `<div class=\\\"flex justify-between items-center mt-6\\\">\\r\\n                    <button id=\\\"close-quiz-btn\\\" class=\\\"bg-slate-500 hover:bg-slate-600 text-white font-bold py-2 px-4 rounded-lg\\\">Close<\/button>\\r\\n                    <button id=\\\"submit-quiz-btn\\\" class=\\\"bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-2 px-4 rounded-lg\\\">Check Answers<\/button>\\r\\n                <\/div>`;\\r\\n                quizContent.innerHTML = quizHTML;\\r\\n                document.getElementById('submit-quiz-btn').addEventListener('click', () => {\\r\\n                    quizData.forEach((q, index) => {\\r\\n                        const container = quizContent.querySelectorAll('div[data-answer]')[index];\\r\\n                        const selected = container.querySelector(`input[name=\\\"q${index}\\\"]:checked`);\\r\\n                        const resultText = container.querySelector('.result-text');\\r\\n                        const explanationText = container.querySelector('.explanation-text');\\r\\n                        \\r\\n                        resultText.classList.remove('hidden');\\r\\n                        explanationText.classList.remove('hidden');\\r\\n                        explanationText.textContent = `Explanation: ${container.dataset.explanation}`;\\r\\n\\r\\n                        if (selected) {\\r\\n                            if (selected.value === q.answer) {\\r\\n                                resultText.textContent = 'Correct!';\\r\\n                                resultText.className = 'result-text mt-2 text-sm font-medium text-green-600';\\r\\n                            } else {\\r\\n                                resultText.textContent = `Incorrect. The correct answer is: ${q.answer}`;\\r\\n                                resultText.className = 'result-text mt-2 text-sm font-medium text-red-600';\\r\\n                            }\\r\\n                        } else {\\r\\n                            resultText.textContent = 'No answer selected.';\\r\\n                            resultText.className = 'result-text mt-2 text-sm font-medium text-yellow-600';\\r\\n                            explanationText.classList.add('hidden');\\r\\n                        }\\r\\n                    });\\r\\n                    document.getElementById('submit-quiz-btn').disabled = true;\\r\\n                    document.getElementById('submit-quiz-btn').textContent = 'Answers Checked';\\r\\n                });\\r\\n                document.getElementById('close-quiz-btn').addEventListener('click', () => quizModal.style.display = 'none');\\r\\n            }\\r\\n\\r\\n            function updateNavigation() {\\r\\n                navigationButtons.innerHTML = '';\\r\\n                const topic = studyData[currentTopicIndex];\\r\\n                const totalSections = topic.content.length;\\r\\n                const progressPercentage = ((currentSectionIndex + 1) \/ totalSections) * 100;\\r\\n                progressBar.style.width = `${progressPercentage}%`;\\r\\n                progressText.textContent = `Section ${currentSectionIndex + 1} of ${totalSections}`;\\r\\n                topicTitleEl.textContent = topic.topic;\\r\\n\\r\\n                const prevButton = document.createElement('button');\\r\\n                prevButton.id = 'prev-btn';\\r\\n                prevButton.className = 'bg-slate-200 hover:bg-slate-300 text-slate-700 font-bold py-2 px-6 rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed';\\r\\n                prevButton.textContent = 'Previous';\\r\\n                prevButton.onclick = navigatePrev;\\r\\n                prevButton.disabled = currentSectionIndex === 0;\\r\\n                \\r\\n                const nextButton = document.createElement('button');\\r\\n                nextButton.id = 'next-btn';\\r\\n                \\r\\n                if (currentSectionIndex === totalSections - 1) {\\r\\n                    nextButton.className = 'quiz-action-button bg-green-600 hover:bg-green-700 text-white font-bold py-2 px-6 rounded-lg transition-colors';\\r\\n                    nextButton.textContent = 'Finish Topic';\\r\\n                    nextButton.onclick = backToMenu;\\r\\n                    const quizButton = document.createElement('button');\\r\\n                    quizButton.id = 'quiz-btn';\\r\\n                    quizButton.className = 'quiz-action-button bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-2 px-6 rounded-lg';\\r\\n                    quizButton.textContent = '\u270d\ufe0f Take Quiz';\\r\\n                    quizButton.onclick = handleQuiz;\\r\\n                    navigationButtons.appendChild(prevButton);\\r\\n                    navigationButtons.appendChild(quizButton);\\r\\n                    navigationButtons.appendChild(nextButton);\\r\\n                } else {\\r\\n                    nextButton.className = 'bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-2 px-6 rounded-lg transition-colors';\\r\\n                    nextButton.textContent = 'Next';\\r\\n                    nextButton.onclick = navigateNext;\\r\\n                    navigationButtons.appendChild(prevButton);\\r\\n                    navigationButtons.appendChild(nextButton);\\r\\n                }\\r\\n            }\\r\\n            \\r\\n            function navigateNext() {\\r\\n                if (currentSectionIndex < studyData[currentTopicIndex].content.length - 1) {\\r\\n                    currentSectionIndex++;\\r\\n                    renderSection();\\r\\n                }\\r\\n            }\\r\\n\\r\\n            function navigatePrev() {\\r\\n                if (currentSectionIndex > 0) {\\r\\n                    currentSectionIndex--;\\r\\n                    renderSection();\\r\\n                }\\r\\n            }\\r\\n\\r\\n            let touchstartX = 0;\\r\\n            guideContainer.addEventListener('touchstart', e => { touchstartX = e.changedTouches[0].screenX; }, { passive: true });\\r\\n            guideContainer.addEventListener('touchend', e => {\\r\\n                let touchendX = e.changedTouches[0].screenX;\\r\\n                if (touchendX < touchstartX - 50) { \/\/ Swipe Left\\r\\n                    const nextBtn = document.getElementById('next-btn') || document.querySelector('.quiz-action-button[onclick=\\\"backToMenu()\\\"]');\\r\\n                    if(nextBtn) nextBtn.click();\\r\\n                }\\r\\n                if (touchendX > touchstartX + 50) { \/\/ Swipe Right\\r\\n                    document.getElementById('prev-btn')?.click();\\r\\n                }\\r\\n            }, { passive: true });\\r\\n            \\r\\n            backToMenuBtn.addEventListener('click', backToMenu);\\r\\n            document.addEventListener('keydown', (e) => {\\r\\n                if(studyGuide.classList.contains('hidden') || quizModal.style.display === 'flex') return;\\r\\n                if (e.key === 'ArrowRight') {\\r\\n                     const nextBtn = document.getElementById('next-btn') || document.querySelector('.quiz-action-button[onclick=\\\"backToMenu()\\\"]');\\r\\n                    if(nextBtn) nextBtn.click();\\r\\n                }\\r\\n                if (e.key === 'ArrowLeft') document.getElementById('prev-btn')?.click();\\r\\n            });\\r\\n\\r\\n            \/\/ If there's only one topic, start it automatically\\r\\n            if (studyData.length === 1) {\\r\\n                startTopic(0);\\r\\n            } else {\\r\\n                initializeMenu();\\r\\n            }\\r\\n        });\\r\\n    <\/script>\\r\\n<\/body>\\r\\n<\/html>&#8220;}\n\n\n\n\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[42],"tags":[],"class_list":["post-1016","post","type-post","status-publish","format-standard","hentry","category-auditing"],"_links":{"self":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts\/1016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/comments?post=1016"}],"version-history":[{"count":5,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts\/1016\/revisions"}],"predecessor-version":[{"id":1198,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts\/1016\/revisions\/1198"}],"wp:attachment":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/media?parent=1016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/categories?post=1016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/tags?post=1016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}