A home security communication system includes a client application executing on a user device and a security platform comprising a services database populated from schedule databases of one or more service providers. The client application obtains a location of interest and queries the services database to determine whether authorized service-provider personnel are scheduled to be present near that location. The client application presents user interfaces that display status indicators, scheduling and rescheduling options, and identity details of personnel for verification. The system supports secure communications between the client application, the security platform, and service-provider systems using network security protocols and may employ token-based authentication. The client application enables users to request, confirm, and track service-provider activity at their location of interest, enhancing residential security by allowing verification of service-provider presence and identity before granting access.
Legal claims defining the scope of protection, as filed with the USPTO.
obtaining, by a client application executing on a user device, a location of interest associated with a user; querying, by the client application, a services database of a security platform, the services database populated from one or more schedule databases of service providers; receiving, by the client application, information from the services database indicating whether authorized service provider personnel are scheduled to be present near the location of interest; and displaying, by the client application, a user interface indicating at least one status of such activity for user verification. . A method of verifying service provider activity at a location of interest, the method comprising:
claim 1 . The method of, further comprising presenting, by the client application, a calendar interface with selectable dates and time windows to schedule or reschedule service activity.
claim 1 . The method of, wherein the displaying includes presenting an inspection confirmation dialog including a date, a time, and an assigned personnel field.
claim 1 . The method of, further comprising generating, by the security platform, notices to the client application based on scheduled or unscheduled work at the location of interest.
claim 1 . The method of, further comprising verifying, by the client application, identity documents presented by personnel by cross-referencing identity data received from the services database.
one or more hardware processors; a user device including a client application configured to obtain a location of interest associated with a user; a security platform including a services database populated from one or more schedule databases of service providers, wherein the client application is configured to query the services database using the location of interest to obtain information indicating whether authorized service-provider personnel are scheduled to be present near the location of interest and to present at least a portion of that information to the user for verification. . A system for verifying service-provider activity at a location of interest, the system comprising:
claim 6 . The system of, wherein the client application is configured to obtain the location of interest using GPS or location services of the user device.
claim 6 . The system of, wherein the security platform is configured to access the schedule databases via an application programming interface.
claim 6 . The system of, wherein communications between the client application and the security platform are secured using HTTPS and/or TLS.
claim 6 . The system of, further comprising an authentication module configured to use JSON Web Tokens with expiring tokens.
claim 6 . The system of, wherein the client application is configured to present identity details of personnel to enable cross-reference with data obtained from the services database.
claim 6 . The system of, wherein the services database is indexed by location data associated with the location of interest to facilitate retrieval.
claim 6 . The system of, wherein the client application is implemented using Kotlin Multiplatform or React Native to provide shared logic with platform-specific user interfaces.
claim 6 . The system of, wherein the security platform is implemented using a monolithic TypeScript architecture employing Fastify and/or NestJS.
claim 6 . The system of, wherein the client application is configured to present a confirmation control to acknowledge scheduled service activity and a date-selection control to modify scheduling.
claim 6 . The system of, wherein the client application is configured to present status indicators reflecting scheduled service-provider activity.
claim 6 . The system of, wherein the security platform is configured to facilitate secure point-to-point communications between service-provider systems and the client application to mitigate spoofing.
claim 6 . The system of, wherein the security platform is configured to receive event-driven updates from service-provider scheduling systems and publish changes to the services database for retrieval by the client application.
obtaining, by a client application, a location of interest associated with a user; querying, by the client application, a services database populated from one or more schedule databases of service providers; receiving, by the client application, information from the services database indicating whether authorized service-provider personnel are scheduled to be present near the location of interest; and presenting, by the client application, a user interface enabling verification of service-provider presence. . One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for verifying service-provider activity at a location of interest, the process comprising:
claim 19 . The one or more tangible processor-readable storage media of, wherein the instructions cause the client application to present a landing screen with an address input and status indicators reflecting scheduled activity.
Complete technical specification and implementation details from the patent document.
The present application claims the benefit of priority of U.S. Provisional Application No. 63/743,466, filed Jan. 9, 2025, the contents of which are herein incorporated by reference.
In today's world, where safety is paramount, home invasions represent a chilling reality, often exacerbated by perpetrators posing as utility company employees. These impostors exploit trust to gain unauthorized access to homes, contributing significantly to the staggering statistics surrounding break-ins and burglaries. With over 2,000,000 homes falling victim to such incidents annually and a daily average of 4,500 home burglaries, the need for heightened vigilance is evident. However, this presents a unique opportunity for utility companies to step in and provide essential peace of mind. Such proactive measures enhance residential security and reinforce trust in utility services, offering a vital layer of protection against intruders masquerading as employees.
The present disclosure generally relates to a home security communication system that allows a user to obtain verification regarding service provider activity affecting the user. For example, the user may execute a client application on a user device (e.g., their smartphone). The client application may allow the user to identify their location, either using the location determination capabilities of the user device or by entering their address. In turn, users gain immediate access to a comprehensive verification system.
The system is not limited to verifying individual identities. Rather, the system may provide real-time updates on the presence of authorized personnel from a service provider (e.g., a utility company, government service provider, etc.). Through seamless integration with system provider systems, the system leverages geolocation data to inform homeowners of any legitimate representatives operating in their area. This feature enhances the user experience and fosters a proactive approach to security. Armed with this information, homeowners can make informed decisions about granting access to their properties, effectively fortifying their defenses against potential threats. In essence, the system empowers users to take control of their security with unparalleled ease and efficiency, ensuring peace of mind in an ever-evolving landscape of risk uncertainties.
In some aspects, the techniques described herein relate to a method of verifying service-provider activity at a location of interest, the method including: obtaining, by a client application executing on a user device, a location of interest associated with a user; querying, by the client application, a services database of a security platform, the services database populated from one or more schedule databases of service providers; receiving, by the client application, information from the services database indicating whether authorized service-provider personnel are scheduled to be present near the location of interest; and displaying, by the client application, a user interface indicating at least one status of such activity for user verification.
In some aspects, the techniques described herein relate to a system for verifying service-provider activity at a location of interest, the system including: one or more hardware processors; a user device including a client application configured to obtain a location of interest associated with a user; a security platform including a services database populated from one or more schedule databases of service providers, wherein the client application is configured to query the services database using the location of interest to obtain information indicating whether authorized service-provider personnel are scheduled to be present near the location of interest and to present at least a portion of that information to the user for verification.
In some aspects, the techniques described herein relate to one or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for verifying service-provider activity at a location of interest, the process including: obtaining, by a client application, a location of interest associated with a user; querying, by the client application, a services database populated from one or more schedule databases of service providers; receiving, by the client application, information from the services database indicating whether authorized service-provider personnel are scheduled to be present near the location of interest; and presenting, by the client application, a user interface enabling verification of service-provider presence.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Other implementations are also described and recited herein.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that it is not intended to limit the invention to the particular form disclosed, but rather, the invention is to cover all modifications, equivalents, and alternatives falling within the scope of the invention as defined by the claims.
1 FIG. 100 100 102 110 120 102 102 102 104 104 102 104 102 102 illustrates an example of a home security communication system. The home security communication systemmay include a user device, a security platform, and one or more service providers. The user devicemay comprise a computing device in the possession of a user, such as a homeowner. For example, the user devicemay comprise a personal computer, smartphone device, tablet device, or the like. The user devicemay execute a client application. The client applicationmay leverage the capabilities of the user deviceto obtain a location associated with the user. For example, the client applicationmay access location services of the user device(e.g., using GPS technology) to obtain a location of the user device.
104 102 104 The client applicationmay comprise a native application executing on the user device. In other examples, the client applicationmay utilize Kotlin Multiplatform (KMP) or React Native to provide functionality. Kotlin Multiplatform allows shared business logic and core functionalities across different platforms while enabling each platform's unique features and UI standards. By using KMP, one may write shared code (e.g., algorithms for location verification or security protocols) while allowing platform-specific code to access native capabilities, such as handling GPS data securely or leveraging native encryption libraries. KMP is especially advantageous for balancing efficient code reuse with high-performance native execution, making it an ideal choice if you want to streamline development without sacrificing platform-specific optimizations. React Native offers a shared codebase for different platforms while maintaining native access through bridging modules, making it a good choice for consistent UI/UX across devices and rapid updates. With React Native, one can develop a single application that leverages location services, GPS data, and real-time notifications while interacting with native security features, ensuring security standards without duplicating efforts for each platform. This option also supports rapid prototyping and deployment, as updates to the UI and business logic can be managed from a single codebase, reducing the overall time and resources needed for maintenance and enhancement.
104 110 110 112 120 112 120 The client applicationmay communicate with a security platform. The security platformmay include a services databasethat includes information regarding areas in which representatives of the one or more service providersare expected to be working. The services databasemay be populated by information obtained from the one or more service providers.
120 122 122 120 122 124 120 124 122 For example, the one or more service providersmay employ a scheduling system. The scheduling systemmay be used by the one or more service providersto assign workers tasks or areas of coverage associated with a location or area. In turn, information from the scheduling systemmay be provided to a schedule databaseat the one or more service providers. The schedule databasemay include a selective subset of information sufficient to provide verification of whether workers are scheduled to be in a given location, the identities of the workers, the type of work scheduled to be performed, or other pertinent information, which may include less than all information available in the scheduling system.
120 124 110 112 124 120 104 102 102 112 As may be appreciated, each of the one or more service providersmay include a schedule databasethat may be accessible by the security platform. In this regard, the services databasemay be populated with information regarding the schedule databaseof the one or more service providers. As such, the client applicationmay provide information regarding a location of interest (e.g., a location obtained via location services of the user deviceor provided via an input to the user deviceby the user). The location of interest may be indexed to the services databaseto retrieve information about any scheduled workers to be in the location of interest.
120 110 124 120 110 The one or more service providersmay connect to the security platformthrough an API or a secure messaging protocol. They could use RESTful or GraphQL APIs for exchanging information. A service provider's internal architecture may include the scheduling databasefor tracking employee assignments and a middleware layer to relay specific data to the security platform. Service providers might use secure database replication or a publish-subscribe messaging system to update the security platform about real-time changes in worker schedules. In any regard, the systems of the one or more service providersmay periodically or event-driven, update the security platformwith location-specific data, including authorized personnel, tasks, and schedules.
102 104 112 110 112 104 112 110 120 A user of the user devicemay access the client applicationto provide the location of interest and retrieve information from the services databaseat the security platformregarding workers scheduled to be in the location of interest. This may allow the user to determine if purported work at a location of interest or a request to access the location of interest is legitimate. Furthermore, the services databasemay provide the client applicationinformation regarding the identities of the scheduled workers, which may allow the user to cross-reference the identity information from the services databasewith identity documents proffered by a worker at the location of interest. That is, upon a user's request, the security platformmay verify and relay relevant data about the presence of the one or more service providersnear the user's location, using minimal data necessary for security.
110 124 120 110 124 120 110 110 120 110 110 124 120 The security platformmay access the schedule databaseof the one or more service providersusing one or more communication protocols. For example, the security platformmay access the schedule databaseusing an application protocol interface (API) defined by each one of the one or more service providersor by the security platform. That is, the security platformmay publish an API that may be followed by the one or more service providersas partners of the security platformto provide the security platformwith access to the respective schedule databaseof the one or more service providers.
110 120 102 120 110 104 110 120 110 104 In addition, the security platformmay facilitate secure communications between the one or more service providersand the user deviceto provide point-to-point security. This may reduce the potential of malicious actors spoofing one or more service providersor the security platformto provide false information to the client application. Secure communications may be provided using any appropriate secure communication protocol, including, for example, hypertext transfer protocol secure (HTTPS). Other means of secure data exchange may be provided, including encrypted communication between the security platformand one or more service providersor between the security platformand the client application.
110 110 The security platformmay be implemented using a monolithic architecture, Fastify, and/or NestJS. For example, the security platformmay utilize a TypeScript-based monolithic architecture using Fastify or NestJS. This approach centralizes all application logic, databases, and APIs within a single deployable unit, streamlining management and development processes. A monolithic architecture allows one to maintain all services (user authentication, data processing, API handling, and secure communications) in a single codebase. This can be easier to manage in early development stages, especially when performance and consistency are critical. In a security-oriented application, a monolithic design centralizes critical security configurations and protocols, making it simpler to enforce security measures, monitor activity, and update the system without impacting distributed microservices. With TypeScript's static typing, maintaining a large, cohesive codebase becomes more manageable, reducing errors and enhancing code reliability.
Fastify's plugin architecture fits well within a monolithic structure, allowing one to add middleware, authentication, and rate-limiting plugins across all routes without the complexity of inter-service communication. Fastify's JSON schema validation ensures data integrity throughout the monolithic application, which is essential when handling sensitive data like location updates or verification requests. NestJS's modularity provides a structured approach to organizing different parts of the application within a monolithic framework, creating clear boundaries for modules like authentication, user management, and service provider integration. The dependency injection and middleware support in NestJS simplify security enforcement across modules in the monolith, making it easier to apply consistent security protocols like JWT authentication or HTTPS across the entire application.
A monolithic architecture may be suitable if one expects a manageable volume of requests initially and needs high-speed communication between modules. By keeping the entire application under one deployable unit, response times can be optimized without the latency of inter-service calls. This approach can also facilitate easier scaling at the infrastructure level. For instance, you can deploy the monolithic platform behind a load balancer and horizontally scale it to meet demand. A monolithic TypeScript platform using Fastify or NestJS offers a straightforward, maintainable, and high-performance option for a real-time security system. It provides centralized control over security protocols and simplifies deployment, making it a practical choice as the system grows and evolves.
100 102 110 120 110 All data exchange within the home security communication systemmay be secured with end-to-end encryption (e.g., TLS 1.3), ensuring that data between user devices, the security platform, and the one or more service providerscannot be intercepted or tampered with. Additionally or alternatively, the security platformcould generate JWT (JSON Web Tokens) for authenticating user device requests, with tokens expiring at regular intervals to mitigate risks if a device is compromised.
104 110 104 122 104 120 122 104 104 The client applicationmay provide the capability for the user to request, confirm, and track various services to be performed at the location of the user. The security platformmay provide a connection between the client applicationand the scheduling systemto allow the user of the client applicationto interact with the one or more service providersto request and schedule services. Further still, the scheduling systemmay provide notices to the client applicationbased on scheduled or unscheduled work to be performed at the location of interest as defined by the user in the client application.
104 102 As noted above, the client applicationmay comprise an application executing on the user device, which may be a smartphone device.
2 10 FIGS.- 2 10 FIGS.- 104 present example user interfaces for the client applicationas presented on a smartphone device. The user interfaces ofmay facilitate the functionality described above.
2 FIG. 200 202 204 206 210 212 214 shows a landing screen of the client application. The screenincludes a header region, an address cardfor entering or confirming a location of interest, and bottom navigation controls,, andfor home, property, and profile functions, respectively. The client application populates these fields using information obtained from the security platform and the services database.
3 FIG. 300 302 304 306 308 316 310 312 314 shows a landing screen of the client application. The screenincludes a header region, an address entry fieldprompting the user to type in their address, a status message or indicatorrelated to inspection scheduling, a button or controlto reschedule the inspection, and Bottom navigation controls,, andfor home, property, and profile functions, respectively.
4 FIG. 400 402 404 406 408 410 412 410 412 414 shows a user interfacewith a screenthat includes an address card, an awaiting confirmation indicator, a service message, a confirmation control, and a choose-date control. Bottom navigation controls,, andfor home, property, and profile functions, respectively, are again provided.
5 FIG. 500 502 504 506 508 516 518 510 512 514 shows a user interfacewith a screenincluding an inspection confirmed card, a last inspection date field, a next inspection date field, and a reschedule control, with a provider summary region. Bottom navigation controls,, andfor home, property, and profile functions, respectively, are again provided.
6 FIG. 600 602 604 606 610 612 614 shows a user interfacewith a screenthat presents an inspection reschedule viewincluding a calendar component, a selected date indicator, time-window selectors, and a confirm control.
7 FIG. 700 702 704 708 710 712 shows a user interfacewith a screenpresenting a calendar component, a selected date indicator, time-window selectors, and a confirm control.
8 FIG. 800 802 804 806 808 816 818 812 812 814 shows a user interfacewith a screenthat includes an address card, an awaiting confirmation indicator, a service message, a confirmation control, and a choose-date controlwith bottom navigation controls,,.
9 FIG. 900 902 906 908 910 shows a user interfacewith a screenpresenting inspector credential details. The interface includes a panelwith fields for the inspector's name, employment or tenure, inspection mode, license identifier, and expiration date. An identification card regiondisplays these details in a structured format, and a close controlallows the user to dismiss the screen. The interface enables the user to review and verify the credentials of the service provider personnel.
10 FIG. 1000 1002 1004 1006 1008 1010 1012 shows a user interfacewith a screenincluding a confirmation dialogthat conveys an inspection confirmation message, a date and time field, an assigned inspector field, and action control.
11 FIG. 1100 102 110 122 1100 1102 1104 1106 1108 1104 1110 1104 1102 illustrates an example schematic of a computing devicesuitable for implementing aspects of the disclosed technology including the user device, the security platform, the scheduling system, or other computing device as described above. The computing deviceincludes one or more processor unit(s), memory, a display, and other interfaces(e.g., buttons). The memorygenerally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., flash memory). An operating system, such as the Microsoft Windows® operating system, the Apple macOS operating system, or the Linux operating system, resides in the memoryand is executed by the processor unit(s), although it should be understood that other operating systems may be employed.
1112 1104 1110 1102 1112 1134 1135 1112 1130 1138 1100 1134 1128 One or more applicationsare loaded in the memoryand executed on the operating systemby the processor unit(s). Applicationsmay receive input from various input local devices such as a microphone, input accessory(e.g., keypad, mouse, stylus, touchpad, joystick, instrument mounted input, or the like). Additionally, the applicationsmay receive input from one or more remote devices such as remotely-located smart devices by communicating with such devices over a wired or wireless network using more communication transceiversand an antennato provide network connectivity (e.g., a mobile phone network, Wi-Fi®, Bluetooth®). The computing devicemay also include various other components, such as a positioning system (e.g., a global positioning satellite transceiver), one or more accelerometers, one or more cameras, an audio interface (e.g., the microphone, an audio amplifier and speaker and/or audio jack), and storage devices. Other configurations may also be employed.
1100 1116 1100 1116 The computing devicefurther includes a power supply, which is powered by one or more batteries or other power sources and which provides power to other components of the computing device. The power supplymay also be connected to an external power source (not shown) that overrides or recharges the built-in batteries or other power sources.
1100 1104 1128 1102 1104 1100 In an example implementation, the computing devicecomprises hardware and/or software embodied by instructions stored in the memoryand/or the storage devicesand processed by the processor unit(s). The memorymay be the memory of a host device or of an accessory that couples to the host. Additionally or alternatively, the computing devicemay comprise one or more field programmable gate arrays (FGPAs), application specific integrated circuits (ASIC), or other hardware/software/firmware capable of providing the functionality described herein.
1100 1100 1100 The computing devicemay include a variety of tangible processor-readable storage media and intangible processor-readable communication signals. Tangible processor-readable storage can be embodied by any available media that can be accessed by the computing deviceand includes both volatile and nonvolatile storage media, removable and non-removable storage media. Tangible processor-readable storage media excludes intangible communications signals and includes volatile and nonvolatile, removable and non-removable storage media implemented in any method or technology for storage of information such as processor-readable instructions, data structures, program modules or other data. Tangible processor-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store the desired information and which can be accessed by the computing device. In contrast to tangible processor-readable storage media, intangible processor-readable communication signals may embody processor-readable instructions, data structures, program modules or other data resident in a modulated data signal, such as a carrier wave or other signal transport mechanism. The term “modulated data signal” means an intangible communications signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, intangible communication signals include signals traveling through wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
Some implementations may comprise an article of manufacture. An article of manufacture may comprise a tangible storage medium to store logic. Examples of a storage medium may include one or more types of processor-readable storage media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of the logic may include various software elements, such as software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, operation segments, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. In one implementation, for example, an article of manufacture may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and/or operations in accordance with the described implementations. The executable computer program instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The executable computer program instructions may be implemented according to a predefined computer language, manner or syntax, for instructing a computer to perform a certain operation segment. The instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any technologies or of what may be claimed, but rather as descriptions of features specific to particular implementations of the particular described technology. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
A number of implementations of the described technology have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the recited claims.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 9, 2026
July 9, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.