From dd30fdf803f387bfb51c2eb16e2bc882068e9c32 Mon Sep 17 00:00:00 2001 From: Jakub Kotek Date: Tue, 4 Aug 2026 09:06:56 +0200 Subject: [PATCH] docs: document options.encryption_hint for JSON editor fields A JSON-mode `format: editor` field stores the parsed JSON, so `#`-prefixed keys inside it are encrypted on save and the UI says so below the editor. For a field that does not hold Keboola configuration the note advertises something the component cannot use, so the UI now lets an author hide it with `options.encryption_hint: false`. Encryption behaviour itself is unchanged. Implements the docs half of keboola/ui#7627. Co-Authored-By: Claude Opus 5 (1M context) --- .../ui-options/configuration-schema.md | 1 + .../configuration-schema-examples.md | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/extend/component/ui-options/configuration-schema.md b/extend/component/ui-options/configuration-schema.md index cdff0d49..c9c951f1 100644 --- a/extend/component/ui-options/configuration-schema.md +++ b/extend/component/ui-options/configuration-schema.md @@ -68,6 +68,7 @@ The following `options` keys can be used in property definitions: | `options.grid_columns` | Number of grid columns (1–12) in `grid`/`grid-strict` layouts | | `options.grid_break` | Force a new row in grid layouts | | `options.editor` | CodeMirror editor options: `mode`, `lineNumbers`, `lint`, `input_height` | +| `options.encryption_hint` | Set to `false` to hide the "properties prefixed with `#` will be encrypted" note under a JSON-mode `editor` field. See [Codemirror Editor](/extend/component/ui-options/configuration-schema/examples/#codemirror-jsonsqlpython-editor). | | `options.input_height` | Height for textarea fields (e.g., `"100px"`) | | `options.inputAttributes` | HTML input attributes (e.g., `placeholder`) | | `options.only_keys` | SSH editor variant showing only key fields | diff --git a/extend/component/ui-options/ui-examples/configuration-schema-examples.md b/extend/component/ui-options/ui-examples/configuration-schema-examples.md index 01f58ce7..cb6afe04 100644 --- a/extend/component/ui-options/ui-examples/configuration-schema-examples.md +++ b/extend/component/ui-options/ui-examples/configuration-schema-examples.md @@ -158,6 +158,30 @@ Allowed options: mode, placeholder, autofocus, lineNumbers lint Available modes: `text/x-sfsql`, `text/x-sql`, `text/x-plsql`, `text/x-python`, `text/x-julia`, `text/x-rsrc`, `application/json` JSON mode supports encryption. Default mode is `application/json` . You should set type base on mode (string or object). +A JSON-mode editor stores the parsed JSON, so keys prefixed with `#` inside the field are +[encrypted](/overview/encryption/) on save. The UI states this in a note below the editor. If the field does not hold +Keboola configuration (a vendor query filter, a request payload template), that note advertises something the component +cannot use --- the platform would encrypt the key and the component would receive the ciphertext. Hide the note with +`options.encryption_hint: false`: + +```json +{ + "filters": { + "type": "object", + "title": "Filters", + "format": "editor", + "options": { + "editor": { + "mode": "application/json" + }, + "encryption_hint": false + } + } +} +``` + +The option only affects the note. Encryption itself is unchanged: a `#`-prefixed key is still encrypted on save. + **JsonSchema examples:** ```json