Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.
Return to: Security boundaries
Security boundaries
In this document
Where do trust or privileges change, which flows cross those boundaries, and what controls are evidenced?
This view identifies evidenced trust or privilege changes around customer-form input, application processing, and persistence in the stores7 database. The customer forms accept user-entered fields and map them to customer columns; the executable source then performs database queries and customer/order mutations. E0007
Read the view as two crossings: entered form data crosses into application handling, and application operations cross into database persistence. The evidence shows input constraints, confirmation checks, and transaction rollback for order insertion, but it does not establish authentication, authorization, transport protection, database privilege separation, or runtime deployment. Missing controls are not proof of vulnerabilities or of adequate security. E0007 E0008
Diagram
Preparing diagram…
View Mermaid diagram source
flowchart LR
n6f22b936faf98f2d4f54["Application user (inferred)"]
n4900f70670f44405b664["Customer input boundary (inferred)"]
n819f8497f926a181327f["Customer application"]
n0ea2f9248ea2ba7c162b["Stores7 database"]
n4900f70670f44405b664 -->|"Form data entry"| n819f8497f926a181327f
n819f8497f926a181327f -->|"Customer persistence"| n0ea2f9248ea2ba7c162b
n819f8497f926a181327f -->|"Order transaction"| n0ea2f9248ea2ba7c162b
Elements
Application user
Kind: actor
Basis: inferred
Description: The documented application user can add, find, update, and delete customers, and can enter orders and select report destinations through menus and forms. E0007
Evidence: E0007
Goal: Manage customer records and enter or review application data through the supplied menus and forms. E0007
Customer input boundary
Kind: boundary
Basis: inferred
Description: Customer form input is the boundary where values supplied through INPUT BY NAME are accepted before customer operations use them. The forms expose customer number, names, company, addresses, city, state, ZIP code, and phone fields. E0007
Evidence: E0007
Customer application
Kind: component
Basis: reported
Description: The executable 4GL application presents customer operations, constructs customer queries, inserts and updates customer rows, confirms deletions, and handles order insertion and reporting. E0007
Evidence: E0007
Stores7 database
Kind: external_system
Basis: reported
Description: The application declares the stores7 database and accesses customer and related business tables. One published configuration identifies an Informix JDBC connection for stores7; another published project configuration identifies a different Informix host, port, server, and password. E0007 E0008
Evidence: E0007 E0008
Relationships
Form data entry
From: Customer input boundary
To: Customer application
Relation: crosses
Basis: reported
Description: Customer form values cross from the form into application input handling through INPUT BY NAME; the source maps those fields to the customer record and supports field help and interruption during entry. E0007
Trust change: User-entered values become application-controlled customer data used by insert, update, query, and delete operations. E0007
Control: The customer number is marked NOENTRY in one form, the state field uses UPSHIFT, and the telephone field uses a picture mask. These controls constrain presentation or entry format, but input validation, authentication, and authorization are unverified. E0007
Information: Customer number, names, company, addresses, city, state, ZIP code, and telephone data. E0007
Mechanism: Screen field mappings and INPUT BY NAME. E0007
Evidence type: Source declaration and executable-source report. E0007 Evidence: E0007
Customer persistence
From: Customer application
To: Stores7 database
Relation: crosses
Basis: reported
Description: Customer operations cross into the database through customer selection queries, inserts, updates, and deletes. Deletion requires a selected customer, confirmation by y or Y, and no matching orders. E0007
Trust change: Application-provided customer operations become database reads or mutations in the customer table. E0007
Control: Deletion confirmation and the active-order deletion block are evidenced. The customer insert path has no explicit status check after INSERT, and the supplied evidence does not establish transaction handling for customer creation; those controls are therefore unverified. E0007 E0008
Information: Customer identity and contact fields, including address and telephone data, are queried or persisted. E0007
Mechanism: Informix SQL statements through the customer-management routines. E0007
Evidence type: Executable-source report and qualified source synthesis. E0007 E0008 Evidence: E0007 E0008
Order transaction
From: Customer application
To: Stores7 database
Relation: crosses
Basis: reported
Description: Order entry crosses into database persistence by inserting an order and its item rows. The application begins a transaction, obtains a generated order number, inserts item rows, commits only when both insertion stages succeed, and rolls back when an insertion fails. E0007
Trust change: User-entered order and line-item data becomes committed order data, or is discarded through rollback when the documented insertion path reports failure. E0007
Control: Transaction begin, conditional commit, and rollback on order or item insertion failure are evidenced. The evidence does not establish caller authentication, authorization, least-privilege database accounts, or protection of the configured database credentials. E0007 E0008
Information: Order date, purchase order number, shipping instructions, stock and manufacturer selections, quantities, and calculated item totals. E0007
Mechanism: 4GL transaction control and database inserts. E0007
Evidence type: Executable-source report and help documentation. E0007 Evidence: E0007 E0008
Gaps
The supplied evidence does not identify an authentication or authorization boundary for the application user, nor does it show user roles, database grants, session identity, or privilege checks. Their absence in the supplied material does not prove that those controls are absent. E0007 E0008
The two published database configurations disagree on endpoint and password, and the evidence does not establish precedence, environment, or which configuration is used at runtime. Plaintext credentials are reported in both configurations, but actual exposure, reachability, and privilege scope are unverified. E0007 E0008
The form artifacts include binary files that were not semantically analyzed, and additional runtime form dependencies are not established as present or consistent. Follow-up should compare the deployed forms and runtime configuration with the executable source. E0008
The customer insert path requires source review or controlled execution to determine how failed inserts affect SQLCA.SQLERRD[2] and the reported success result. No assurance about successful or failed persistence can be made from the supplied documents alone. E0007 E0008
Recovery limitations
- Ownership, mechanism or boundary controls remain explicitly unverified.
- Some identified concepts have no supported connection.
- The view includes explicitly marked inference.
Sources
- E0007 — SHA256
ce6dd2b00b79f008ecb98935db9ed709c044218bcdd4143008d56d06a04cff97 - E0008 — SHA256
1713f4e3d42ac5e2af28387ac6ff649f06bbe1683b11869af71326929d6a5f32
Harten documentation of the Informix 4GL and Java source repository, from the retained 17 October 2026 export. The exact upstream revision analysed is not established. Source findings do not establish runtime behaviour or equivalence between the implementations.
Evidence identifiers are retained for traceability. The underlying analysis records are not included in this public edition; credential values are redacted. About this case study.