{"id":5848,"date":"2025-04-03T06:52:04","date_gmt":"2025-04-03T06:52:04","guid":{"rendered":"https:\/\/www.hashmicro.com\/my\/blog\/?p=5848"},"modified":"2026-03-03T04:14:44","modified_gmt":"2026-03-03T04:14:44","slug":"esg-framework","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/","title":{"rendered":"ESG Framework Explained: What Malaysian Companies Need to Know"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Malaysian businesses are facing mounting pressure to meet ESG expectations\u2014but many still grapple with unclear standards and inconsistent reporting. As regulatory demands grow and investors prioritize sustainability, having the right ESG framework is no longer optional.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/arxiv.org\/abs\/2309.07001\">A global study<\/a> of 1,114 ESG reports revealed a clear shift toward standardized reporting, signaling that businesses must act fast to build legitimacy and reduce uncertainty. In this guide, we\u2019ll break down what an ESG framework is, why it matters, and how local companies can implement it effectively.<\/span><\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li>The ESG framework is a structured approach that enables businesses to report environmental, social, and governance performance with transparency.<\/li>\n<li>Malaysian companies must navigate regulatory complexity, stakeholder expectations, and industry-specific ESG requirements to stay compliant and competitive.<\/li>\n<li><a href=\"https:\/\/www.hashmicro.com\/my\/erp-system\">HashMicro\u2019s ERP solution <\/a>supports ESG integration with automated tracking, real-time reporting, and built-in compliance features\u2014empowering businesses to improve ESG visibility and long-term sustainability<\/li>\n<\/ul>\n<p><style>\r\n.button-cta-custom {\r\n    background-color: #8a0e19;\r\n    color: #fff !important;\r\n    -webkit-transition: all .3s ease;\r\n    transition: all .3s ease;\r\n    padding: 8px 24px;\r\n    display: inline-block;\r\n    border-radius: 8px;\r\n    font-size: 16px;\r\n    font-weight: bold;\r\n}\r\n.button-cta-custom:hover{\r\n\tbackground-color:#991b26\t\t\r\n}\r\n<\/style>\r\n<a class=\"button-cta-custom\" href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo?medium=cta-button\" target=\"_blank\">Click Here to Get the Free Demo!<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Content\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Content Lists<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<!-- TOC mobile -->\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Table of Content<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n<!-- TOC mobile -->\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\t\t\t\t\r\n\t}\r\n\r\n<\/style>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- START ToC styling  -->\r\n<style>\r\n\t\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n<!-- END ToC styling  -->\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\ttocTitle.textContent = 'Table of Content';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/         toc.style.display = 'block';\r\n\/\/ \t}else{\r\n\/\/         toc.style.display = 'none';\r\n\/\/ \t}\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n\/\/         console.log(\"activeLink:\", activeLink);\r\n        if (activeLink) {\r\n\/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n          tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n        }\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n<\/script>\r\n\r\n<!-- <script>\r\n\tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\t\tdropdownFixedTop.addEventListener('click', function() {\r\n\t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\t\t\tdropdownContent.classList.toggle('show');\r\n\t\t});\r\n\r\n\t\twindow.addEventListener('click', function(event) {\r\n\t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\t\t\t\tlistTocTop.classList.remove('show');\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t\r\n\tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n    var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n    window.addEventListener('scroll', function() {\r\n        if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n            showSectionDropdownFixedTop(false);\r\n            triggered = true;\r\n        } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n            showSectionDropdownFixedTop(true);\r\n            triggered = false;\r\n        }\r\n    });\r\n\r\n    function isCompletelyScrolledPast(element) {\r\n        var elementTop = element.getBoundingClientRect().top;\r\n        var elementBottom = element.getBoundingClientRect().bottom;\r\n        return elementTop < 0 && elementBottom < 0;\r\n    }\r\n\r\n    function showSectionDropdownFixedTop(show) {\r\n\t\tif (show) {\r\n\t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\t\t} else {\r\n\t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\t\t}\r\n    }\r\n\r\n\/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n\t\t  pilihDaftarIsi.innerHTML = a.textContent;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script> -->\r\n<!-- END script lama -->\r\n\t\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n        \/\/ Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif(element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Biar ga nampilin Key Takeaways di ToC\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\n\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\r\n\r\n\r\n\r\n\t\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n<!-- \t<style>#toc_group_float{display:block !important}<\/style> -->\r\n<a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=free-product-demo\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/07\/free-demo-mobile-my.jpg\" alt=\"FreeDemo\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script><\/p>\n<h2><strong>What Is an ESG Framework?<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-5855 size-full\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework.webp\" alt=\"esg sustainability framework\" width=\"800\" height=\"450\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework.webp 800w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-696x392.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>An <strong>ESG framework<\/strong> is a set of guidelines that helps businesses measure and report how they perform in three key areas: environmental impact, social responsibility, and corporate governance. It serves as a roadmap for companies to share their sustainability efforts with stakeholders, investors, and regulators in a clear and consistent way.<\/p>\n<p>These frameworks typically include specific indicators and reporting requirements\u2014such as how much carbon a company emits, how it supports employee welfare, or how decisions are made at the leadership level. By following an ESG framework, companies can improve transparency, reduce risks, and align with both business goals and sustainability standards.<\/p>\n<p>In Malaysia, ESG adoption is gaining momentum as businesses respond to rising regulatory demands and stakeholder expectations. Some frameworks are required by law, while others are voluntary\u2014but choosing the right one can help organizations meet compliance needs and build a stronger, more sustainable business.<\/p>\n<h2><strong>What Does ESG Stand For?<\/strong><\/h2>\n<p>ESG stands for Environmental, Social, and Governance\u2014three pillars used to evaluate a company\u2019s ethical standards and sustainability practices. Together, these elements form the foundation of any effective ESG framework.<\/p>\n<ul>\n<li><strong>The Environmental<\/strong> aspect looks at how a business affects the planet. This includes carbon emissions, energy efficiency, waste management, and climate risk initiatives.<\/li>\n<li><strong>The Social<\/strong> aspect focuses on how a company treats people\u2014employees, customers, suppliers, and the communities where it operates. Topics include labor rights, diversity, health and safety, and social equity.<\/li>\n<li><strong>The Governance<\/strong> pillar evaluates how a business is run, including leadership structure, transparency, ethical behavior, and accountability to stakeholders.<\/li>\n<\/ul>\n<p>Understanding these three areas helps businesses build a well-rounded ESG strategy that supports long-term growth, builds trust, and improves their ESG score over time.<\/p>\n<h2><strong>How ESG Frameworks Have Evolved<\/strong><\/h2>\n<p>The idea behind ESG frameworks has developed steadily over the past few decades, shaped by changing views on corporate responsibility and sustainability. What started as basic environmental and labor initiatives has now become a global standard for responsible business.<\/p>\n<ul>\n<li><strong>1980s\u20131990s: Early Environmental and Labor Efforts<\/strong><br \/>\nDuring this period, attention focused on workplace safety and pollution control through the Environment, Health, and Safety (EHS) movement. In the 1990s, more businesses adopted sustainability goals, though some efforts were criticized for being surface-level or \u201cgreenwashed.\u201d<\/li>\n<li><strong>2000s\u20132010s: Rise of CSR and Formal ESG Standards<\/strong><br \/>\nThe early 2000s saw the growth of Corporate Social Responsibility (CSR) programs, with companies investing in philanthropy and ethical practices. The term ESG was officially introduced by the UN in 2004, leading to the development of the first global ESG reporting frameworks and greater demand for standardized disclosures.<\/li>\n<li><strong>2010s\u2013Today: Proactive, Data-Driven Sustainability<\/strong><br \/>\nModern ESG approaches are focused on prevention rather than reaction. Companies now use technology to monitor sustainability risks in real time, improve governance, and meet stricter regulations. Investors and regulators increasingly rely on ESG data to assess business resilience and ethical impact.<\/li>\n<\/ul>\n<p>As ESG continues to evolve, Malaysian companies are recognizing the need to adopt structured ESG policies and frameworks to stay relevant, credible, and competitive in both local and global markets.<\/p>\n<h2><strong>Why Is ESG Reporting Important?<\/strong><\/h2>\n<p>For Malaysian companies aiming to grow responsibly, ESG reporting frameworks are no longer optional\u2014they\u2019re essential. These frameworks help businesses communicate their sustainability efforts clearly, earn stakeholder trust, and meet regulatory expectations.<\/p>\n<p>Here\u2019s why ESG reporting matters:<\/p>\n<ul>\n<li><strong>Builds stakeholder and investor trust<\/strong><br \/>\nTransparent ESG reporting shows that a company is committed to ethical practices, making it more attractive to investors and business partners.<\/li>\n<li><strong>Reduces risks across the supply chain<\/strong><br \/>\nWith the right ESG framework, companies can assess their vendors and partners to ensure responsible sourcing, labor practices, and environmental compliance.<\/li>\n<li><strong>Creates competitive advantage<\/strong><br \/>\nBusinesses with strong ESG disclosures tend to attract more customers, talent, and capital\u2014especially as buyers and investors look for sustainable brands.<\/li>\n<li><strong>Improves brand reputation<\/strong><br \/>\nA clear, consistent ESG strategy demonstrates accountability and helps businesses align with public expectations around sustainability and social impact.<\/li>\n<li><strong>Supports long-term planning and growth<\/strong><br \/>\nUsing an ESG framework encourages companies to set measurable goals, track their performance, and adjust strategies for sustainable success.<\/li>\n<\/ul>\n<p>With increasing global pressure for transparency, adopting an effective ESG reporting framework supported by the <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-esg-software\/\">best ESG software<\/a> helps position businesses for resilience and long-term value creation.<\/p>\n<h2><strong>Tips for Finding the Best ESG Framework for Your Company<\/strong><\/h2>\n<p>Choosing the right ESG framework is a strategic decision that depends on your industry, operations, and reporting needs. The right fit will help your business stay compliant, build credibility, and meet both local and international sustainability standards.<br \/>\nHere are five key factors to consider:<\/p>\n<h3><strong>1. Understand Your Business Impact and Goals<\/strong><\/h3>\n<p>Start by identifying the sustainability issues that matter most to your company. Consider how your operations affect the environment, communities, and governance practices. Aligning your goals with a suitable ESG policy framework ensures that reporting efforts focus on what\u2019s most relevant.<\/p>\n<h3><strong>2. Align with Stakeholder Expectations<\/strong><\/h3>\n<p>Investors, regulators, and even customers now expect greater transparency. Choosing a widely recognized ESG reporting framework increases confidence among stakeholders and can influence access to capital and partnerships.<\/p>\n<h3><strong>3. Meet Regulatory and Regional Requirements<\/strong><\/h3>\n<p>Each country has its own ESG rules, and Malaysia is no exception. Make sure your chosen framework complies with national regulations while also aligning with global standards to maintain credibility across markets.<\/p>\n<h3><strong>4. Fit Your Industry Standards<\/strong><\/h3>\n<p>Different sectors have different ESG priorities. A manufacturing company may focus on carbon emissions, while a retail brand may prioritize labor rights. Select a framework that reflects the ESG focus areas relevant to your industry.<\/p>\n<h3><strong>5. Evaluate Framework Scope and Coverage<\/strong><\/h3>\n<p>Some ESG frameworks emphasize environmental factors, while others give more weight to social or governance issues. Choose one that provides balanced coverage and helps track the metrics that matter most to your operations and long-term goals.<\/p>\n<p>By carefully evaluating these aspects, businesses in Malaysia can adopt an ESG framework that strengthens compliance, boosts investor confidence, and supports sustainable growth.<\/p>\n<h2><strong>Common ESG Reporting Frameworks Businesses Can Consider<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-5856 size-full\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3.webp\" alt=\"esg framework \" width=\"800\" height=\"450\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3.webp 800w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-3-696x392.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>As more Malaysian companies commit to sustainability, selecting the right ESG reporting framework becomes a key step in building credibility and achieving compliance. These frameworks help businesses measure their environmental, social, and governance practices in a structured and standardized way.<\/p>\n<p>ESG frameworks are generally grouped into three categories: benchmark, voluntary, and regulatory. Each serves different business needs depending on your industry, goals, and compliance requirements.<\/p>\n<h3><strong>1. Benchmark ESG Frameworks<\/strong><\/h3>\n<p>Benchmark frameworks use fixed metrics and scoring systems to evaluate ESG performance. These are ideal for companies that want measurable results and comparisons across competitors.<\/p>\n<ul>\n<li><strong>Carbon Disclosure Project (CDP):<\/strong><br \/>\nThis global platform gathers data on climate-related impacts, water security, and forest usage. Companies complete questionnaires that are scored to reflect transparency and sustainability performance. CDP results are widely used by investors and stakeholders to assess environmental risk.<\/li>\n<li><strong>Global Real Estate Sustainability Benchmark (GRESB):<\/strong><br \/>\nTailored for the real estate and infrastructure sectors, GRESB assesses ESG performance using peer benchmarking. It helps fund managers and investors make informed decisions based on sustainability scores.<\/li>\n<\/ul>\n<p>Benchmark frameworks are particularly useful when engaging with external stakeholders like institutional investors or when businesses want to track their improvement year-over-year.<\/p>\n<h3><strong>2. Voluntary ESG Frameworks<\/strong><\/h3>\n<p>Voluntary frameworks offer flexibility, allowing companies to choose reporting metrics based on what\u2019s most material to their business operations and goals. These are ideal for organizations just starting their ESG journey or operating in less regulated sectors.<\/p>\n<ul>\n<li><strong>Global Reporting Initiative (GRI):<\/strong><br \/>\nOne of the most widely used ESG frameworks worldwide, GRI provides modular standards covering topics like energy use, waste management, labor practices, and governance. It allows companies to tailor their sustainability reports based on what matters most to stakeholders.<\/li>\n<li><strong>Task Force on Climate-related Financial Disclosures (TCFD):<\/strong><br \/>\nTCFD focuses on the risks and opportunities presented by climate change. It guides companies on how to incorporate these considerations into financial planning, governance, and strategic risk management.<\/li>\n<li><strong>Sustainability Accounting Standards Board (SASB):<\/strong><br \/>\nSASB provides industry-specific standards that align ESG reporting with financial performance. It\u2019s especially useful for companies looking to communicate ESG data to investors in a structured and comparable way.<\/li>\n<li><strong>ISO 26000:<\/strong><br \/>\nRather than offering metrics, ISO 26000 is a guidance standard that helps companies embed corporate social responsibility frameworks into their strategies and daily operations.<\/li>\n<li><strong>United Nations Sustainable Development Goals (UN SDGs):<\/strong><br \/>\nWhile not a framework in the strictest sense, the UN SDGs serve as a powerful reference for organizations aligning their business goals with global sustainability objectives.<\/li>\n<\/ul>\n<p>These voluntary tools are excellent for businesses that value adaptability, stakeholder engagement, and broader social impact.<\/p>\n<h3><strong>3. Regulatory ESG Frameworks<\/strong><\/h3>\n<p>Some industries and regions require businesses to follow specific ESG reporting standards by law. These regulatory frameworks ensure transparency, accountability, and alignment with national sustainability agendas.<\/p>\n<ul>\n<li><strong>Corporate Sustainability Reporting Directive (CSRD \u2013 EU):<\/strong><br \/>\nThe CSRD is part of the EU\u2019s Green Deal and requires large companies to publish regular ESG reports aligned with the European Sustainability Reporting Standards (ESRS). It emphasizes double materiality\u2014considering both how the environment affects the company and how the company affects the environment and society.<\/li>\n<li><strong>National Greenhouse and Energy Reporting (NGER \u2013 Australia):<\/strong><br \/>\nThis framework mandates the reporting of greenhouse gas emissions and energy usage for companies above certain thresholds. It\u2019s designed to support environmental regulations and national climate targets.<\/li>\n<li><strong>Streamlined Energy and Carbon Reporting (SECR \u2013 UK):<\/strong><br \/>\nSECR requires large UK businesses to disclose their annual energy use, carbon emissions, and efficiency actions in their financial reports.<\/li>\n<li><strong>Sustainable Finance Disclosure Regulation (SFDR \u2013 EU):<\/strong><br \/>\nApplicable to financial institutions, SFDR mandates ESG disclosures on investment products and how sustainability risks are integrated into decision-making processes.<\/li>\n<\/ul>\n<p>For businesses in Malaysia operating across borders, aligning with international regulatory frameworks helps maintain transparency and credibility with investors, partners, and regulators.<\/p>\n<h2><strong>ESG Ratings &amp; Rating Agencies: Measuring Your Sustainability Performance<\/strong><\/h2>\n<p>Once a business adopts an ESG framework, the next step is often getting evaluated through an ESG rating. These ratings help investors, stakeholders, and the public understand how well a company performs in terms of environmental, social, and governance criteria.<\/p>\n<p>ESG rating agencies use different scoring models and data sources\u2014such as company disclosures, public reports, and third-party data\u2014to assess performance. While not always mandatory, ESG ratings are becoming an essential part of how businesses are judged in the eyes of regulators and the investment community.<\/p>\n<p>Here are some of the most widely recognized ESG rating agencies:<\/p>\n<h3><strong>1. Bloomberg ESG Ratings<\/strong><\/h3>\n<p>Bloomberg evaluates over 10,000 companies annually, focusing on publicly available ESG data. Its scores help investors assess corporate responsibility, environmental risk exposure, and governance standards in line with global ESG sustainability frameworks.<\/p>\n<h3><strong>2. S&amp;P Global ESG Scores<\/strong><\/h3>\n<p>S&amp;P assesses more than 50 ESG metrics and ranks businesses using its Corporate Sustainability Assessment (CSA). The scores help companies benchmark their ESG performance across industries and geographies.<\/p>\n<h3><strong>3. Dow Jones Sustainability Index (DJSI)<\/strong><\/h3>\n<p>The DJSI ranks leading sustainability-driven companies based on long-term ESG criteria. It uses a robust scoring process, comparing firms against peers in over 60 industries.<\/p>\n<h3><strong>4. Energy Star Certification<\/strong><\/h3>\n<p>Developed by the U.S. EPA, Energy Star evaluates energy efficiency in commercial buildings and products. While often seen in real estate or manufacturing, it contributes to a company\u2019s environmental, social, and governance strategy by measuring operational sustainability.<\/p>\n<h2><strong>Preparing for Growing ESG Trends<\/strong><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/my\/blog\/esg-reporting\/\">As ESG reporting becomes more data-driven and technology-powered<\/a>, businesses must be ready for rapid changes in how their sustainability performance is evaluated. From AI-based assessments to evolving disclosure standards, companies in Malaysia need to future-proof their ESG framework to stay ahead.<\/p>\n<h3><strong>Adapting to AI-Driven ESG Ratings<\/strong><\/h3>\n<p>Modern ESG rating agencies increasingly rely on AI to collect and analyze publicly available data\u2014from media coverage and corporate websites to investor reports and government records. This means companies must be intentional about how and where they share ESG-related information.<\/p>\n<p>Here\u2019s how to stay prepared:<\/p>\n<ul>\n<li><strong>Identify your key rating agencies<\/strong><br \/>\nUnderstand which ESG scores matter most to your investors, stakeholders, or regulatory bodies. Engage with these agencies and align your reporting practices with their methodologies.<\/li>\n<li><strong>Ensure accuracy and visibility<\/strong><br \/>\nPublish consistent ESG reports and updates across official platforms, including your website and press releases. This ensures that AI systems extract reliable and up-to-date information.<\/li>\n<li><strong>Review your data sources<\/strong><br \/>\nKnow where your ESG data comes from and verify its accuracy. Use audit-ready tools and software to validate reports and performance metrics.<\/li>\n<\/ul>\n<h2><strong>Staying Ahead of ESG Framework Changes<\/strong><\/h2>\n<p>To maintain a competitive edge and reduce compliance risks, businesses must regularly assess and adapt their ESG strategy. Here\u2019s what to prioritize:<\/p>\n<ul>\n<li><strong>Invest in real-time data tracking<\/strong><br \/>\nUse digital solutions, such as ESG-ready <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-erp-software\/\">ERP management software<\/a>, to monitor environmental, social, and governance data as it happens. This enables faster reporting, reduces errors, and supports better decision-making.<\/li>\n<li><strong>Strengthen internal collaboration<\/strong><br \/>\nESG performance is a company-wide effort. Work closely with departments like operations, HR, legal, and finance to build a unified approach to reporting and compliance.<\/li>\n<li><strong>Anticipate regulatory shifts<\/strong><br \/>\nFollow updates from local regulators, global ESG standard-setters, and industry bodies. Being informed helps businesses pivot quickly and avoid last-minute compliance challenges.<\/li>\n<\/ul>\n<p>By proactively responding to emerging ESG trends, Malaysian companies can protect their reputation, improve investor confidence, and build a resilient, future-focused ESG sustainability framework.<\/p>\n<h2><strong>How HashMicro\u2019s ERP Software Supports Your ESG Framework<\/strong><\/h2>\n<p>Building a strong ESG framework isn\u2019t just about reporting\u2014it\u2019s about managing sustainability from the inside out. That\u2019s where <a href=\"https:\/\/www.hashmicro.com\/my\/erp-system\">HashMicro\u2019s ERP software<\/a> makes a difference. Designed to integrate ESG metrics into daily operations, it helps businesses track performance, meet compliance standards, and enhance long-term sustainability.<\/p>\n<p>With automated data collection, real-time reporting, and built-in compliance tools, HashMicro empowers companies to align with both local regulations and global ESG reporting frameworks. Whether you\u2019re monitoring carbon emissions, improving labor transparency, or strengthening governance practices, our <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/types-of-erp\/\">ERP<\/a> system gives you the visibility and control you need<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>Adopting a practical and well-structured ESG framework is essential for companies aiming to meet today\u2019s sustainability standards and stakeholder expectations. With growing regulatory demands and increased pressure for transparency, businesses need more than good intentions\u2014they need the right tools and strategy.<\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/my\/erp-system\">HashMicro\u2019s ERP software<\/a> provides that support. It automates ESG tracking, enhances reporting accuracy, and helps businesses stay aligned with evolving ESG standards. From compliance to operational efficiency, our solution simplifies ESG management for long-term impact.<\/p>\n<p>Ready to take your ESG strategy to the next level? Try a <a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=web-form-header\">free demo<\/a> of HashMicro\u2019s ERP solution today and discover how it can power your journey toward sustainable, data-driven success.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=free-product-demo\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/07\/free-demo-mobile-my.jpg\" alt=\"FreeDemo\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2><strong>FAQ about X<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is the ESG framework in Malaysia?\/strong&gt;<\/strong><\/summary>\n<p>The ESG framework in Malaysia refers to guidelines businesses use to report on environmental, social, and governance practices. It aligns with standards like GRI, TCFD, and SASB, often encouraged by Bursa Malaysia to improve transparency and sustainability.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What are the 5 Ps of ESG?<br \/>\n<\/strong><\/summary>\n<p>The 5 Ps of ESG stand for People, Planet, Prosperity, Purpose, and Partnerships. These pillars focus on employee welfare, environmental care, ethical growth, company values, and stakeholder collaboration in driving sustainable business.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the ESG strategy framework?<\/strong><\/summary>\n<p>An ESG strategy framework is a plan that integrates ESG goals into business operations. It involves choosing the right framework, tracking progress, and ensuring transparent reporting to meet compliance and stakeholder expectations.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the most popular ESG framework?<br \/>\n<\/strong><\/summary>\n<p>The Global Reporting Initiative (GRI) is the most widely used ESG framework, offering flexible guidelines for sustainability reporting. Other common frameworks include TCFD, SASB, and the UN SDGs.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"What is the ESG framework in Malaysia?\/strong>\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The ESG framework in Malaysia refers to guidelines businesses use to report on environmental, social, and governance practices. It aligns with standards like GRI, TCFD, and SASB, often encouraged by Bursa Malaysia to improve transparency and sustainability.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What are the 5 Ps of ESG?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The 5 Ps of ESG stand for People, Planet, Prosperity, Purpose, and Partnerships. These pillars focus on employee welfare, environmental care, ethical growth, company values, and stakeholder collaboration in driving sustainable business.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What is the ESG strategy framework?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"An ESG strategy framework is a plan that integrates ESG goals into business operations. It involves choosing the right framework, tracking progress, and ensuring transparent reporting to meet compliance and stakeholder expectations.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What is the most popular ESG framework?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The Global Reporting Initiative (GRI) is the most widely used ESG framework, offering flexible guidelines for sustainability reporting. Other common frameworks include TCFD, SASB, and the UN SDGs.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Malaysian businesses are facing mounting pressure to meet ESG expectations\u2014but many still grapple with unclear standards and inconsistent reporting. As regulatory demands grow and investors prioritize sustainability, having the right ESG framework is no longer optional. A global study of 1,114 ESG reports revealed a clear shift toward standardized reporting, signaling that businesses must act [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":5853,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53],"tags":[],"class_list":{"0":"post-5848","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-erp"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ESG Framework Explained: What Malaysian Companies Need to Know - HashMicro Malaysia<\/title>\n<meta name=\"description\" content=\"Learn how ESG frameworks guide Malaysian businesses toward sustainability, compliance, and long-term growth.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESG Framework Explained: What Malaysian Companies Need to Know\" \/>\n<meta property=\"og:description\" content=\"Learn how ESG frameworks guide Malaysian businesses toward sustainability, compliance, and long-term growth.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Malaysia\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-03T06:52:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-03T04:14:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"451\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Nur Aisyah\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nur Aisyah\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\"},\"author\":{\"name\":\"Nur Aisyah\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/9bb64292eb715a56992e15a421d0b91a\"},\"headline\":\"ESG Framework Explained: What Malaysian Companies Need to Know\",\"datePublished\":\"2025-04-03T06:52:04+00:00\",\"dateModified\":\"2026-03-03T04:14:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\"},\"wordCount\":2718,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp\",\"articleSection\":[\"ERP\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\",\"name\":\"ESG Framework Explained: What Malaysian Companies Need to Know - HashMicro Malaysia\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp\",\"datePublished\":\"2025-04-03T06:52:04+00:00\",\"dateModified\":\"2026-03-03T04:14:44+00:00\",\"description\":\"Learn how ESG frameworks guide Malaysian businesses toward sustainability, compliance, and long-term growth.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp\",\"width\":800,\"height\":451,\"caption\":\"esg framework\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/my\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESG Framework Explained: What Malaysian Companies Need to Know\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"name\":\"HashMicro Malaysia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\",\"name\":\"HashMicro Malaysia\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"width\":422,\"height\":255,\"caption\":\"HashMicro Malaysia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/9bb64292eb715a56992e15a421d0b91a\",\"name\":\"Nur Aisyah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Nur-Aisyah-1-1-96x96.webp\",\"contentUrl\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Nur-Aisyah-1-1-96x96.webp\",\"caption\":\"Nur Aisyah\"},\"description\":\"Nur Aisyah specializes in writing comprehensive articles about Enterprise Resource Planning (ERP) systems and their applications across industries. She breaks down complex ERP functionalities into reader-friendly content that guides businesses through selection, implementation, and optimization. Her writing helps organizations understand how integrated systems can streamline operations and drive growth.\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/author\/nur-aisyah\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ESG Framework Explained: What Malaysian Companies Need to Know - HashMicro Malaysia","description":"Learn how ESG frameworks guide Malaysian businesses toward sustainability, compliance, and long-term growth.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/","og_locale":"en_US","og_type":"article","og_title":"ESG Framework Explained: What Malaysian Companies Need to Know","og_description":"Learn how ESG frameworks guide Malaysian businesses toward sustainability, compliance, and long-term growth.","og_url":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/","og_site_name":"HashMicro Malaysia","article_published_time":"2025-04-03T06:52:04+00:00","article_modified_time":"2026-03-03T04:14:44+00:00","og_image":[{"width":800,"height":451,"url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp","type":"image\/webp"}],"author":"Nur Aisyah","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nur Aisyah","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/"},"author":{"name":"Nur Aisyah","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/9bb64292eb715a56992e15a421d0b91a"},"headline":"ESG Framework Explained: What Malaysian Companies Need to Know","datePublished":"2025-04-03T06:52:04+00:00","dateModified":"2026-03-03T04:14:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/"},"wordCount":2718,"publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp","articleSection":["ERP"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/","name":"ESG Framework Explained: What Malaysian Companies Need to Know - HashMicro Malaysia","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp","datePublished":"2025-04-03T06:52:04+00:00","dateModified":"2026-03-03T04:14:44+00:00","description":"Learn how ESG frameworks guide Malaysian businesses toward sustainability, compliance, and long-term growth.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#primaryimage","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/04\/esg-framework-3.webp","width":800,"height":451,"caption":"esg framework"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/my\/blog\/esg-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/my\/blog\/"},{"@type":"ListItem","position":2,"name":"ESG Framework Explained: What Malaysian Companies Need to Know"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website","url":"https:\/\/www.hashmicro.com\/my\/blog\/","name":"HashMicro Malaysia","description":"","publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization","name":"HashMicro Malaysia","url":"https:\/\/www.hashmicro.com\/my\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","width":422,"height":255,"caption":"HashMicro Malaysia"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/9bb64292eb715a56992e15a421d0b91a","name":"Nur Aisyah","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/","url":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Nur-Aisyah-1-1-96x96.webp","contentUrl":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Nur-Aisyah-1-1-96x96.webp","caption":"Nur Aisyah"},"description":"Nur Aisyah specializes in writing comprehensive articles about Enterprise Resource Planning (ERP) systems and their applications across industries. She breaks down complex ERP functionalities into reader-friendly content that guides businesses through selection, implementation, and optimization. Her writing helps organizations understand how integrated systems can streamline operations and drive growth.","url":"https:\/\/www.hashmicro.com\/my\/blog\/author\/nur-aisyah\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/5848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/comments?post=5848"}],"version-history":[{"count":11,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/5848\/revisions"}],"predecessor-version":[{"id":16996,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/5848\/revisions\/16996"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media\/5853"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media?parent=5848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/categories?post=5848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/tags?post=5848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}