Vai al contenuto principale

Caso studio · Sicurezza fisica · Mobile

Grom Security — app unificata per allarme, video e domotica

Pubblicato · Aggiornato · Di YuSMP Group Engineering

Come abbiamo rilasciato Grom Security — un'app nativa iOS e Android per un operatore di sicurezza fisica i cui clienti negli Stati Uniti e nell'Unione Europea gestivano tre app separate per attivare l'allarme di casa, visualizzare una telecamera e accendere una luce. Costruita su un unico modello di permessi, un flusso di attivazione e disattivazione zonale, video integrato e una superficie di controllo domotico — con un'architettura audit-ready conforme a GDPR e CCPA fin dal primo giorno.

SettoreSicurezza fisica · Mobile
Anno progetto2023
TipologiaPrezzo fisso + supporto
Grom Security — controllo unificato di allarme remoto, video e domotica su più zone proprietà

Il brief — tre app in un'unica icona

Il team di prodotto di Grom Security si è presentato con un problema operativo preciso. I loro clienti — proprietari di immobili negli Stati Uniti e nell'Unione Europea — pagavano già per un servizio di vigilanza, la videosorveglianza e un ecosistema domotico connesso, ma ogni sottosistema prevedeva la propria app mobile, il proprio accesso e il proprio flusso di notifiche. Un proprietario che voleva attivare l'allarme di casa, controllare la telecamera del giardino e accendere la luce del portico al tramonto doveva aprire tre icone, gestire tre sessioni e riconciliare tre registri di audit separati in caso di problemi. Abbiamo ricostruito l'intera interfaccia da zero come un'unica applicazione nativa iOS e Android: un modello di permessi zonali in cui ogni proprietà si suddivide in zone indipendenti (casa, sauna, garage, terreno), un flusso unificato di attivazione e disattivazione, video live integrato e una superficie di controllo domotico integrata con l'ecosistema esistente del cliente. Il risultato è un'app di sicurezza unificata distribuita negli Stati Uniti e in Europa in conformità con GDPR e CCPA / CPRA fin dal primo giorno, inclusa nel portfolio di sviluppo di app mobile di YuSMP Group, che fornisce al proprietario un'unica fonte di verità sullo stato attuale dell'allarme.

Punti salienti del progetto

Client nativi iOS e Android Divisione allarme zonale Attivazione e disattivazione remota Video live integrato Superficie di controllo domotico Accesso multi-utente basato su ruoli Registro di audit per zona App Store + Google Play · US e UE

I numeri del progetto

Una panoramica di ciò che la realizzazione di Grom Security ha prodotto su iOS, Android e un back office rafforzato nel primo ciclo di produzione.

2piattaforme native — iOS in Swift e Android in Kotlin, codebase completamente separate ottimizzate per sistema operativo
3 → 1icone ridotte — allarme, video e controllo domotico uniti in un'unica app mobile
4+zone indipendenti per proprietà — casa, sauna, garage, terreno — ciascuna attivata e auditata separatamente
4ruoli utente distinti — proprietario, famiglia, dipendente, ospite — con capacità limitate per zona
2app store attivi — Apple App Store e Google Play negli Stati Uniti e in Europa
14–22 sett.finestra di consegna tipica per un'app di sicurezza unificata comparabile su entrambi gli store
Divisione zonale di Grom Security — attivazione e disattivazione indipendente per zona con ruoli limitati per capacità

Perché un modello di permessi zonali anziché un singolo interruttore per proprietà

La scelta del modello di permessi domina ogni altra decisione architetturale in un'app di sicurezza multi-tenant. Abbiamo scelto un modello di permessi zonali — in cui ogni proprietà si suddivide in zone indipendenti e ogni zona gestisce il proprio stato di attivazione, le proprie assegnazioni di ruolo e il proprio registro di audit — rispetto al più comune interruttore per proprietà singola per un motivo: è l'unico modello che descrive onestamente ciò che un proprietario vuole davvero. Chi attiva l'allarme di casa di notte di solito lascia il garage disattivato perché un familiare è ancora nel laboratorio. Un operatore di affitti vacanze vuole attivare il perimetro esterno ma disattivare il cottage per un ospite in arrivo. Il modello a interruttore singolo costringe l'utente a scegliere tra precisione e comodità; il modello zonale offre entrambe.

I modelli a interruttore per proprietà singola — del tipo fornito con i primi SDK di allarme white-label di prima generazione — sono stati eliminati subito. La loro struttura dati non poteva rappresentare «casa attivata, garage disattivato» senza memorizzare uno dei due stati lato client, non verificabile dal back office. Adottare l'approccio zonale ha significato che l'intero stack — UI client, servizio di permessi, registro di audit, pipeline push — è gestito per zona e citabile end-to-end rispetto ai registri di intervento dell'operatore.

Permessi zonali vs interruttore per proprietà singola vs SDK white-label del fornitore
Dimensione Modello zonale (Grom) Interruttore per proprietà singola SDK white-label del fornitore
Stato di attivazione indipendente per zonaNativo — casa e garage separatamenteSoluzione alternativa tramite «modalità»Definito dal fornitore; spesso opaco
Accesso basato su ruoli per zonaProprietario / famiglia / dipendente / ospiteSolo a livello di proprietàCatalogo ruoli limitato dal fornitore
Granularità del registro di auditPer zona, per utente, per eventoSolo a livello di proprietàEsportazione controllata dal fornitore
Integrazione domoticaNativa — per zonaAggiuntiva — spesso app separataSolo ecosistema del fornitore
Video integratoPlayer nativo, con accesso per ruoloDeep-link all'app del fornitoreSolo player SDK del fornitore
Compatibilità App Store / Play StoreWrapper sottile su API nativeBundle più grande; pattern legacyPesante di SDK; attriti in revisione
Minimizzazione dei datiLetture limitate al ruolo — nessuna sovra-raccoltaLetture a livello di proprietàControllate dal fornitore — opaco

Riferimenti alla piattaforma: documentazione Apple UserNotifications, riferimento notifiche Android.

Grom Security attivazione e disattivazione remota — controlli con accesso per capacità in Swift / SwiftUI su iOS con notifiche push

Build iOS — Swift, interfaccia con accesso per capacità e flusso di attivazione

Il client iOS è sviluppato in Swift con SwiftUI per il livello UI e un livello di rendering con accesso per capacità che mostra solo i controlli che l'utente corrente è autorizzato a utilizzare sulla zona corrente. L'intera superficie di attivazione e disattivazione si riduce a una singola macchina a stati — disattivato, in attivazione, attivato, in disattivazione, in allarme — e la schermata principale è un elenco delle zone a cui l'utente ha accesso, ciascuna con un interruttore a tocco singolo che governa la macchina a stati. Le notifiche push vengono gestite tramite UserNotifications e APNs con permesso di notifica critica per gli eventi di allarme, in modo che un allarme attivato raggiunga il proprietario anche con il dispositivo in modalità Non disturbare.

Il percorso di attivazione tramite tocco è il punto in cui la maggior parte delle app di sicurezza perde tempo e fiducia, e dove abbiamo investito uno sforzo ingegneristico sproporzionato. Il flusso è: tocco, validazione della capacità ruolo-zona dell'utente rispetto ai permessi memorizzati localmente (nessun round-trip di rete se valido), invio del comando di attivazione firmato via TLS al back office, scrittura della richiesta nel registro di audit, e ricezione in tempo reale del cambio di stato da parte del dispatcher. Sulle reti mobili tipiche degli Stati Uniti e dell'UE l'intero percorso si completa in meno di un secondo dal punto di vista dell'utente, e il record nel registro di audit — chi ha attivato quale zona, da quale dispositivo, a che ora — viene salvato prima che l'interfaccia torni allo stato inattivo. La superficie iOS end-to-end è realizzata nell'ambito della nostra practice di sviluppo di app iOS e Android.

Integrazione video Android di Grom Security — feed telecamere integrati con Kotlin Jetpack Compose e accesso per ruolo

Build Android — Kotlin, video integrato e controllo domotico

Il client Android è scritto in Kotlin con Jetpack Compose per l'interfaccia e un foreground service per la consegna prolungata delle notifiche push — sui dispositivi Samsung, Xiaomi, OnePlus e Pixel, gli ottimizzatori di batteria aggressivi terminano i gestori push in background in pochi minuti, violando il contratto di consegna degli allarmi a cui l'utente si è implicitamente iscritto. Il foreground service mostra una notifica persistente minimale che mantiene attiva la pipeline push attraverso i cicli della modalità Doze, e WorkManager gestisce le operazioni non urgenti — aggiornamento dei permessi, replay del registro di audit, rotazione dei certificati — con semantica di backoff che rispetta gli stati di risparmio energetico da Android 10 ad Android 14.

La superficie di controllo domotico è il punto di forza del client Android. L'app si integra con l'ecosistema domotico esistente del cliente tramite un livello di adattatore di protocollo sottile — protocolli di sicurezza di terze parti sul lato allarme, API domotiche sul lato automazione — così il proprietario può accendere la luce del portico dalla stessa schermata che mostra il feed della telecamera del giardino e lo stato corrente dell'allarme. Il player video integrato trasmette correttamente su LTE e Wi-Fi senza costringere l'utente a passare a un'app del fornitore, e la riproduzione con accesso per ruolo stabilisce chi può guardare quale telecamera. Dopo un passaggio da Wi-Fi a LTE il client ripristina automaticamente la sessione video. Lo stesso team di sviluppo mantiene iOS e Android in parallelo nell'ambito della nostra practice di sviluppo di app mobile.

Modello di permessi multi-utente di Grom Security — ruoli proprietario, famiglia, dipendente e ospite limitati per zona

Permessi multi-utente, registro di audit e postura audit-ready

La postura multi-utente dichiarata di Grom Security era una decisione architetturale prima ancora di essere un punto di marketing. Ogni proprietà è l'oggetto radice dei permessi; ogni zona ne eredita le impostazioni; e ogni utente riceve un ruolo per zona — proprietario, famiglia, dipendente, ospite — con capacità mappate per ruolo. I client mobile mostrano solo i controlli che l'utente è autorizzato a utilizzare sulla zona corrente, e il back office applica la stessa matrice di capacità a ogni chiamata API, così una richiesta contraffatta o riprodotta dal client non può escalare il perimetro. Non esiste tracciamento della posizione per utente, né acquisizione continua dal microfono del dispositivo, né pipeline di metadati verso un fornitore di osservabilità esterno al sistema di intervento dell'operatore.

Il registro di audit è il cuore del modello. Ogni attivazione, disattivazione, visualizzazione video e modifica di configurazione scrive un record immutabile identificato per zona, utente, dispositivo e tipo di evento. La finestra di conservazione predefinita di 90 giorni è estendibile in base alla normativa locale, e il proprietario può esportare il registro in formato JSON o CSV in qualsiasi momento. Le policy di infrastructure-as-code applicano gli invarianti di accesso — qualsiasi pull request che amplierebbe il perimetro di lettura di un ruolo o introdurrebbe un non-tracciamento per zona non supera la CI. La postura è costruita per allinearsi agli obblighi GDPR per gli utenti nell'Unione Europea e agli obblighi CCPA / CPRA per gli utenti in California e negli Stati Uniti — e per rendere una futura valutazione indipendente di conformità un esercizio documentale, non un intervento architetturale.

Postura di conformità: conforme al GDPR · pronto per ISO 27001 · SOC 2 Type II in corso · compatibile HIPAA · CCPA riconosciuto.

Metodologia di consegna

Una build in cinque fasi che ha portato Grom Security dalla specifica di prodotto alla produzione su iOS, Android e un back office unificato di gestione dei permessi.

Fase 1

Discovery e modello dei ruoli

Interviste ai clienti su proprietà multi-zona, modello delle minacce (comandi contraffatti, escalation del perimetro, dispositivi persi), mappatura della postura GDPR + CCPA, revisione dei permessi per app di sicurezza su App Store e Google Play.

Fase 2

Permessi e protocolli

Schema dei permessi zonali, matrice ruolo-capacità, adattatore del protocollo di sicurezza di terze parti, adattatore del protocollo domotico, contratto di immutabilità del registro di audit, progettazione della pipeline push.

Fase 3

Build delle piattaforme

Client iOS Swift / SwiftUI con rendering limitato per capacità e push di notifica critica; client Android Kotlin / Jetpack Compose con foreground service per affidabilità push; player video integrato su entrambi.

Fase 4

Rafforzamento audit-ready

Policy di infrastructure-as-code che bloccano le regressioni del perimetro del ruolo, QA di affidabilità della consegna push sulle reti Apple e Google, test di immutabilità del registro di audit, scaffolding di preparazione di terze parti.

Fase 5

Lancio e telemetria

Pubblicazione su App Store + Google Play negli store degli Stati Uniti e dell'UE, cutover del feed eventi in tempo reale lato dispatcher, configurazione della conservazione del registro di audit per zona secondo la normativa locale.

Integrazione domotica, passaggio dell'ecosistema e vista dispatcher

Il livello domotico di Grom Security è stato costruito per mantenere l'identità dell'allarme e quella dell'automazione domestica provabilmente allineate, perché la promessa dell'app unificata si sgretola nel momento in cui il proprietario deve accedere a un account ecosistema separato per accendere una luce. La superficie di controllo domotico si integra con l'ecosistema esistente del cliente tramite un livello di adattatore di protocollo sottile che mappa le capacità con accesso per ruolo — accendi / spegni / dimmerizza — sullo schema di comando proprio dell'ecosistema. Lato server, l'integrazione è una mappatura stateless; il back office non conserva copie persistenti delle credenziali dell'ecosistema oltre al token OAuth refresh rotante, e un proprietario che revoca l'integrazione vede il riquadro domotico scomparire dalla sua app in pochi secondi. La vista dispatcher, utilizzata dal team di risposta reperibile dell'operatore, legge dallo stesso flusso del registro di audit che il cliente vede nell'app — così un allarme attivato si riconcilia correttamente tra la schermata mobile del cliente, la console del dispatcher e l'eventuale rapporto di incidente. L'intero sottosistema è stato costruito con l'estensibilità in mente: aggiungere un nuovo adattatore di ecosistema, un motore di programmazione per zona o un livello B2B multi-proprietà con gestione del team è una modifica di configurazione al servizio di permessi, non una release del codice.

Lancio negli Stati Uniti e nell'Unione Europea

Grom Security è stato lanciato su Apple App Store e Google Play con store attivi negli Stati Uniti e nell'Unione Europea. La build in lingua inglese serve gli utenti in California, New York, Texas, Florida e Washington negli USA, e gli utenti nei Paesi Bassi, Germania, Francia, Irlanda e Svezia nell'UE, senza una codebase separata per regione. I flussi di consenso sono consapevoli della regione a livello client: gli utenti nell'UE e nel SEE ricevono una schermata di consenso granulare in stile GDPR con interruttori separati per eventuali analisi di prodotto opzionali; gli utenti in California ricevono la comunicazione in stile CCPA «Non vendere o condividere le mie informazioni personali» nello stesso flusso. Le pratiche di gestione dei dati sono allineate con il GDPR per gli utenti europei e con il patchwork della privacy statale statunitense — CCPA / CPRA (California), VCDPA (Virginia), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas) e Oregon CPA. Poiché l'architettura dei permessi zonali minimizza la raccolta di dati per utente, la conformità regionale si riduce a una comunicazione onesta anziché a una segregazione dei dati per giurisdizione.

Il parco macchine del back office è stato distribuito nelle regioni UE e USA in parallelo — Paesi Bassi, Germania, Francia, Svezia e Irlanda per la copertura UE; US East e US West per il Nord America — con i worker stateless di ciascuna regione provisionati in modo identico. Il feed dispatcher che instrada gli eventi di allarme al team di risposta reperibile gestisce worker stateless che possono essere fissati alle regioni UE o USA in modo indipendente per futuri impegni di residenza dei dati. Sia il rating per età su App Store che il rating dei contenuti su Google Play sono stati calibrati per il set di funzionalità di sicurezza, e la privacy policy in-app è stata redatta per documentare esattamente l'architettura descritta, citando direttamente gli obblighi GDPR e gli obblighi CCPA della California. Il team di sviluppo opera in orario CET con sovrapposizione con la costa est degli Stati Uniti (9:00–13:00 ET) per stand-up, coordinamento delle revisioni store e gestione degli incidenti — il fuso orario che consente a un team di prodotto statunitense e a un team di sviluppo europeo di condividere quattro ore di overlap live ogni giorno.

Stack tecnologico e roadmap

Swift SwiftUI UserNotifications APNs critical alerts Kotlin Jetpack Compose Android Foreground Service Firebase Cloud Messaging WorkManager Node.js PostgreSQL Redis OAuth 2.1 TLS 1.3 RTSP / HLS Docker Kubernetes Terraform Prometheus

La roadmap attiva di sviluppo software su misura per Grom Security include l'integrazione domotica con protocollo Matter per il controllo cross-ecosistema, un motore di programmazione per zona affinché il garage possa auto-attivarsi a mezzanotte, un livello di notifica critica push con escalation opzionale a un team di risposta a pagamento, e un client desktop costruito su Tauri per condividere la logica di business con la codebase mobile. Un livello B2B con portfolio proprietà personalizzato, gestione del team e SSO è pianificato per gli operatori mid-market degli Stati Uniti e dell'UE, con il sottosistema di permessi già strutturato per l'assegnazione multi-proprietà. I piani infrastrutturali includono un'ulteriore automazione Cloud & DevOps della pipeline di distribuzione regionale, un harness interno di verifica continua per il contratto del perimetro del ruolo, e una futura valutazione indipendente di conformità inclusa nella cadenza operativa.

Realizzate un'app di sicurezza simile — contattateci

Se state pianificando un'app di sicurezza unificata, un prodotto di monitoraggio remoto o qualsiasi app mobile in cui sicurezza fisica, video integrato e controllo domotico devono vivere dietro un'unica icona per utenti negli Stati Uniti e in Europa, abbiamo distribuito questo stack end-to-end e possiamo comprimere significativamente i tempi di realizzazione. Il prodotto in produzione è gestito dal fornitore di sicurezza su yusmpgroup.ru/cases/gromsecurity (pagina del caso), e il team di sviluppo che lo ha realizzato fa parte di YuSMP Group. Lavoriamo a prezzo fisso per MVP ben definiti e con team di sviluppo dedicati per la consegna continuativa, con una giornata lavorativa CET e una finestra garantita di sovrapposizione con la costa est degli Stati Uniti (9:00–13:00 ET) per stand-up, demo e risposta agli incidenti.

Prenota una chiamata di analisi Scopri i servizi di sviluppo mobile

Domande frequenti

Quanto costa sviluppare un'app mobile per allarme remoto e domotica come Grom Security?

Un'app di allarme remoto con client iOS e Android, attivazione e disattivazione zonale, notifiche push e un back office di gestione dei permessi ha un costo tipico di €120k–€280k per un MVP. L'aggiunta di feed video integrati, integrazioni di protocolli domotici (Matter, Zigbee, Z-Wave o SDK proprietari), permessi multi-utente basati su ruoli e un registro di audit porta il costo di un lancio completo a €320k–€680k. I principali driver di costo sono l'integrazione dei protocolli di sicurezza di terze parti e il modello di permessi multi-utente.

Perché unire allarme, video e domotica in un'unica app invece di tre separate?

Un proprietario che già paga un servizio di vigilanza non vuole tre icone sulla schermata principale, tre accessi e tre flussi di notifiche dallo stesso fornitore. Unificare allarme, video e domotica in un'unica app elimina il sovraccarico cognitivo derivante dal ricordare quale app controlla quale sottosistema, consente di condividere un'identità utente unica e un unico modello di permessi su tutte e tre le superfici, e fornisce al proprietario un'unica fonte di verità sullo stato attuale dell'allarme, sugli accessi e sugli eventi recenti.

Come si costruisce un modello di permessi multi-utente per un'app di sicurezza usata sia dalla famiglia che dal personale?

Un modello multi-utente robusto è una decisione architetturale basata sui ruoli, non un semplice interruttore di funzionalità. La proprietà è l'oggetto radice dei permessi; ogni zona (casa, garage, terreno, sauna) ne eredita le impostazioni; e ogni utente riceve un ruolo per zona — proprietario, famiglia, dipendente, ospite. I ruoli sono mappati su capacità — attivazione, disattivazione, visualizzazione video, configurazione — e i client mobile mostrano solo i controlli a cui l'utente ha diritto. Il registro di audit registra chi ha attivato, disattivato o riconfigurato ogni zona, con una finestra di conservazione di 90 giorni estendibile dal proprietario in base alla normativa locale.

Cosa offre Grom Security a un proprietario con più siti?

Grom Security è l'unica interfaccia mobile che un proprietario gestisce per più indirizzi. Elenca tutti i siti posseduti con un controllo di attivazione/disattivazione per zona accessibile con un solo tocco, mostra il video live delle telecamere integrate in ciascun sito, espone le azioni domotiche per illuminazione, clima e prese attraverso l'ecosistema connesso, e instrada gli eventi di allarme come notifiche push con escalation opzionale al team di risposta reperibile. I familiari e i dipendenti ricevono accesso limitato tramite il modello di permessi basato su ruoli.

Quanto tempo occorre per rilasciare un'app di sicurezza unificata su iOS e Android?

Un MVP concentrato con client iOS e Android, attivazione/disattivazione zonale, notifiche push e un back office di gestione dei permessi richiede tipicamente 14–22 settimane. L'aggiunta dell'integrazione video, del livello di protocolli domotici, del modello multi-utente basato su ruoli e del registro di audit aggiunge 8–12 settimane. La fase di rafforzamento — affidabilità del push sulle reti Apple e Google, QA dei permessi per ruolo, immutabilità del registro di audit, valutazione di preparazione di terze parti — è spesso sottovalutata e dovrebbe essere preventivata per 4–6 settimane di lavoro dedicato.

Condividi questo caso

LinkedIn X

Pianificate una build simile

Prenota una chiamata di analisi

Richiedi una proposta

Condividete alcuni dettagli e un consulente senior risponderà entro un giorno lavorativo.

Preferite parlare direttamente? ☎ Call +374 44 871 811 ✉ sales@yusmpgroup.com