BaaRai
68976a7680
secrets: encrypt the exec spec of custom tools at rest
...
Phase 3 of secrets at rest (#213 , #216 ), same AES-256-GCM scheme and key.
- tools.exec joins the secret columns for system=false rows (AAD
tools.exec): the whole JSON is sealed in the {"__artex_enc":"enc:v1:..."}
envelope, so headers, body, proxy, script code and command are covered;
{} stays {}
- CreateCustomTool and UpdateCustomTool seal it; scanTool opens it, so
GetTool, ListTools and ListCustomTools (and through them customTools,
the platform tools and the test endpoint) see the clear JSON in memory
- the startup backfill, the no-key refusal and the wrong-key check cover
it, for system=false rows only; built-in rows stay in clear for the seeds
API: GET /api/tools returns the header values, proxy and body of a custom
tool masked, with headers_set, proxy_set and body_set. On update (API and
update_custom_tool) the placeholder keeps the stored value, an explicit
value replaces it and "" clears it; on create (API and create_custom_tool)
a placeholder is refused. The test endpoint takes an optional key: the
saved tool's stored values replace the placeholders; the editor sends it.
2026-11-13 21:52:27 +01:00
..
2026-11-12 11:51:38 +01:00
2026-11-12 11:51:38 +01:00
2026-07-26 04:27:45 -04:00
2026-10-12 00:58:53 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-05 16:48:27 +01:00
2026-11-10 23:05:47 +01:00
2026-07-26 04:27:45 -04:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-10 17:45:11 +01:00
2026-08-28 14:03:07 +08:00
2026-10-08 23:14:34 +02:00
2026-09-10 16:06:08 +08:00
2026-11-11 15:47:21 +01:00
2026-10-21 15:08:37 +02:00
2026-11-10 16:28:26 +01:00
2026-11-11 20:20:16 +01:00
2026-11-11 15:47:58 +01:00
2026-11-11 15:04:42 +01:00
2026-11-13 21:52:27 +01:00
2026-11-13 21:33:27 +01:00
2026-11-12 18:48:41 +01:00
2026-11-12 17:27:28 +01:00
2026-08-31 09:00:21 -04:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:28:18 +08:00
2026-11-12 20:48:34 +01:00
2026-11-12 20:48:34 +01:00
2026-11-13 14:42:56 +01:00
2026-11-13 14:42:56 +01:00
2026-11-12 01:09:30 +01:00
2026-11-11 23:43:12 +01:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-09-10 13:03:20 +08:00
2026-11-10 16:28:26 +01:00
2026-10-08 23:14:34 +02:00
2026-11-10 12:52:56 +01:00
2026-11-09 20:43:25 +01:00
2026-11-11 23:43:12 +01:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-09 21:04:12 +01:00
2026-10-21 14:46:56 +02:00
2026-10-21 14:46:56 +02:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:00 +08:00
2026-11-12 18:48:41 +01:00
2026-10-12 18:43:41 +02:00
2026-08-24 19:29:00 +08:00
2026-10-08 23:14:34 +02:00
2026-11-13 11:24:25 +01:00
2026-11-13 11:24:25 +01:00
2026-11-09 22:35:09 +01:00
2026-10-08 23:14:34 +02:00
2026-11-09 12:22:46 +01:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-13 11:24:25 +01:00
2026-10-21 14:25:35 +02:00
2026-10-21 14:25:35 +02:00
2026-11-08 18:15:33 +01:00
2026-11-10 16:28:26 +01:00
2026-11-10 16:28:26 +01:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-25 09:40:05 -04:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-05 16:57:48 +01:00
2026-11-05 16:57:48 +01:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:00 +08:00
2026-08-24 19:29:00 +08:00
2026-11-13 14:42:56 +01:00
2026-10-11 22:50:00 +02:00
2026-10-11 22:50:00 +02:00
2026-10-08 23:14:34 +02:00
2026-11-10 16:05:31 +01:00
2026-11-10 16:05:31 +01:00
2026-11-10 16:05:31 +01:00
2026-11-12 09:38:52 +01:00
2026-11-10 16:28:26 +01:00
2026-07-26 04:27:45 -04:00
2026-11-13 21:52:27 +01:00
2026-08-24 14:14:15 +08:00
2026-10-08 23:14:34 +02:00
2026-11-13 21:33:27 +01:00
2026-11-13 21:52:27 +01:00
2026-11-13 21:33:27 +01:00
2026-11-11 21:47:44 +01:00
2026-09-17 12:52:57 -04:00
2026-11-08 17:11:43 +01:00
2026-10-11 22:26:22 +02:00
2026-10-19 00:33:08 +02:00
2026-10-19 00:33:08 +02:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:30:14 +08:00
2026-10-08 23:14:34 +02:00
2026-10-11 19:02:23 +02:00
2026-11-11 15:47:21 +01:00
2026-11-12 17:27:28 +01:00
2026-11-11 00:34:55 +01:00
2026-11-11 17:07:35 +01:00
2026-08-24 14:14:15 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-28 12:56:29 +08:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-24 19:29:00 +08:00
2026-10-08 23:14:34 +02:00
2026-11-13 14:42:56 +01:00
2026-11-13 14:42:56 +01:00
2026-10-08 23:14:34 +02:00
2026-10-13 14:49:47 +02:00
2026-11-12 20:48:34 +01:00
2026-10-08 23:14:34 +02:00
2026-10-21 15:16:25 +02:00
2026-10-21 15:00:16 +02:00
2026-10-21 15:13:56 +02:00
2026-10-21 15:13:56 +02:00
2026-10-08 23:14:34 +02:00
2026-11-10 23:05:47 +01:00
2026-10-19 00:28:27 +02:00
2026-10-19 00:28:27 +02:00
2026-10-09 11:37:30 +02:00
2026-10-23 18:12:38 -03:00
2026-11-12 09:38:52 +01:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-13 14:42:56 +01:00
2026-08-25 12:05:26 +08:00
2026-08-25 12:05:26 +08:00
2026-11-13 21:52:27 +01:00
2026-11-10 09:46:49 +01:00
2026-11-10 16:28:26 +01:00
2026-10-11 14:53:08 +02:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-11-12 12:54:25 +01:00
2026-11-12 12:54:25 +01:00
2026-10-08 23:14:34 +02:00
2026-10-08 23:14:34 +02:00
2026-08-31 09:00:21 -04:00
2026-10-08 23:14:34 +02:00