Files
houseplan-card/docs/specs/043-private-support-report.md
T
Matysh 112c260314
Validate / hacs (push) Failing after 12s
Validate / hassfest (push) Failing after 13s
Validate / frontend (push) Successful in 3m2s
Validate / golden (push) Failing after 51s
Validate / backend (push) Failing after 6m50s
Validate / smoke (push) Failing after 13m44s
Validate / performance (push) Failing after 24m13s
Release v1.61.0-beta.1
2026-08-09 21:51:33 +03:00

3.1 KiB
Raw Blame History

ТЗ #43 — Отчёт для поддержки без персональных данных

Цель

Пользователь копирует воспроизводимый технический snapshot, предварительно видя весь текст. Default report не содержит данных, по которым можно восстановить дом, устройства или адреса.

Формат

Versioned JSON/text envelope houseplan_support_report: 1:

  • card, integration и HA versions;
  • browser engine family/major и supported feature flags без user-agent string;
  • model/config/layout schema versions и revisions;
  • counts: spaces, rooms, room drafts, physical/open walls, partitions, columns, openings по типу, decor по kind, markers по lifecycle/status;
  • read-only validation result: stable codes + counts;
  • optimizer/migration pending flags;
  • active House Plan Repair issue ids/codes без descriptions/user values;
  • registry authority level (full|limited|unknown) и last sync age bucket;
  • checksum только структуры/schema, не raw config.

Privacy allowlist

Report строится исключительно из typed allowlist projection. Запрещены: space/room/device/entity names и ids, area/floor/config-entry ids, coordinates, polygons, URLs, filenames/paths, descriptions, templates/live values, IP/host, HA installation id, exact timestamps событий. Redaction после сериализации не считается защитой.

Adversarial fixture заполняет каждое запрещённое поле уникальным sentinel; ни один sentinel/его URL-encoded/base64 form не встречается в report.

Архитектура

Backend read-only houseplan/support/report выполняет authoritative schema, store и Repair projection; frontend добавляет card/browser flags. Command доступен authenticated user, не делает writes/services и возвращает stable error codes. Если backend старый, frontend создаёт reduced report и явно это пишет.

UX

General Settings → Maintenance → «Скопировать отчёт для поддержки». Открывается wide hp-dialog с plain-text preview, предупреждением privacy и действиями Copy/Download/Cancel. Clipboard failure предлагает .json download. Никакой автоматической отправки/телеметрии.

Приёмка

  • sentinel privacy corpus зелёный frontend/backend;
  • preview полностью равен copied/downloaded bytes;
  • report работает при invalid config, limited registry и active Repairs;
  • copy/download доступен keyboard/touch;
  • документация перечисляет включённые и исключённые категории.