{"ok":true,"module":"Deriox Guard Mini PC Service Wrapper Plan","version":"m8.11","plan":{"id":1,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","plan_title":"M8.11 Gateway Agent Service Wrapper Plan","phase_code":"M8.11","plan_status":"service_wrapper_plan_active_metadata_only","service_name":"deriox-guard-gateway","target_os":"linux-systemd-mini-pc","unit_count":3,"check_count":8,"ready_check_count":8,"service_wrapper_score":100,"executive_summary":"M8.11 plans the future systemd service wrapper for the mini PC gateway agent. It is plan-only: it does not create service files, does not enable autostart, does not install automatically and does not include plain tokens, camera passwords, stream links, media, billing or real camera actions.","service_wrapper_plan_only":1,"real_service_created":0,"service_autostart_enabled":0,"auto_install_enabled":0,"requires_manual_install":1,"requires_admin_approval":1,"requires_device_binding":1,"outbound_only_required":1,"plain_token_included":0,"camera_password_included":0,"stream_link_included":0,"media_included":0,"billing_enabled":0,"does_not_execute_camera_actions":1,"metadata_only_control":1,"created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},"units":[{"id":1,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","unit_key":"M811-UNIT-service","unit_title":"Deriox Guard Gateway systemd service","unit_type":"systemd","unit_path":"\/etc\/systemd\/system\/deriox-guard-gateway.service","sort_order":10,"unit_status":"planned_metadata_only","unit_preview":"[Unit]\nDescription=Deriox Guard Gateway Agent\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nType=simple\nUser=root\nWorkingDirectory=\/opt\/deriox-guard\/agent\nExecStart=\/opt\/deriox-guard\/agent\/deriox-guard-gateway.sh heartbeat-loop\nRestart=always\nRestartSec=15\nEnvironment=DERIOX_GUARD_MODE=outbound-only\nEnvironment=DERIOX_GUARD_NO_CAMERA_PASSWORDS=1\nEnvironment=DERIOX_GUARD_NO_STREAM_LINKS=1\nEnvironment=DERIOX_GUARD_NO_MEDIA=1\nEnvironment=DERIOX_GUARD_NO_BILLING=1\n\n[Install]\nWantedBy=multi-user.target\n","required":1,"real_file_created":0,"autostart_enabled":0,"auto_restart_planned":1,"contains_secret":0,"contains_plain_token":0,"contains_camera_password":0,"contains_stream_link":0,"contains_media":0,"executes_camera_action":0,"metadata_only":1,"description":"Main service wrapper preview. Not created in M8.11.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":2,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","unit_key":"M811-UNIT-env","unit_title":"Deriox Guard environment file","unit_type":"env","unit_path":"\/etc\/deriox-guard\/gateway.env","sort_order":20,"unit_status":"planned_metadata_only","unit_preview":"DERIOX_GUARD_API_BASE_URL=https:\/\/guard.deriox.ro\nDERIOX_GUARD_MODE=outbound-only\nDERIOX_GUARD_NO_CAMERA_PASSWORDS=1\nDERIOX_GUARD_NO_STREAM_LINKS=1\n","required":1,"real_file_created":0,"autostart_enabled":0,"auto_restart_planned":0,"contains_secret":0,"contains_plain_token":0,"contains_camera_password":0,"contains_stream_link":0,"contains_media":0,"executes_camera_action":0,"metadata_only":1,"description":"Environment plan. No tokens or secrets.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":3,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","unit_key":"M811-UNIT-logrotate","unit_title":"Deriox Guard logrotate plan","unit_type":"logrotate","unit_path":"\/etc\/logrotate.d\/deriox-guard-gateway","sort_order":30,"unit_status":"planned_metadata_only","unit_preview":"\/var\/log\/deriox-guard\/*.log {\n  daily\n  rotate 14\n  compress\n  missingok\n  notifempty\n}\n","required":1,"real_file_created":0,"autostart_enabled":0,"auto_restart_planned":0,"contains_secret":0,"contains_plain_token":0,"contains_camera_password":0,"contains_stream_link":0,"contains_media":0,"executes_camera_action":0,"metadata_only":1,"description":"Log rotation plan. Not installed in M8.11.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"}],"checks":[{"id":1,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-manual_review","check_title":"Manual review before service creation","check_group":"governance","check_status":"ready_metadata_only","severity":"info","sort_order":10,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":2,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-no_autostart_now","check_title":"Autostart disabled in M8.11","check_group":"safety","check_status":"ready_metadata_only","severity":"info","sort_order":20,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":3,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-outbound_only","check_title":"Outbound-only service mode","check_group":"network","check_status":"ready_metadata_only","severity":"info","sort_order":30,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":4,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-no_plain_token","check_title":"No plain token in unit\/env files","check_group":"secrets","check_status":"ready_metadata_only","severity":"info","sort_order":40,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":5,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-no_camera_password","check_title":"No camera passwords in wrapper","check_group":"secrets","check_status":"ready_metadata_only","severity":"info","sort_order":50,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":6,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-no_stream_link","check_title":"No stream links in wrapper","check_group":"stream","check_status":"ready_metadata_only","severity":"info","sort_order":60,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":7,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-no_media","check_title":"No media payload in wrapper","check_group":"media","check_status":"ready_metadata_only","severity":"info","sort_order":70,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"},{"id":8,"plan_uuid":"M811-GATEWAY-AGENT-SERVICE-WRAPPER-PLAN","check_key":"M811-CHECK-no_camera_actions","check_title":"No camera action command in service wrapper","check_group":"camera","check_status":"ready_metadata_only","severity":"info","sort_order":80,"required":1,"blocks_service":0,"manual_review_required":1,"outbound_only_required":1,"plain_token_allowed":0,"camera_password_allowed":0,"stream_link_allowed":0,"media_allowed":0,"billing_enabled":0,"does_not_execute":1,"metadata_only":1,"details":"M8.11 service wrapper safety check. Plan-only.","created_at":"2026-05-29 21:04:32","updated_at":"2026-05-29 21:04:32"}],"service_preview":"[Unit]\nDescription=Deriox Guard Gateway Agent\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nType=simple\nUser=root\nWorkingDirectory=\/opt\/deriox-guard\/agent\nExecStart=\/opt\/deriox-guard\/agent\/deriox-guard-gateway.sh heartbeat-loop\nRestart=always\nRestartSec=15\nEnvironment=DERIOX_GUARD_MODE=outbound-only\nEnvironment=DERIOX_GUARD_NO_CAMERA_PASSWORDS=1\nEnvironment=DERIOX_GUARD_NO_STREAM_LINKS=1\nEnvironment=DERIOX_GUARD_NO_MEDIA=1\nEnvironment=DERIOX_GUARD_NO_BILLING=1\n\n[Install]\nWantedBy=multi-user.target\n","security":{"service_wrapper_plan_only":true,"real_service_created":false,"service_autostart_enabled":false,"auto_install_enabled":false,"requires_manual_install":true,"requires_admin_approval":true,"requires_device_binding":true,"outbound_only_required":true,"plain_token_included":false,"camera_password_included":false,"camera_password_in_cloud_allowed":false,"real_camera_access_enabled":false,"stream_links_allowed":false,"media_links_allowed":false,"billing_enabled":false,"does_not_execute_camera_actions":true,"metadata_only_control":true},"message":"Service wrapper is plan-only in M8.11. No service file is created and autostart remains disabled."}