[{"data":1,"prerenderedAt":110},["ShallowReactive",2],{"changelog-en":3},[4,86],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"date":11,"body":12,"_type":80,"_id":81,"_source":82,"_file":83,"_stem":84,"_extension":85},"\u002Fchangelog\u002F2026-05-30-security-quality","changelog",false,"en","Security hardening and an expanded quality process","A big step forward for security and quality: we put the platform through a\nthorough security hardening pass and closed several potential weak spots —\nbefore they could ever cause harm.","2026-05-30",{"type":13,"children":14,"toc":76},"root",[15,31,50,71],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20,23,29],{"type":21,"value":22},"text","A big step forward for security and quality: we put the platform through a\nthorough ",{"type":16,"tag":24,"props":25,"children":26},"strong",{},[27],{"type":21,"value":28},"security hardening",{"type":21,"value":30}," pass and closed several potential weak spots —\nbefore they could ever cause harm.",{"type":16,"tag":17,"props":32,"children":33},{},[34,36,41,43,48],{"type":21,"value":35},"In parallel, we significantly ",{"type":16,"tag":24,"props":37,"children":38},{},[39],{"type":21,"value":40},"expanded our automated tests",{"type":21,"value":42},": more than 50\nadditional security checks now confirm, on every change, that the hardened areas\nstay hardened. A static security scan runs through with ",{"type":16,"tag":24,"props":44,"children":45},{},[46],{"type":21,"value":47},"zero open findings",{"type":21,"value":49},".",{"type":16,"tag":17,"props":51,"children":52},{},[53,55,62,64,69],{"type":21,"value":54},"Alongside this, a new ",{"type":16,"tag":56,"props":57,"children":59},"a",{"href":58},"\u002Fquality",[60],{"type":21,"value":61},"Quality",{"type":21,"value":63}," page now makes our way of working\ntransparent: a mandatory chain of trust with several review steps before every\nrelease. And behind the scenes we prepared an ",{"type":16,"tag":24,"props":65,"children":66},{},[67],{"type":21,"value":68},"automated pipeline",{"type":21,"value":70}," that checks\nevery future change automatically before it goes live.",{"type":16,"tag":17,"props":72,"children":73},{},[74],{"type":21,"value":75},"In short: the same platform, noticeably hardened — and a process that keeps that\nquality in place for the long run.",{"title":77,"searchDepth":78,"depth":78,"links":79},"",2,[],"markdown","content:en:changelog:2026-05-30-security-quality.md","content","en\u002Fchangelog\u002F2026-05-30-security-quality.md","en\u002Fchangelog\u002F2026-05-30-security-quality","md",{"_path":87,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":88,"description":89,"date":90,"body":91,"_type":80,"_id":107,"_source":82,"_file":108,"_stem":109,"_extension":85},"\u002Fchangelog\u002F2026-05-25-website","Product website is live","The ValidLearn product site is here. From now on: a feature is only done once it\nis described here. Content is maintained as versioned Markdown — no CMS, no\ntracking.","2026-05-25",{"type":13,"children":92,"toc":105},[93],{"type":16,"tag":17,"props":94,"children":95},{},[96,98,103],{"type":21,"value":97},"The ValidLearn product site is here. From now on: ",{"type":16,"tag":24,"props":99,"children":100},{},[101],{"type":21,"value":102},"a feature is only done once it\nis described here.",{"type":21,"value":104}," Content is maintained as versioned Markdown — no CMS, no\ntracking.",{"title":77,"searchDepth":78,"depth":78,"links":106},[],"content:en:changelog:2026-05-25-website.md","en\u002Fchangelog\u002F2026-05-25-website.md","en\u002Fchangelog\u002F2026-05-25-website",1780470258217]