-- ==================================================================== -- 0059_accessibility — Erklärung zur Barrierefreiheit (öffentlich) -- ==================================================================== -- Optionale, pro Instanz editierbare Barrierefreiheitserklärung. Anders als -- Impressum/Datenschutz ist sie NICHT für jede Instanz Pflicht (hängt von der -- Einordnung des Betreibers ab) → opt-in: /barrierefreiheit + Footer-Link -- erscheinen nur, wenn ein Text hinterlegt ist. -- -- Kein Geheimnis — öffentliche Seite liest via anon. Grant-Muster wie 0058. alter table public.site_settings add column if not exists accessibility_html text; revoke all on public.site_settings from anon; do $$ declare v_cols text; begin select string_agg(quote_ident(column_name), ', ') into v_cols from information_schema.columns where table_schema = 'public' and table_name = 'site_settings' and column_name not in ( 'ai_anthropic_key', 'ai_openai_key', 'ai_openrouter_key', 'apple_pass_cert_p12', 'apple_pass_passphrase', 'apple_pass_type_id', 'google_wallet_service_account_json', 'phone_api_token', 'phone_lookup_token', 'phone_webhook_secret', 'license_key', 'smtp_host', 'smtp_port', 'smtp_secure', 'smtp_user', 'smtp_pass', 'smtp_from_email', 'smtp_from_name' ); execute 'grant select (' || v_cols || ') on public.site_settings to anon'; end $$;