|
|
@@ -170,6 +170,18 @@ statum-genkeys --out web-config.json
|
|
|
|
|
|
which writes the full config at mode 0600 and prints only the public halves.
|
|
|
|
|
|
+### Attribute expressions are trusted authoring (SA-18)
|
|
|
+
|
|
|
+`stm-*` attribute values are compiled with `new Function('scope',
|
|
|
+'with (scope) { … }')` in `statum.js`. That makes them **trusted template
|
|
|
+authoring**, on exactly the same footing as server-side page markup: never
|
|
|
+build an expression string from user-supplied data (request bodies, slot
|
|
|
+values, URL parameters) — interpolate user data only as *values* the
|
|
|
+expression reads (`stm-text` → `textContent`, `stm-html` → the escaped HTML
|
|
|
+path, `stm-markdown` → the CommonMark renderer). Today no shipped component
|
|
|
+binds user data into expression *source*; keeping it that way is a page
|
|
|
+author's contract, not a runtime guarantee.
|
|
|
+
|
|
|
---
|
|
|
|
|
|
## HTML Templates
|