Protection with transaction isolation

In addition to being able to specify the storage and execution key for user transactions, you can also specify whether you want transaction isolation. Transaction isolation is built on top of storage protection, which means that STGPROT=YES must be specified. Transaction isolation uses parameters introduced by storage protection, these being EXECKEY, and TASKDATAKEY.

You can control transaction isolation globally for the whole CICS® region with the TRANISO system initialization parameter. For individual transactions, the ISOLATE option of the transaction resource definition allows you to specify the level of protection that should apply to each transaction and program.
ISOLATE [YES or NO]

The defaults for these options mean that, in most cases, no changes to resource definition are needed for existing applications. However, where necessary, protection can be tailored to allow transactions to continue to function where they fail to meet the criteria for full protection, which is the default.

A user-key program invoked by transaction A (TXNA) can read and write to TXNA's user-key task lifetime storage and to shared user storage. Moreover, TXNA has no access to transaction B's (TXNB) user-key task lifetime storage.
Figure 1. Two transactions defined as ISOLATE(YES)
The diagram shows CICS-key storage, shared user-key storage, transaction TXNA's user-key task lifetime storage, and transaction TXNB's user-key task lifetime storage. TXNA has read access to CICS-key storage, and read-write access to its own user-key task lifetime storage and to shared user-key storage. TXNA has the same. The transactions do not have any access to each other's user-key task lifetime storage.
If a transaction is defined as ISOLATE(NO), its user-key task lifetime is visible to all other transactions also defined as ISOLATE(NO). It is, however, protected from transactions defined as ISOLATE(YES).
Figure 2. Two transactions defined as ISOLATE(NO) with read/write access to each other's task lifetime storage
The diagram shows CICS-key storage, shared user-key storage, transaction TXNA's user-key task lifetime storage, and transaction TXNB's user-key task lifetime storage. Both TXNA and TXNB have read access to CICS-key storage, and read-write access to all the other types of storage, including each other's user-key task lifetime storage.

User-key storage is not protected from CICS-key programs, even when you set ISOLATE(YES).