Transactions are applied against a database on a transaction processing system. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects one or more non-durable attributes of the joined uncompleted transaction. Collected attributes of the joined uncompleted transaction are compared against rules in a rules engine that are applicable to the transaction to determine whether an applicable rule in the rules engine is met. The joined uncompleted transaction is allowed to go forward and be applied against the database of the transaction processing system using a synchronous replication engine when the applicable rule is met, and an asynchronous replication engine when the applicable rule is not met. Alternatively, the joined uncompleted transaction is allowed to go forward using a replication engine that replicates using encryption when the applicable rule is met, or replicates unencrypted when the applicable rule is not met.