{"id":4924,"date":"2026-06-01T17:36:24","date_gmt":"2026-06-01T17:36:24","guid":{"rendered":"https:\/\/primetoolhub.com\/?page_id=4924"},"modified":"2026-07-19T03:45:51","modified_gmt":"2026-07-19T03:45:51","slug":"editorial-policy","status":"publish","type":"page","link":"https:\/\/schoolict.net\/tools\/editorial-policy\/","title":{"rendered":"Editorial Policy &amp; Engineering Standards"},"content":{"rendered":"\n<style>\n#pth-editorialpolicy-wrapper{font-family:system-ui,-apple-system,sans-serif;max-width:1400px;margin:0 auto;background:#f8fafc;padding:20px;border-radius:16px;color:#0f172a;line-height:1.6;opacity:1}\n#pth-editorialpolicy-wrapper *{box-sizing:border-box;min-width:0}\n#pth-editorialpolicy-wrapper .pth-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:35px 40px;margin-bottom:25px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}\n#pth-editorialpolicy-wrapper .pth-tool-title{font-size:36px;font-weight:800;color:#1d4ed8;margin:0 0 10px 0;letter-spacing:-.5px;line-height:1.2}\n#pth-editorialpolicy-wrapper .pth-tool-subtitle{font-size:16px;color:#475569;margin:0 0 30px 0;font-weight:500;border-bottom:2px solid #f1f5f9;padding-bottom:20px}\n#pth-editorialpolicy-wrapper .pth-flex-layout{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:start}\n#pth-editorialpolicy-wrapper .pth-flex-layout.pth-full-width{grid-template-columns:1fr}\n#pth-editorialpolicy-wrapper .pth-btn{padding:10px 20px;border-radius:8px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px}\n#pth-editorialpolicy-wrapper .pth-btn-secondary{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}\n#pth-editorialpolicy-wrapper .pth-btn-secondary:hover{background:#e2e8f0;color:#0f172a}\n#pth-editorialpolicy-wrapper h3.pth-sec-h{font-size:22px;font-weight:800;color:#1e293b;margin:40px 0 15px 0;display:flex;align-items:center;gap:10px;scroll-margin-top:100px;line-height:1.3}\n#pth-editorialpolicy-wrapper h3.pth-sec-h:first-of-type{margin-top:0}\n#pth-editorialpolicy-wrapper p{font-size:16px;color:#334155;margin:0 0 20px 0}\n#pth-editorialpolicy-wrapper ul{margin:0 0 25px 0;padding-left:22px;color:#334155}\n#pth-editorialpolicy-wrapper li{margin-bottom:12px;font-size:16px}\n#pth-editorialpolicy-wrapper strong{color:#0f172a;font-weight:700}\n#pth-editorialpolicy-wrapper a{color:#1d4ed8;text-decoration:none;font-weight:600}\n#pth-editorialpolicy-wrapper a:hover{text-decoration:underline}\n#pth-editorialpolicy-wrapper .pth-sidebar-col{position:sticky;top:20px}\n#pth-editorialpolicy-wrapper .pth-toc-title{font-size:14px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:1px;margin:0 0 15px 0}\n#pth-editorialpolicy-wrapper .pth-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}\n#pth-editorialpolicy-wrapper .pth-toc-list li{margin-bottom:0}\n#pth-editorialpolicy-wrapper .pth-toc-btn{display:block;width:100%;text-align:left;background:transparent;border:none;padding:8px 12px;border-radius:6px;font-size:14px;color:#334155;font-weight:600;cursor:pointer;transition:.2s;text-decoration:none}\n#pth-editorialpolicy-wrapper .pth-toc-btn:hover{background:#eff6ff;color:#1d4ed8;text-decoration:none}\n#pth-editorialpolicy-wrapper .pth-update-box{background:#fffbeb;border:1px solid #fde68a;padding:15px 20px;border-radius:8px;display:flex;align-items:center;gap:15px;margin-bottom:30px}\n#pth-editorialpolicy-wrapper .pth-update-icon{font-size:24px}\n#pth-editorialpolicy-wrapper .pth-update-text{font-size:14px;color:#92400e;margin:0;font-weight:600}\n@media (max-width:992px){\n#pth-editorialpolicy-wrapper .pth-flex-layout{grid-template-columns:1fr}\n#pth-editorialpolicy-wrapper .pth-sidebar-col{position:static;margin-bottom:20px;order:-1}\n#pth-editorialpolicy-wrapper .pth-card{padding:25px 20px}\n}\n<\/style>\n\n<div id=\"pth-editorialpolicy-wrapper\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;padding:0 10px;\">\n        <div>\n            <h2 class=\"pth-tool-title\">Editorial Policy<\/h2>\n            <div class=\"pth-tool-subtitle\">How tools and articles on Prime Tool Hub are built, tested and corrected<\/div>\n        <\/div>\n        <button type=\"button\" class=\"pth-btn pth-btn-secondary\" id=\"pth-fw-btn-editorialpolicy\" aria-label=\"Toggle full width layout\">&#9974; Full Width<\/button>\n    <\/div>\n\n    <div class=\"pth-flex-layout\" id=\"pth-editorialpolicy-layout\">\n\n        <div class=\"pth-main-col\">\n            <div class=\"pth-card\">\n\n                <div class=\"pth-update-box\">\n                    <div class=\"pth-update-icon\">\ud83d\udcdd<\/div>\n                    <p class=\"pth-update-text\"><strong>Last Updated:<\/strong> July 2026. This page explains who writes the content here, how tools are tested, and how mistakes get fixed.<\/p>\n                <\/div>\n\n                <div id=\"sec-who\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udd34 1. Who Writes and Builds This Site<\/h3>\n                    <p>Prime Tool Hub is a one-person project. Every tool, article and line of code on this site is written and maintained by a single ICT teacher working from Sri Lanka, not by a rotating pool of freelance writers. There is no editorial board, and pretending otherwise would be dishonest.<\/p>\n                    <p>That has an obvious downside: updates are slower than a funded team could manage, and a bug reported on a Tuesday may not be fixed until the weekend. It also has an upside worth stating plainly. Nothing gets published because it ranks well or because a topic is trending. A tool gets built when a real problem keeps coming up in a classroom or in a browser tab, and background details are on the <a href=\"https:\/\/schoolict.net\/tools\/about-the-founder\/\">about the founder<\/a> page.<\/p>\n                <\/div>\n\n                <div id=\"sec-testing\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udfe1 2. How Tools Are Tested Before Publishing<\/h3>\n                    <p>Tools are not published simply because they run without an error in the console. Each one is checked against known-correct output before it goes live.<\/p>\n                    <ul>\n                        <li><strong>Verified against a reference:<\/strong> Calculators and converters are tested against a source that is already trusted, not against themselves. Hash output is compared to a command-line result, logic simplification is compared to a hand-worked Karnaugh map, and date or cron parsing is compared to the specification rather than to intuition.<\/li>\n                        <li><strong>Deliberate bad input:<\/strong> Every tool is fed empty fields, oversized files, wrong file types and pasted content from word processors, because that is what real input actually looks like. A tool that silently returns something wrong is treated as more serious than one that visibly fails.<\/li>\n                        <li><strong>Real devices:<\/strong> Testing happens on a mid-range Android phone as well as a desktop browser. A layout that only behaves on a fast machine has not been tested.<\/li>\n                        <li><strong>Stated limits:<\/strong> Where a limit exists, such as a practical file size ceiling imposed by browser memory, it is written on the tool page itself instead of being left for the user to discover.<\/li>\n                    <\/ul>\n                    <p>Two examples of this policy in practice: a password generator on this site was rewritten after testing showed its shuffle was statistically biased, and a truth table tool was rebuilt because its expression parser mishandled certain operator combinations. Both were corrected before most users would ever have noticed.<\/p>\n                <\/div>\n\n                <div id=\"sec-ai\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udfe2 3. Use of AI in Our Content<\/h3>\n                    <p>AI writing assistants are widely used across the web, so it is fair for you to ask where this site stands. AI tools are sometimes used here for drafting help, phrasing and proofreading. They are never used to generate a finished page that is published without review.<\/p>\n                    <p>Every technical claim, every worked example and every number on this site is checked by a human before publication, and any output produced by a tool that appears in an article is generated by actually running that tool. Nothing is published on the assumption that a model got it right.<\/p>\n                <\/div>\n\n                <div id=\"sec-privacy\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udd34 4. Privacy and Client-Side Processing<\/h3>\n                    <p>Privacy on this site is an architectural decision rather than a promise. Nearly every tool runs entirely inside your browser using standard web APIs, which means the file you open, the text you paste and the key you check never travel to this server. There is no upload step to trust, because there is no upload.<\/p>\n                    <p>You can verify this yourself rather than taking it on faith. Open a tool, disconnect from the internet, and use it. If it still works, no data was being sent anywhere. The technical reasoning, including what this approach protects you from and what it does not, is covered in the guide on <a href=\"https:\/\/schoolict.net\/tools\/securing-api-keys-client-side-data-processing\/\">securing API keys with client-side data processing<\/a>.<\/p>\n                    <p>An honest limit: a small number of features cannot run locally, and any page where that applies says so on the page.<\/p>\n                <\/div>\n\n                <div id=\"sec-ads\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udfe1 5. Advertising and Editorial Independence<\/h3>\n                    <p>The site is free, with no premium tier, no account requirement and no email wall. Running costs are covered by display advertising.<\/p>\n                    <p>Advertising has no influence over editorial decisions. No advertiser has ever paid for a mention, a review or a link on this site, and no article is written to attract a particular category of ad. Where an external product or standard is referenced, it is because it is genuinely relevant, and any commercial relationship would be disclosed in the article itself.<\/p>\n                    <p>Ad placement follows a rule set deliberately: ads never sit inside a tool interface, never appear between an input field and its result, and never imitate a button. If an advertisement on this site ever looks like part of a tool, that is a bug worth reporting.<\/p>\n                <\/div>\n\n                <div id=\"sec-corrections\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udfe2 6. Corrections and Reader Reports<\/h3>\n                    <p>Software written by one person contains mistakes. The useful question is what happens next.<\/p>\n                    <p>If you find a wrong result, a broken feature or an unclear explanation, send the input you used along with the result you expected. Reports that include the exact input are usually resolved within a few days, while a report saying only that a tool is broken can take far longer to reproduce.<\/p>\n                    <p>When a factual error is fixed in an article, the page is corrected and its update date is changed rather than the error being quietly deleted. When a tool produces incorrect output, the fix takes priority over new work in progress. Several tools on this site exist in their current form specifically because a reader took the time to report a problem, and the <a href=\"https:\/\/schoolict.net\/tools\/contact-us\/\">contact page<\/a> is the fastest route.<\/p>\n                <\/div>\n\n                <div id=\"sec-updates\">\n                    <h3 class=\"pth-sec-h\">\ud83d\udd34 7. Keeping Pages Current<\/h3>\n                    <p>Browsers change, and a technique that worked in one release can quietly stop working in the next. Pages here are reviewed periodically rather than left to age, and the review checks that the described steps still match what the tool actually does, that external references still resolve, and that any standard mentioned is still current. Web platform behaviour is checked against <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\" target=\"_blank\" rel=\"noopener\">MDN Web Docs<\/a>, and where a protocol or format is involved, against the relevant <a href=\"https:\/\/www.rfc-editor.org\/\" target=\"_blank\" rel=\"noopener\">RFC specification<\/a>.<\/p>\n                    <p>When a tool can no longer be maintained properly, it is retired rather than left online in a broken state. A smaller set of tools that work is more useful than a large catalogue that cannot be trusted.<\/p>\n                <\/div>\n\n            <\/div>\n        <\/div>\n\n        <div class=\"pth-sidebar-col\" id=\"pth-editorialpolicy-sidebar\">\n            <div class=\"pth-card\" style=\"padding:25px;\">\n                <div class=\"pth-toc-title\">Table of Contents<\/div>\n                <ul class=\"pth-toc-list\">\n                    <li><a href=\"#sec-who\" class=\"pth-toc-btn\">\ud83d\udd34 Who Writes This Site<\/a><\/li>\n                    <li><a href=\"#sec-testing\" class=\"pth-toc-btn\">\ud83d\udfe1 How Tools Are Tested<\/a><\/li>\n                    <li><a href=\"#sec-ai\" class=\"pth-toc-btn\">\ud83d\udfe2 Use of AI in Content<\/a><\/li>\n                    <li><a href=\"#sec-privacy\" class=\"pth-toc-btn\">\ud83d\udd34 Privacy &amp; Client-Side<\/a><\/li>\n                    <li><a href=\"#sec-ads\" class=\"pth-toc-btn\">\ud83d\udfe1 Advertising Independence<\/a><\/li>\n                    <li><a href=\"#sec-corrections\" class=\"pth-toc-btn\">\ud83d\udfe2 Corrections Policy<\/a><\/li>\n                    <li><a href=\"#sec-updates\" class=\"pth-toc-btn\">\ud83d\udd34 Keeping Pages Current<\/a><\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n\n    <\/div>\n<\/div>\n\n<script data-no-optimize=\"1\" data-no-minify=\"1\" data-cfasync=\"false\">\n(function () {\n    'use strict';\n\n    window.pth = window.pth || {};\n\n    window.pth.EditorialPolicyApp = {\n        initialized: false,\n\n        init: function () {\n            var self = this;\n            var fwBtn = document.getElementById('pth-fw-btn-editorialpolicy');\n            if (fwBtn) {\n                fwBtn.addEventListener('click', function () {\n                    self.toggleWidth();\n                });\n            }\n            this.enableSmoothScroll();\n        },\n\n        \/\/ Scoped smooth scrolling. Avoids setting a global CSS rule on the html element.\n        enableSmoothScroll: function () {\n            var links = document.querySelectorAll('#pth-editorialpolicy-wrapper .pth-toc-btn');\n            var i;\n            for (i = 0; i < links.length; i++) {\n                links[i].addEventListener('click', function (event) {\n                    var href = this.getAttribute('href');\n                    if (!href || href.charAt(0) !== '#') { return; }\n                    var target = document.getElementById(href.substring(1));\n                    if (!target) { return; }\n                    event.preventDefault();\n                    if (window.scrollTo &#038;&#038; typeof window.scrollTo === 'function') {\n                        try {\n                            window.scrollTo({\n                                top: target.getBoundingClientRect().top + window.pageYOffset - 90,\n                                behavior: 'smooth'\n                            });\n                            return;\n                        } catch (err) {\n                            \/\/ Older browsers fall through to the basic jump below.\n                        }\n                    }\n                    target.scrollIntoView();\n                });\n            }\n        },\n\n        toggleWidth: function () {\n            var layout = document.getElementById('pth-editorialpolicy-layout');\n            var sidebar = document.getElementById('pth-editorialpolicy-sidebar');\n            var btn = document.getElementById('pth-fw-btn-editorialpolicy');\n\n            if (!layout || !sidebar || !btn) { return; }\n\n            if (layout.className.indexOf('pth-full-width') !== -1) {\n                layout.className = layout.className.replace(' pth-full-width', '');\n                sidebar.style.display = 'block';\n                btn.textContent = '\\u26F6 Full Width';\n            } else {\n                layout.className = layout.className + ' pth-full-width';\n                sidebar.style.display = 'none';\n                btn.textContent = '\\u25E8 Split View';\n            }\n        }\n    };\n\n    function runInit() {\n        if (!window.pth.EditorialPolicyApp.initialized &#038;&#038;\n            document.getElementById('pth-editorialpolicy-wrapper')) {\n            window.pth.EditorialPolicyApp.initialized = true;\n            window.pth.EditorialPolicyApp.init();\n        }\n    }\n\n    \/\/ Layer 1: immediate\n    runInit();\n\n    \/\/ Layer 2: DOMContentLoaded\n    document.addEventListener('DOMContentLoaded', runInit);\n\n    \/\/ Layer 3: window load with a short delay\n    window.addEventListener('load', function () {\n        setTimeout(runInit, 50);\n    });\n\n    \/\/ Layer 4: MutationObserver for late DOM injection, auto-disconnect after 10 seconds\n    if (typeof MutationObserver !== 'undefined') {\n        var observer = new MutationObserver(function () {\n            runInit();\n            if (window.pth.EditorialPolicyApp.initialized) {\n                observer.disconnect();\n            }\n        });\n        observer.observe(document.body || document.documentElement, {\n            childList: true,\n            subtree: true\n        });\n        setTimeout(function () {\n            observer.disconnect();\n        }, 10000);\n    }\n})();\n<\/script>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebPage\",\n      \"@id\": \"https:\/\/schoolict.net\/tools\/editorial-policy\/#webpage\",\n      \"url\": \"https:\/\/schoolict.net\/tools\/editorial-policy\/\",\n      \"name\": \"Editorial Policy & Engineering Standards | Prime Tool Hub\",\n      \"description\": \"Read the official Prime Tool Hub editorial policy. Discover our strict engineering standards, 100% offline privacy guarantees, and developer transparency.\",\n      \"inLanguage\": \"en-US\",\n      \"about\": {\n        \"@type\": \"Thing\",\n        \"name\": \"Editorial Policy, Privacy, and Engineering Standards\"\n      }\n    },\n    {\n      \"@type\": \"Article\",\n      \"@id\": \"https:\/\/schoolict.net\/tools\/editorial-policy\/#article\",\n      \"headline\": \"Editorial Policy & Engineering Standards at Prime Tool Hub\",\n      \"description\": \"Read the official Prime Tool Hub editorial policy. Discover our strict engineering standards, 100% offline privacy guarantees, and developer transparency.\",\n      \"author\": {\n        \"@type\": \"Person\",\n        \"name\": \"Ruwan Mangala Suraweera\",\n        \"url\": \"https:\/\/schoolict.net\/tools\/about-us\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"@id\": \"https:\/\/schoolict.net\/tools\/#organization\",\n        \"name\": \"Prime Tool Hub\",\n        \"url\": \"https:\/\/schoolict.net\/tools\/\"\n      },\n      \"mainEntityOfPage\": {\n        \"@id\": \"https:\/\/schoolict.net\/tools\/editorial-policy\/#webpage\"\n      }\n    },\n    {\n      \"@type\": \"Person\",\n      \"@id\": \"https:\/\/schoolict.net\/tools\/about-us\/#person\",\n      \"name\": \"Ruwan Mangala Suraweera\",\n      \"jobTitle\": \"ICT Educator and Web Developer\",\n      \"alumniOf\": {\n        \"@type\": \"CollegeOrUniversity\",\n        \"name\": \"University of Kelaniya\"\n      },\n      \"url\": \"https:\/\/schoolict.net\/tools\/about-us\/\"\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Editorial Policy How tools and articles on Prime Tool Hub are built, tested and corrected &#9974; Full Width \ud83d\udcdd Last Updated: July 2026. This page explains who writes the content here, how tools are tested, and how mistakes get fixed. \ud83d\udd34 1. Who Writes and Builds This Site Prime Tool Hub is a one-person project. &#8230; <a title=\"Editorial Policy &amp; Engineering Standards\" class=\"read-more\" href=\"https:\/\/schoolict.net\/tools\/editorial-policy\/\" aria-label=\"Read more about Editorial Policy &amp; Engineering Standards\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":4925,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4924","page","type-page","status-publish","has-post-thumbnail"],"_links":{"self":[{"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/pages\/4924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/comments?post=4924"}],"version-history":[{"count":2,"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/pages\/4924\/revisions"}],"predecessor-version":[{"id":6718,"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/pages\/4924\/revisions\/6718"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/media\/4925"}],"wp:attachment":[{"href":"https:\/\/schoolict.net\/tools\/wp-json\/wp\/v2\/media?parent=4924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}