# Runtime Control / dev-0.7.1

`ContentRuntimeControl` is the Host-facing runtime counterpart of the Designer. It mounts saved `ControlContent` without Palette, Canvas, Outline, or Inspector.

```javascript
require(['UnifiedControl/main'], function (UnifiedControl) {
  var runtime = UnifiedControl.createRuntimeControl({
    container: '#target',
    content: savedContent,
    allowScriptExecution: false
  });
});
```

Runtime execution remains permission based. Handler code is not executed when content is opened. It is only bound by runtime rendering when the Host explicitly sets `allowScriptExecution: true`.

Public runtime helpers:

- `loadContent(content)`
- `saveContent()`
- `getValue(componentId)`
- `setValue(componentId, value)`
- `getValues()`
- `setScriptExecutionEnabled(enabled)`
- `validateRuntimeSecurity()`


## dev-0.7.1 Runtime Stabilization Notes

- Runtime input elements now participate in a value lifecycle through `runtimeValueChanged`.
- Checkbox and radio components preserve their values more consistently. Radio options are rendered as a group rather than a single ambiguous field.
- `disabled`, `readOnly`, `hidden` and `locked` properties are reflected in generated DOM classes / attributes.
- Image component URLs are filtered to safe browser URL schemes.
- HTML Block content is escaped by default. If `allowHtml` is true, a conservative sanitizer removes dangerous tags, inline event handlers and scriptable URL schemes.
- Calling `loadContent()` on a mounted `ContentRuntimeControl` re-renders the runtime surface instead of requiring destroy / recreate.
