Skip to content

MIRA v0.333.0 — public beta

Choose a tag to compare

@tarekedOz tarekedOz released this 13 Aug 14:20
· 12 commits to main since this release

MIRA v0.333.0 — public beta. Family Governance. Two-actor wards/guardians safety model, member-scoped protective actions, delegated approvers, and a container-backed managed-service app runtime. No breaking changes; safe to upgrade in place.

Self-hostable single binary, AGPL-3.0-or-later, signed with the vexillon.ai release key.

Install

# Linux / macOS
curl -fsSL https://get.vexillon.ai/install.sh | sh
# Windows (PowerShell)
irm https://get.vexillon.ai/install.ps1 | iex

Family Governance

The companion safety floor grows from a single safety-contact into a two-actor wards + guardians model:

  • A ward can have more than one guardian (e.g. both parents). A distress or gone-silent heads-up reaches all of them, and it counts as delivered if it reaches any one — so a single unreachable guardian never silences the alert.
  • Guardian wellbeing view. Beyond the alerts, a guardian gets a quiet, aggregate wellbeing view of each ward they look after (on the Presence page): engagement signals over a trailing window and any recent distress flags — never the person's messages. It's gated by a non-negotiable floor: the person must be a monitored care role and have consented to the arrangement. An ordinary adult's data is never visible to their contact, even to an admin.
  • Member-scoped protective actions. In Active mode the Guardian can propose a bounded, reversible action on a family member's device — e.g. pause a ward's internet plug through the Home Assistant app — with approval routed to that member's guardian(s), and only after a human approves. A device must first be registered to a member, and MIRA verifies the binding at approval time so routing can't be spoofed.
  • Delegated approvers. An owner can grant a trusted non-admin (a family adult) the right to approve/decline the Guardian's household fixes — "MIRA says your Signal bridge is stuck, approve the restart" — without full admin. Set it under Settings → Guardian → Delegated approvers (guardian.action_approver_ids); admins can always approve regardless.

Container-backed apps

An app package can now declare a managed service container — a long-running backend it runs, e.g. a home-security stack like Wazuh. MIRA starts it detached + restart-on-failure as mira-app-<id> when the app is enabled, reaps it on disable/uninstall, and reconciles on startup, using whatever container engine (Docker/Podman) is present (no engine → the app's tools + UI still install, only the backend stays inert). Ports are loopback-only unless the app marks them public, and the Guardian watches the backend's health-check like any other detection source — making a homelab security stack sustainable for a family. See examples/apps/wazuh/ for an illustrative single-container example.

Verify (optional)

Every archive is signed with the vexillon.ai minisign key committed at verification/release-pubkey.minisign:

minisign -Vm mira-0.333.0-<target>.tar.gz -p verification/release-pubkey.minisign