Natural Language SQL With Security Predicates for Data Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Organizational data spread across multiple applications is hard to visualize insightfully, and existing database and application tools face challenges in managing user access and security, especially when transitioning between environments.
Innovation Solution
A computer-implemented method using a large language model to generate SQL requests with appended security predicates, enabling secure access and visualization of data based on user requests, while enforcing role-based access controls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a user is given the ability to access all data of an organization or manipulate data outside one of the organization's application environments, then the user can visualize and manipulate organizational data flexibly, but large security risks are introduced for the organization
Solution Approach 1:
The patent introduces an intermediary layer between the user and the database that translates natural language requests into SQL queries while enforcing security constraints. This mediator component allows flexible data access through natural language processing while preventing direct unauthorized database access, thus resolving the contradiction between accessibility and security.
Solution Approach 2:
The patent segments the data access control into multiple layers: natural language processing layer, SQL generation layer, and database execution layer. Each layer has specific security constraints applied, allowing flexible user interaction at the natural language level while maintaining strict security controls at the database execution level.
2Object-affected harmful factors
If role-based access controls are enforced at the database level, then data security is improved, but the specific boundaries of access control become difficult to determine for individual users in given scenarios
Solution Approach 1:
The patent replaces the traditional mechanical role-based access control system with an AI-based natural language processing system. Instead of requiring users to understand complex access control boundaries, the system uses NLP to interpret user intent and automatically applies appropriate security constraints, making access control boundaries transparent and easy to determine.
Solution Approach 2:
The system incorporates feedback mechanisms where the AI model learns from user interactions and refines its understanding of access control boundaries. By analyzing user requests and database responses, the system continuously improves its ability to determine appropriate access control boundaries for individual users in given scenarios.
3Manufacturing precision
If applications are designed to visualize data in specific ways, then data presentation is optimized for those use cases, but applications cannot provide functionalities to visualize data in ways that users desire beyond predefined options
Solution Approach 1:
The patent implements a dynamic data visualization system where the visualization format and content are determined dynamically based on user natural language requests rather than being static and predefined. The system adapts its visualization capabilities to user needs in real-time, resolving the contradiction between optimization and versatility.
Data Source
AI summary
A database query processing method includes receiving a natural language request for information contained within a database from a user in an application session, prompting a large language model to generate a SQL request, and receiving a particular SQL request from the large language model that is parsed to identify a command to access one or more database structures. A security predicate is appended to the command, creating a modified SQL request, to enforce one or more database access constraints constraining a user-authenticated client device that submitted the request that is not enforced in a database session between the application and a database. The modified SQL request is used to access data in the database session, and a visualization of the accessed data is caused to be displayed in the application session.


