KamoCRM

The Antivirus UI — protection seals everywhere a file appears, the Antivirus Center, the platform tab, alerts and help

Featurekamo-internal
Shipped
8 พฤศจิกายน 2569 เวลา 00:35 UTC
Author
Kamo
Commit
4ca10f7

Design kit (app/components/antivirus): ProtectionSeal with five animated faces (Checking, Protected, Caution, Blocked, Couldn't Check; brand + --av-* tokens, reduced motion honoured), BlockedFileCard / LockedAttachment / LockedOverlay, CautionBanner with Open a Safe Copy, MessageAntivirusBanner, ShieldClip, FalseAlarmDialog ("I think this is a mistake"), AntivirusNotReady. Logic from @kamo/antivirus-core 0.1.0 (seal state, reason parser accepting ANTIVIRUS_BLOCKED / MALWARE_DETECTED / ANTIVIRUS_CHECKING / ANTIVIRUS_UNAVAILABLE / SCAN_UNAVAILABLE). Surfaces: mail reading pane (seals, removed parts locked under their original names, message banner, inline images withheld, Download All skips them, list-row shield clip, body cache v2), composer/chat/SMS/SI trays (Checking + blocked states), chat bubbles for recipients, documents (Checking stage, seals, locked actions, caution gate), and the refusal toast on every upload (KB, avatar, careers, system bugs, sounds, account/patient/application documents, logos). Antivirus Center at **************** (VIEW_ANTIVIRUS; policy needs MANAGE_ANTIVIRUS_POLICY): protection orb, count-up KPIs, trend/origin/family charts, live threat timeline, policy switches with help, false alarms. Platform tab (MANAGE_PLATFORM_ANTIVIRUS): scanner health, releases with refresh/rollback, review queue, allowlist, outbreaks, safety drill. Three notification kinds, the Antivirus guided tour, /api/antivirus BFF, mirrors for ServiceType ANTIVIRUS(41), rights 698-700 and MANAGE_PLATFORM_ANTIVIRUS (shared-lib 332f7275), and seven help center articles. The Protection home widget component is built but not registered: the launchpad needs an ANTIVIRUS_WIDGET right block that the shared library does not have yet.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing