Ой! Я полностью неправильно понял, как будет генерироваться HTML. Если пользователь заранее генерирует HTML, вы можете предложить ему встроить его через iframe с внешнего сайта, предварительно добавив домен в белый список.
Например, CodePen, который должен быть разрешён по умолчанию:
<iframe height="300" width="800" style="width: 100%;" scrolling="no" title="mplD3 example, actually working" src="https://codepen.io/gully/embed/BawMGr?default-tab=result" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
See the Pen <a href="https://codepen.io/gully/pen/BawMGr">
mplD3 example, actually working</a> by gully (<a href="https://codepen.io/gully">@gully</a>)
on <a href="https://codepen.io">CodePen</a>.
</iframe>