fix(security): isolate template rendering with hard resource limits

This commit is contained in:
2026-09-08 07:47:18 +02:00
parent 1f61464fd6
commit 1b1e3e0f92
6 changed files with 229 additions and 1 deletions
+10
View File
@@ -21,3 +21,13 @@ Open **Templates** to create or select a reusable definition.
Render evidence shows the exact revision and abbreviated template, input, and
output hashes. A consumer such as Campaign can submit many frozen recipients;
the UI sample intentionally validates one representative item.
Rendering is also limited to 15 seconds elapsed time, 10 CPU seconds, 512 MiB
process memory, 32 MiB serialized input and 8 MiB serialized result transport;
the final output remains limited to 5 MiB and 5,000 items. Deeply nested data
or more than 1,000,000 transported value nodes is rejected. A limit error creates
no partial output or render evidence: reduce the selected input or template
complexity and retry. If processing capacity is busy, retry later. Unavailable
worker controls or a worker failure require operator investigation. Existing
successful output with the same idempotency key is reused without rendering
again, provided its input and authorization still match.