validation: reject control characters in bio and sync device name (ultra-fuzz NOTE tail)
Closes the Run 2 NOTE that validate_bio and validate_sync_device_name accepted
control characters, while display-name and sync-app-name already rejected them.
Bio allows newlines/tabs (multi-line) but not other control chars; device name
rejects all control chars, mirroring validate_sync_app_name. Tests cover NUL and
escape. (Bidi/format chars are a separate Trojan-source concern, out of scope
for this NOTE; is_control() matches the existing validators' policy.)
Co-Authored-By
Claude Opus 4.8 <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-06-23 20:43 UTC