Option A: iframe
Use the snippet we send you. It looks like the one below with your partner ID and token already filled in.
<iframe src="https://www.edgeaifoundation.org/embed/courses?p=YOUR_PARTNER_ID&t=YOUR_TOKEN" title="EDGE AI FOUNDATION course catalog" width="100%" height="900" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" style="border:0" id="eaif-courses-frame"></iframe><script> // Optional: lets the catalog set its own height. Remove if your platform // does not allow scripts; the iframe then keeps the fixed height above. window.addEventListener("message", function (event) { var frame = document.getElementById("eaif-courses-frame"); if (!frame || event.source !== frame.contentWindow) return; if (event.origin !== "https://www.edgeaifoundation.org") return; if (!event.data || event.data.type !== "eaif:resize") return; frame.style.height = Math.max(200, Number(event.data.height) || 0) + "px"; });</script>Height
Section titled “Height”The small script at the end lets the catalog set its own height, so there is no inner scrollbar. If your platform strips scripts, keep only the <iframe> tag. The catalog then uses the fixed height of 900 pixels.
Where it renders
Section titled “Where it renders”The iframe only renders on the hostnames registered for your partner ID. On any other site the browser shows an empty frame. This is enforced by the browser through a frame-ancestors policy, not by the page content.
Sandboxing
Section titled “Sandboxing”If your platform adds a sandbox attribute, it must include allow-scripts allow-popups allow-same-origin. Without them the catalog renders but course links do nothing.
Next: Platform requirements for Content-Security-Policy, SharePoint and Teams.