POL00030068 - Deloitte Bramble Draft Report

Evidence on official site

POL00030068
POL00030068

Deloitte PRIVATE AND CONFIDENTIAL - SUBJECT TO
° LEGAL PRIVILEGE

‘Bramble’ — Draft Report

Draft for discussion

THIS IS A DRAFT DISCUSSION DOCUMENT AND REPRESENTS A WORK IN PROGRESS AND MAY
CONTAIN PRELIMINARY RESULTS OR CONCLUSIONS INCOMPLETE INFORMATION OR INFORMATION
WHICH IS SUBJECT TO CHANGE

1 September 2017

This report and the work connected therewith are subject to the Terms and Conditions of the engagement letter dated 09 April
2014 (amended 11 March 2016) between Post Office Limited (POL) and Deloitte LLP. The report is produced for the General
Counsel of Post Office Limited (POL), solely for the use of Post Office Limited (POL) for the purpose of assessing assurance
sources and the design of certain controls relating to the Horizon system. Its contents should not be quoted or referred to in
whole or in part without our prior written consent, except as required by law. Deloitte LLP will accept no responsibility to any
third party, as the report has not been prepared, and is not intended for any other purpose.

© Deloitte 2017 Private and Confidential — Subject to Legal Privilege - DRAFT
Contents

1 Executive Summary
2 Background

3. Scope and Approach
4 — Work Performed

5 General Assumptions and Limitations
Appendix 1

Appendix 2

Appendix 3

Appendix 3a

Appendix 4

Appendix 4a

Appendix 5

Appendix 6

Appendix 6a

Appendix 7

Appendix 8

Statement of Responsibility

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

20

24

30

71

72

75

76

77

80

82

83

118

120

123

131

139

POL00030068

POL00030068
POL00030068
POL00030068

1 Executive Summary

1.1. Background and Scope

Post Office Limited (POL) continues to respond to allegations that the “Horizon” IT system used to record
transactions in POL branches is defective and the processes associated with it are inadequate (the “Allegations”).
The ‘Allegations’ span a period of over 15 years, some pre date 2000 and others relate to 2016.In response to the
commencement of litigation proceedings, Deloitte has been instructed to plan and execute proceduresand respond
to three scope areas supporting POLs ability to understand how Horizon (HNG-X) has been operated to prevent
incorrect system operation that could have resulted in Sub-postmaster detriment.

After the completion of the initial procedures (Phase 1) over the three scope areas, it was identified that further
investigations would be required following the identification of exceptions in key controls tested by Deloitte and
identification of key areas of risk that could result in inappropriate transactions/data amendments that would be to
the detriment of Sub-postmasters. As such, Deloitte was instructed to provide responses to specific questions in
these areas to aid POL’s ability to understand a number of areas within Horizon (HNG-X), namely:

1. The usage of privileged users and the configuration of audit logs (specifically over the actions of Super
Users, including audit logs over Riposte); and
2. The control environment over non-counter transactions.

All procedures performed throughout the various phases of work have been in response to relevant risks
surrounding financial loss to sub-postmasters or levels of reliance that can be placed on data used by case
handlers.

It should be noted that this report is to be considered a ‘living’ document, and in its current format represents the
final format following the completion of Phases 0 — 4. Future updates may be required if additional work is scoped
in at a future date.

Phase 1

The scope areas over which Deloitte have been requested to perform procedures are as follows:

1. Scope Area 1 - To carry out an analysis of the relevant transaction logs for branches within the Scheme to
confirm, insofar as possible, whether any bugs in the Horizon system are revealed by the dataset which
caused discrepancies in the accounting position for any of those branches (see 1.2.1).

2. Scope Area 2 - To carry out a full review of the use of Balancing Transactions throughout the lifetime of the
Horizon system, insofar as possible, to independently confirm from Horizon system records the number
and circumstance of their use (see 1.2.2).

3. Scope Area 3 - To carry out a full review of the controls over the use and capability of authorised Fujitsu
personnel to create, amend or delete baskets within a sealed audit store throughout the lifetime of the
Horizon system, insofar as possible (see 1.2.3).

Against each of these three scope areas the main body of this report will outline further:

1. Background and context in relation to this engagement;
2. The approach Deloitte have taken to planning the procedures;
3. The testing procedures POL has requested Deloitte undertake in response to theplanning activities; and
4. Results of these testing procedures.
Phase 2

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

This additional phase of work constituted ‘Phase 2’, the ‘Further Investigations Phase’, whereby Deloitte performed
procedures specified by POL in response to certain findings or outcomes of ‘Phase 1’ against the three scope
areas examined during that phase.

The three additional scope areas specified by POL were:

1. Additional Scope Area 1— To perform an investigation of Super User Audit Logs from Branch Database,
the controls over them, and corresponding data extract and interrogation options (see 1.2.4).

2. Additional Scope Area 2— To perform an investigation of analytics test results 1: ‘Identify Gaps in Audit
Logs Sequencing’, and 6: ‘Identify branches which are out of balance based on transactional data
available’ (see 1.2.5).

3. Additional Scope Area 3- To perform an investigation of controls over the integrity of non-counter initiated
transactions, e.g. Paystation (see 1.2.6).

Phase 3

This additional phase of work constituted ‘Phase 3’, the ‘Non-Counter Transactions Phase’ whereby Deloitte
performed procedures agreed with POL in relation to Non-Counter transactions to provide an assessment as fully
as possible in the time allotted by the exercise, on the factors to consider, controls and risks, in answering the
following questions:

1. Are there any gaps in the controls around Non-Counter transactions that could call into question the
Integrity of the data generated in relation to these transactions? (see 1.2.7)
2. If there are gaps (see 1.2.8):
a. Could they be the cause of discrepancies in branch accounts (or could they mean that errors in
Horizon would not be revealed and those errors could then be the cause of discrepancies in
branch accounts); and

b. What is the risk of those gaps (or resulting discrepancies) materialising?

Phase 4

This additional phase of work constituted ‘Phase 4’, whereby Deloitte performed procedures agreed with POL in
relation to the Fujitsu Report ‘Database Security in Horizon Online’, specifically:

1. Deloitte review of Fujitsu Report in conjunction with initial comments raised (see 1.2.9).
2. Workshop with appropriate Fujitsu resource to (see 1.2.10):
c. Answer any outstanding comments / questions on the report.

d. Produce a detailed commentary on what steps would need to be taken to replace the message log,
as per section 2.2 of the Fujitsu report.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

1.2 Summary of Results

Asummary of key controls tested and results are set out below for all Phases (1-4). A full set of agreed procedures
tested and associated results has been included in Section 4 of this report. These should be reviewed in tandem
with the assumptions and limitations that have been included in Section 5 and at the end of this executive

summary.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

1.2.1. Phase 1 - Scope Area 1

Scope Area 1: To carry out an analysis of the relevant transaction logs for branches within the Scheme to confirm, insofar
as possible, whether any bugs in the Horizon system are revealed by the dataset which caused discrepancies in the

accounting position for any of those branches.

We have performed testing of key inherent system controls, together witha review of some of the source code
which supports the correct operation of the system in relation to ‘bugs’ (error, flaw, failure or fault in a system that
causes it to produce an incorrect or unexpected result, or to behave in unintended ways)which may have given
rise to or contributed to the allegations under investigation. These are controls which in our scoping discussion with
POL and Fujitsu have been determined to be fundamental to protecting the integrity of transaction data within the
system.

The key controls identified were:

1. Alltransactions on the Horizon Counter balance to zero — No Relevant Exceptions Noted.

2. Transactions are atomically (either in entirety, or not at all) written to the Branch Database — No Relevant
Exceptions Noted.

3. Digital Signature controls are applied to the Message Journal during initiation of transfer to Branch
Database, ensuring the integrity of data. No Relevant Exceptions Noted.

4. Access to mechanisms for managing the digital signatures are segregated from database administration
responsibilities (via system access rights restrictions), meaning that even if such access rights be abused
the digital signature that is included with every Counter and Kiosk transaction could not be spoofed.—
Relevant Exceptions Noted.

The exception noted was

- ‘A number of IT users (i.e. non-Branch staff) have access to mechanisms for managing the digital
signatures (i.e. access to the key management server and related technologies) and have database
administration responsibilities and access. This raises the theoretical risk of a user ‘spoofing’ the digital
signature. It is understood that for this risk to be realised, due to time limitations and volume of work
required in order to successfully ‘spoof’ the signature, a program would have to be written.’

5. Transaction Acceptance (in relation to interface file receipt for non-Counter originated interface files) is
required by sub-postmaster's in order to be accepted into branch accounting records. — No Relevant
Exceptions Noted.

6. Recovery processes are in place for transactions in the event of connectivity failure. - Relevant Exceptions
Noted.

The exceptions noted were:

- For one of the transaction recovery scenarios tested (whereby a user session is automatically logged
out after a period of inactivity— 59 minutes after the session screen being locked), it was noted that Post
Office business rules are in place for Horizon to automatically commit unprocessed transactions to the
branch database tables. This would have the effect of committing any unprocessed transactions within
a basket to the branch database. However when next authenticating into Horizon, after being
automatically logged out, the user is immediately presented with a till receipt confirming that the
transactions had been committed to the branch database.’

- ‘Where a new product is created, the recovery script could theoretically be coded to do nothing, meaning

no recovery of transactions would occur in the event of connection failure - no rollbacks or roll-forwards
would happen in this case.’

The first exception could lead to an increased risk that Sub-postmasters are unaware of transactions being posted
in a power failure, although they are notified by receipt that this has occurred. The second exception could lead to
the risk of inappropriate/inaccurate resolution to a recovery situation.

The above controls were tested at a recent point in time, as they are system controls. Given this limitation the
following procedures were undertaken over change control, as changes to the system are subject to the change
control process in place over the Horizon system:

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 5
POL00030068
POL00030068

A review of sources of assurance around change control was performed and it was noted that three
ISAE3402 reports were performed covering the period ApritDecember in 2012, 2013 and 2014 by
professional services firm Ernst & Young LLP. The scope of the report was seen to include ‘Fujitsu's
system of IT Infrastructure Services supporting POL's POLSAP and HNG-X applications’. Within each
reports’ scope was a control objective relating to change management, and in each report reviewed no
deviations were noted against this objective, or any related controls.

Further it was identified through change documentation review, and discussion with Fujitsu SMEs that
various controls tested had specifically changed, either since inception of HNG-X (replacing Riposte) in
2010, or changed during the lifespan of Riposte. Please see Appendix 5 for a full list of controls tested and
a view on whether the controls have been consistent

In summary the major change affecting the operation of controls in relation to this scope area is the creation of the
Branch Database (BRDB) to replace individual branch databases (2010). This change fundamentally altered the
operation of many controls tested. Whilst Fujitsu have attempted to give a view on controls in operation in the
Riposte system, much of the knowledge of this system has leftthe business.

Whilst not causing an exception to one of the controls covered by the scope of our work the following exception
relating to General IT Controls over Horizon was noted:

One Fujitsu user has access to both development and live environments of HNG-x, contravening typically
expected segregation between environments in a change control process.

Fujitsu stated that:

“Whilst we appreciate that there is lack of segregation of dutes here for the <specified user> between Live
and

Development, it is felt that there is a strong business need for this access for <specified user>. He provides

4th line/final line support for the audit service and is in regular weekly contact with the Security audit team

to assist them in resolving queries with the audit service. He is the lead designer/developer and system

owner.

Additionally there are compensating controls in place such as CCTV, and the auditing (performed by
Fujitsu) we have in place (and the technical controls around not being able to change audit items for 7
years) acts as a safeguard against anyone with access trying to change anything in an unauthorised way.”

In addition to the system controls noted above, the following analytics procedures were performed to support this
scope area:

4

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 6

Review of the case data available (relevant to allegations) for transactions indicating items of risk from a
system functionality perspective. The analytical procedures outlined in Appendix6 were undertaken, and a
number of items of interest were noted, see Appendix 6a for details and summary of findings. One finding
of note is that 'there were 48 (0.0015%) session ids from a total of 3,124,140 which were out of balance
based on the transactional data received. Those 48 session ids out of balance related to 18 distinct
branches from 118 in total. The session ids out of balance were all pre system migration to HNG-x in 2010.
POL investigators have been handed this information for further investigation. In short, whilst various
characteristics were noted that could be indicative of risk within the system, further manual investigation
will be required by POL's investigators to conclude. This has been discussed with POL management during
the course of our work.
POL00030068
POL00030068

1.2.2 Phase 1 - Scope Area 2

Scope Area 2: To carry out a full review of the use of Balancing Transactions throughout the lifetime of the Horizon
system, insofar as possible, to independently confirm from Horizon system records the number and circumstance of their

use.

In performing our procedures against this scope area, we have worked with POL and Fujitsu to identify other
methods of posting transactions which impact a branch accounts, without knowledge of the subpostmaster which
in the context of the allegations present similar risks to that of Balancing Transactions. This highlighted other areas
of risk, such as:

1. ‘Global Users’ — being central users who can access branches remotely for support purposes. Critically
such users are not able to post transactions remotely, but only when physically in the branch.

2. Database and Operating System Users with sufficient privileges to post transactions directly to the
database from outside of Horizon, thereby bypassing the system controls to manage activity.

These areas have been brought into scope.

In summary across each of these areas, including Balancing Transactions, controls were noted to be operating
effectively. In particular, based on the procedures we have performed:

1. Logical Access rights to these sensitive functions had been appropriately restricted. No Relevant
Exceptions Noted.

2. Any writes by the Shared Service Centre (SSC) to the Branch Database (BRDB) must be audited. The
mechanism for inserting a correction record must ensure that the auditing of tat action performed must be
atomic. — No Relevant Exceptions Noted.

3. Access to these mechanisms is segregated from key management responsibilities (via system access
rights restrictions), meaning that should such access rights be abused the digital signature that is included
with every Counter and Kiosk transaction could not be spoofed. — Relevant Exceptions Noted.

The exception noted was:

- ‘A number of IT users have access to mechanisms for managing the digital signatures and have
database administration responsibilities and access. This raises the theoretical risk of a user ‘spoofing’
the digital signature. It is understood that for this risk to be realised, due to time limitations and volume
of work required in order to successfully ‘spoof’ the signature, a program would have to be written.’

4. It was also noted via a control walkthrough that any Transaction Corrections created by POL Finance must
be accepted by a Postmaster at branch prior to affecting branch accounts. —- No Relevant Exceptions
Noted.

5. Inherent system controls around Global Users were tested, notably that Global users with a Role of ADMIN
cannot log onto any Branch other than Global (including Remote access controls to branch infrastructure
(e.g. Counter)). — No Relevant Exceptions Noted.

6. SSC will have privileges of only inserting balancing / correcting transactions to relevant tables in the
database. SSC will not have any privileges to update or delete records in the database.— Relevant
exception noted.

The exception noted was:

- ‘The control wording is not accurate. A small number of users are granted extended privileges which
enable them to update / delete records. However the control is operating in line with management's
expectations. Access to the privileged role is restricted to users explicitly authorised for this access. User
actions are audit logged, and not proactively reviewed.’

The above controls were tested at a recent point in time, as they are system controls. Given the limitations around
this the following procedures were undertaken over change control, as changes to the system are subject to the
change control process in place over the Horizon system:

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 7
POL00030068
POL00030068

A review of sources of assurance around change control was performed and it was noted that three
ISAE3402 reports were performed covering the period April-December in 2012, 2013 and 2014 by
professional services firm Ernst & Young. The scope of the report was seen to include ‘Fujitsu's system of
IT Infrastructure Services supporting POL's POLSAP and HNG-X applications’. Within each reports scope
was a control objective relating to change management, and in each report reviewed no deviations were
noted against this objective, or any related controls.

Further it was identified through change documentation review, and discussion with Fujitsu SMEs that
various controls tested had specifically changed, either since inception of HNG-X (replacing Riposte) in
2010, or changed during the lifespan of Riposte. Please see Appendix 5 for a full list of controls tested and
a view on whether the controls have been consistent

In summary the major change affecting the operation of controls tested is the creation of the BRDB to replace
individual branch databases (2010). This change fundamentally altered the operation of many controls tested. It is
not known whether balancing transactions existed in Riposte, as much of the knowledge of this system has left the
business.

An exception was noted relating to a core General IT Control exception around Segregation of Duties, please see
section 1.2.1 above where this issue is described in detail.

In addition to the system controls noted above, the following analytics procedures were performed to support this
scope area:

1.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

All available audit data over the use of Balancing Transactions was inspected (12/03/2010 — 28/05/2016)
and it was noted that only 1 ‘true’ Balancing Transaction was inserted, it did not relate to a branch involved
in the allegations, and the branch was made aware of the transaction prior to insertion. Other uses of the
tool used to insert Balancing Transactions were noted, however they did not affect transactional data and
related to the update of a specific flag (SU) to enable continued processing.
1.2.3

POL00030068
POL00030068

Phase 1 - Scope Area 3

Scope Area 3: To carry out a full review of the controls over the user and capability of authorised Fujitsu personnel to
create, amend or delete baskets within a sealed audit store throughout the lifetime of the Horizon system, insofar as
possible.

In performing our procedures against this scope area, we have worked with POLand Fujitsu to identify how
baskets of transactions flow from creation at the counter, through the sealed audit store(See Background section
for a high level overview).

Further we have tested controls over the accuracy, completeness and validity of the flow of data into the audit
store, which is used as the master data point for audit purposes. We highlight the following key controls during
scoping as being fundamental to ensuring the accuracy, completeness and validity of this data flow:

1.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

The flow of data from counter to audit store was mapped at a detailed level (See Section 1 for high level
overview). Security controls over data at rest (when held in an intermediate location), and completeness
and accuracy controls over data in transit (transfer of data from one holding location to another) including
exception monitoring were tested. - No Relevant Exceptions Noted.

Security controls over access to the audit servers, and audit store were tested, specifically that there are
separate roles and a clear segregation between audit server administration staff, who administer the
architecture, and Fujitsu service audit staff, who have access to retrieve data from the audit store via an
audit workstation. - No Relevant Exceptions Noted.

Access to mechanisms for managing the digital signatures are segregated from database administration
responsibilities (via system access rights restrictions), meaning that even if such access rights be abused
the digital signature that is included with every Counter and Kiosk transaction could not be spoofed. —
Relevant Exceptions Noted.

The exception noted was:

- ‘A number of IT users have access to mechanisms for managing the digital signatures and have
database administration responsibilities and access. This raises the theoretical risk of a user ‘spoofing’
the digital signature. It is understood that for this risk to be realised, due to time limitations and volume
of work required in order to successfully ‘spoof’ the signature, a program would have to be written.’

The ATS (Audit Track Scheduler) collects files for sealing and records a log of its activities to the ATD
(Audit Track Database). In sealing a file the seal is generated using a MD5 hash algorithm. Once a file has
had a seal calculated the file is written to Centera and details are stored in the Audit Track Seal Database.
— No Relevant Exceptions Noted.

Audit tracks and seals are copied to the equivalent import area on the remote audit server as part of Audit
server overnight schedule. On arrival, the sealer on the remote audit server recalculates the seal value of
the imported audit track and compares it with the original value in the imported seal file. Assuming they
match, the file is then written to the remote Audit archive. If the seals do not match, the Audit track andseal
file are moved to a holding area and an event is raised. Manual investigation is necessary to investigate the
cause of the discrepancy (which could be indicative of tampering with the data in between the two Audit
servers). — No Relevant Exceptions Noted.

Audit tracks that are gathered at one data centre are replicated to the Audit server at the remote data
centre. — No Relevant Exceptions Noted.

As Audit tracks are retrieved from the archive, their seals are checked (by re-application of the MD5
message digest function) to ensure that the source data has not been tampered with while it was stored in
the archive. The digital signature check is also applied at this point to ensure data integrity.— No Relevant
Exceptions Noted.

The remote directories from which the Audit Server gathers Audit Tracks is configured so that only the
Audit Server (or an administrator who has been explicitly given permission) is able to delete files in the
directory. - No Relevant Exceptions Noted.
9.

POL00030068
POL00030068

All users (including administrators) of the Audit Workstation and Audit Server log onto systems using two
factor authentication in conjunction with the HNG-X Active Directory system. Each user is uniquely
identifiable. - No Relevant Exceptions Noted.

10. The following operating system level events on the Audit Server are audited via the System Management

event monitoring facilities:
a. Log on/Log off (including unsuccessful log on attempts)
File Creation, Deletion and Modification (on selected files)
Modifications to system configuration (incl. software configuration and account details)
System start up and shut down
Change of user rights

e@aog

Relevant Exceptions Noted:

- ‘Review of the audit settings for the Audit Server noted that the audit policy change which relates to
change of user rights was set to log success events only, with failure not enabled.’

The above controls were tested at a recent point in time, as they are system controls. Given the limitations around
this the following procedures were undertaken over change control, as changes to he system are subject to the
change control process in place over the Horizon system:

1.

A review of sources of assurance around change control was performed and it was noted that three
ISAE3402 reports were performed covering the period Aprit-December in 2012, 2013 and 2014 by
professional services firm Ernst & Young. The scope of the report was seen to include ‘Fujitsu's system of
IT Infrastructure Services supporting POL's POLSAP and HNG-x applications’. Within each reports scope
was a control objective relating to change management, and in each report reviewed no deviations were
noted against this objective, or any related controls.

Further it was identified through change documentation review, and discussion with Fujitsu SMEs that
various controls tested had specifically changed, either since inception of HNG-X (replacing Riposte) in
2010, or changed during the lifespan of Riposte. Please see Appendix 5 for a full list of controls tested and
a view on whether the controls have been consistent.

In summary it is understood controls relating to the audit server and store have been relatively consistent
throughout the lifetime of Riposte and Horizon. It should be noted thatwhilst Fujitsu have attempted to give
a view on controls in operation in the Riposte system, much of the knowledge of this system has left the
business.

An exception was noted relating to a core General IT Control exception around Segregation of Duties, please see
page 4 above where this issue is described in detail.

In addition to the system controls noted above, the following procedures were performed to support this scope

area:

1.

The process of JournalSequence-Numbering (each transaction is given a unique ID of 1 greater than the
previous transaction), whereby completeness checks are performed over these JSNs, is an optional setting
within the system (which assures the completeness of messages from the counter in the audit store).
Testing supported that this control has been enabled since 2010 and not turned offsince inception in 2010.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 10
POL00030068
POL00030068

1.2.4 Phase 2 - Scope Area 1

Scope Area 1: Investigation of Super User Audit Logs from Branch Database, the controls over them, and corresponding

data extract and interrogation options.

In performing our procedures against this scope area, we have worked with POL to hold a workshop with Fujitsu in
which the approach was decided for future phases, and centred on a report produced by Fujitsu on how privileged
access would be controlled within the organisation.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT "
POL00030068
POL00030068

1.2.5 Phase 2 - Scope Area 2

Scope Area 2: Investigation of analytics test results 1: ‘Identify Gaps in Audit Logs Sequencing’, and 6: ‘Identify branches
which are out of balance based on transactional data available’.

We performed further investigations over the analytics test results from Phase 1 of most corcern being Analytic 1—
‘Identify gaps in audit log sequencing and Analytic 6 ‘identify branches which are out of balance based on
transactional data available (should not be possible based on inherent system controls)’. These further procedures
highlighted in each case that there was a reason for each of the results, and theywere not therefore indicative of a
problem with the operation of the Horizon system.

The challenges highlighted were:

1. Analytic 1—\n order to identify gaps in audit log sequencing, the transactions data was sorted into
ascending order on session id and txn id, and any gaps in the sequence at both the session and txn level
were identified. There were 212,372 (1.60%) gaps in audit log sequencing from a total of 13,666,238
transactions.

2. Analytic 6 - In order to identify branches which were out of balance based on transactional data available
(which should not be possible based on inherent system controls), the transactions data was summarised
by branch (Group) and session id and those session ids that do not sum to zero were identified, and are
ordered by balance descending. The data used was filtered for transaction mode ‘SC’ only. There were 48
(0.0015%) session ids from a total of 3,124,140 which were out of balance based on the trarsactional data
received. Those 48 session ids out of balance related to 18 distinct branches from 118 in total The session
ids out of balance were all pre system migration to HNG-X in 2010.

The results after responding to the challenges in the original analytic were:

1. Analytic 1—The analytic logic was revised following discussion with Fujitsu and following this revision there
were no gaps in audit log sequencing.

2. Analytic 6 - There was a logic error in the production of the extracts originally provided by Fujitsu. A
sample of 15 items which were errored in the original data was investigated to confirm they were fixed
when looking at the revised data provided by Fujitsu and confirmed the root cause was issues with the data
extraction rather than the underlying data within the system.

Given the original discrepancies in these analytics have been explained away, no further work against this area is
recommended or required.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 12
POL00030068
POL00030068

1.2.6 Phase 2 - Scope Area 3

Scope Area 3: Investigation of controls over the integrity of non-counter initiated transactions, e.g. Paystation. I

Our work highlighted that there were a number of controls over the integrity of the Horizon system with regards to
the data which is interfaces in from non-Counter sources. The primary sources of such data have been:

1. Camelot (Current)
2. Paystation (Current)
3. Post and Go (Historic)

A key area of focus in the operation of these controls is the ability of the sub-postmaster to validate the data being
received from these external data sources is correct, and this has been incorporated within the procedures which
have then been suggested for inclusion and testing in Phase 3. In addition a diagram highlighting the
understanding gained of the dataflows, and the related controls understood from technical documentationhas been
included within Appendix 8.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 3
POL00030068
POL00030068

1.2.7 Phase 3 - Question 1

Question 1: Are there any gaps in the controls around Non-Counter transactions that could call into question the Integrity

of the data generated in relation to these transactions?

For this specific scope area our procedures centred on understanding data flows and controls over the current
reconciliation process and how Transaction Acknowledgements are utilised; testing key reconciliation controls
between key data sources within the data flow, performing detailed walkthroughs of the Transaction Acceptance
process to confirm the granularity of the information sub-postmasters are provided with, and performing an
analytics pilot to assess the feasibility of performing a reconciliation between raw data files received by PODG.

In the context of the allegations, this is to aid in addressing the risk of data relating to noncounter transactions not
being complete and accurate and being at risk of interference.

The first key area of weakness from a controls perspective in relation to the completeness and accuracy of the flow
of data, is around the sending, processing by, and subsequent receipt of data from third parties. The primary
control in relation to this is the requirement for sub-postmasters to Transaction Acknowledge’ such data before it is
accepted into their accounts, but the formalisation of the processes and controls ensuring SPMs do this has not
been enforced. Reviews of the supporting documentation primarily from the Horizon Online Help aludes to a
number of reports which are available to facilitate this, but concrete conclusions on the ability of SPMs to reconcile
data received from third parties, to that originally transmitted are not possible without the procedures recommended
below to validate whether the SPMs can reconcile (or not).

Originally it was theorised there was a second key area of risk, being that no digital signature is applied to NCTs,
potentially opening up this category of transactions to greater risk of interference subsequent to processing into the
BRDB. Further discussion with Fujitsu has highlighted that when the BRDB receives NCT data, it pushes it down to
the counter for acceptance by the SPM, at which point the Counter digitally signs the acknowledgement of the
transaction and therefore in theory a reconciliation between these digitally signed TAs and the raw data files
received from the third parties (which are interfaced into the Audit Store) should also be possible mitigating this
risk. Note however that this means the data is digitally signed only from the point it is accepted by the SPMs, and
not prior to that point, making visibility and reconciliation of the data back to source by the SPM at the point of
acceptance even more important.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 14
POL00030068
POL00030068

1.2.8 Phase 3 - Question 2

Question 2: /f there are gaps:
a) Could they be the cause of discrepancies in branch accounts (or could they mean that errors in Horizon would not
be revealed and those errors could then be the cause of discrepancies in branch accounts); and
b) What is the risk of those gaps (or resulting discrepancies) materialising?

For this specific scope area our procedures centred on understanding for any gaps in controls over the current
reconciliation process and how Transaction Acknowledgements are utilised, whether theycould the cause for

discrepancies in branch accounts and the risk of this occurring.

In the context of the allegations, this is to aid in addressing the risk of data relating to noncounter transactions not
being complete and accurate and being at risk ofinterference.

1.

Theoretically they could — if a third party incorrectly reflected the data they had received from a non
Counter system, and this incorrect total was then downloaded into the Branch accounts, then in the
absence of formal controls to reconcile data transmitted to the third party, back to data received, the branch
could cause discrepancies in the branch accounts. The control which POL relies on to mitigate this is the
Transaction Acknowledgements.

Without a full investigation of the controls at the third parties, and any other mitigating controls which may
exist, it is difficult to quantify the risk exposure.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 15
POL00030068
POL00030068

1.2.9 Phase 4 - Question 1

[Question 1: Zo perform a review of Fujitsu Report in conjunction with initial comments raised.

For this specific scope area our procedures centred on performing a review of the Fujitsu report in conjunction with
initial comments raised.

In the context of the allegations, this was to provide POL with independent challenge on the content of the report
produced by Fujitsu, and commentary on where this left the residual risks and circumstances.

This review has been performed with an email provided as per the agreed deliverable in the Statement of Workand
was then supplemented by the workshop and challenge described inthe next section

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 16
POL00030068
POL00030068

1.2.10 Phase 4 - Question 2

Question 2: Hold a workshop with appropriate Fujitsu resource to:
a) Answer any outstanding comments / questions on the report; and
b) Produce a detailed commentary on what steps would need to be taken to replace the message log, as per section

2.2 of the Fujitsu report.

For this specific scope area our procedures centred on holding a workshop with appropriate Fujitsu personnel in
order to answer specific questions on the Fujitsu report and address any outstanding comments. Further, Deloitte
provided detailed commentary on next steps required to replace the message log as per section 2.2 of the Fujitsu

report.

Our review of the Fujitsu deliverable highlighted that (in drawing the conclusions below taking what Fujitsu have
said on its merit, and in the absence of other mechanisms/technical capabilities we are not aware of and have not
seen within or external to the Horizon system):

1. Fujitsu have acknowledged within their report that there is a theoretical risk of superusers making edits to
the Branch Database and then covering their tracks, as has been highlighted by the work we have
performed for Phase 1 (however unlikely such a risk might be viewed to be)

2. Fujitsu also acknowledge that the audit trails have been limited to bgon/logoff events prior to 2015, limiting
the value of the audit trail in trying to determine any misuse (or indeed legitimate use, of privileged
accounts prior to this date).

3. Therefore the value of further work over Privileged users is diminished due tothe lack of granularity of audit
trail pre-2015, and the capability of users to only leave a trace audit trail (their final delete action), covering
up this activity.

4. Therefore we should focus on looking at logon events to the key management servers by these individuals
who have access to subvert the segregation of duties (whilst noting they could also potentially tamper with
the logs there as well), as well as tying such access down to service desk requests (i.e. a substantive
response to the residual risk exposure).

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 17
POL00030068
POL00030068

1.3 Fundamental Limitations and Assumptions

Any procedures performed during our work against each scope area are subject to a number of assumptions and
inherent limitations.

Phase 1

1. Specifically it should be noted that controls tested/to be tested for Phase 1 relating to the system were
tested on the system (HNG-X) operating at the time of our review, and Finance controls testing covered
controls in place at the time of our review. It must be noted that at the time of some allegations the Legacy
Horizon system was still in use, and further there is currently a refresh of POL Finance Centre controls
underway. In performing our testing we have commented on the evidence that supports the view that the
control was operating in the relevant period where we were able to do so.

2. Further all analytical procedures for Phase 1 were subject to the availability of data / evidence, it is noted
that while a full transactional audit log is available for up to 8.5 years, logistical / time constraints limited the
volume of data that is able to be retrieved and interrogated. Also any controls testing is subject to the
availability of evidence.

3. Finally our work performed for Phase 0 and proposed/tested procedures for Phase 1 are specifically limited
to the three scope areas outlined in the scope section above. Our work is focused on identifying, and
performing procedures to validate, the facts in relation to the Horizon system with regard to the three scope
areas as above.

4. Please see Section 5 for a full list of assumptions and inherent limitations.

Phase 2

1. Specifically it should be noted that procedures performed for Phase 2 relating to the system were tested on
the system (HNG-X) operating at the time of our review. It must be noted that at the time of some
allegations the Legacy Horizon system was still in use, and further there is currently a refresh of POL
Finance Centre controls underway. In performing our testing we have commented on the evidence that
supports the view that the control was operating in the relevant period where we were able to do so.

2. Non-Counter Transactions work was dependent on technical documentation and our understanding was
based off these documents. Subsequent conversations with Fujitsu highlighted that in a number of cases
this documentation was out of date. Certain controls were originally scoped in for testing and then
descoped as a result of these discrepancies within the available technical documentation.

3. Further all analytical procedures for Phase 2 were subject to the availability of data / evidence, and reliance
was placed on Fujitsu around the successful extraction of data.

4. Finally our work performed for Phase 2 was specifically limited to the scope areas outlined in the scope
section above.

5. Please see Section 5 for a full list of assumptions and inherent limitations.

Phase 3

1. Specifically it should be noted that procedures performed for Phase 3 relating to the systemwere tested on
the system (HNG-X) operating at the time of our review. It must be noted that at the time of some
allegations the Legacy Horizon system was still in use, and further there is currently a refresh of POL
Finance Centre controls underway. In performing our testing we have commented on the evidence that
supports the view that the control was operating in the relevant period where we were able to do so.

2. Further any analytical procedures for Phase 3 were subject to the availability of data / evidence.

3. Our identification of non-counter transaction flows has been dependent on the availability of technical
documentation, and the accuracy of the facts and figures communicated within this technical
documentation.

4. Our testing of reporting available to sub-postmasters in Branches was based upon testing at the Model
Office facility within Finsbury Dials, and we are therefore reliant on this being representative of the live
environment.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 18
POL00030068
POL00030068

5. We have not been able to validate or test controls at third parties such as Wincor, Ingenico and Camelot,
which would be a key component in managing the risks associated with completeness andaccuracy of the
data flows associated with non-counter transactions.

6. Finally our work performed for Phase 3 is specifically limited to the scope areas outlined in the scope
section above.

Phase 4

1. Any analytical procedures for Phase 4 were subject to the availability of data / evidence.

2. Our work for this phase was based on a report produced by Fujitsu, and reliance placed on the accuracy of
the content within that report.

3. Further our work performed for Phase 4 is specifically limited to the scope areas outlined in the scope
section above.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 19
POL00030068
POL00030068

2 Background

The Horizon system was developed by Fujitsu and is the core operational and Electronic Point of Sales (EPOS)
platform for the Post Office network. Whilst formal benchmarking data is not available, t is considered by
interviewed stakeholders to be one of the largest computer systems in existence in terms of the number of
transactions it processes on a daily basis, and it sits at the core of a complex systems estate with multiple
interfaces with other Post Office systems as well as third party systems.

The system has been in use for over 15 years and is audited by multiple parties for statutory audit, service auditor
reporting, and accreditation purposes. Given its size and scale, and the considerable intellectud property that
Fujitsu has built within the system, in relation to this piece of work, there is a significant quantity of documentation
articulating how the various modules and features comprising the system operate. Much of this documentation has
formed the focus of our review during Phase 0 of the work.

In understanding Horizon it has been important to distinguish between features which are of relevance today, and
the time period to which that relevance applies. In particular we would highlight the migraion between the system
commonly referred to as Legacy Horizon, and the online variant operated today, referred to as Horizon HNG-X.
The key difference between these two iterations of the platform is the way data is stored. In the Legacy version
data was replicated between the data centre and the branches (this system was called Riposte), whilst over the
course of 2010 a migration event occurred whereby the Riposte system was replaced by the Branch Database
model, the Branch Database being a data centre only database storing the transactional and accounting data for
the branches, with a Counter application held locally within the branch which connects to the branch database as
necessary. This change may have influenced the relevance of some of the controls n existence at the present time
and care must be taken to consider this when prioritising procedures.

The Branch Database is also key to understanding the flows of data to the Audit Store given that it acts as a hub
for all branch transactional and accounting records. The diagram below provides clarity on the high level flow of
data from transaction origination through to the Audit Store:

Indicative Data Flow Overview

Counter Front end of the system, located behind the ‘counter’ in

Branches. Transactions are input here by the Postmaster.
‘s8k Configured the same way as the Counter, but for Kiosk
(Kiosk) outlets.

BAL Transactions are bundied into ‘Baskets’ and sent from the

Counter / Kiosk to the BAL once they are complete. All
baskets must balance to 0 (Debit = Credit). Data is then
transferred from the BAL — BRDB in real time.

BROB ‘The Branch Database is an Oracle database and sits at the
heart of the Horizon system. It receives transactions from
the BAL and also from other sources as illustrated
Transactions input into BRDB from sources other than the
Counter/SSK are fed back to the Counter/SSK and have to
be ‘Transaction Accepted’.

Audit ‘The Audit Server run a Daemon process which searches

Server for new data in the BRDB. When relevant transactions are
identified they are pulled into the Audit Server from the
BRDB. Data is held in the Audit Server for approximately 5
days.

‘Audit Store After approximately 5 days data is writen from the Audit
Server to the Audit Store where it is stored semi-
permanently (currently 8.5 years of data is stored).
Transactional data is stored in a message journal, whereby
the completeness of the audit data is confirmed by JSN

sequencing,
Audit Upon request from POL, Fujitsu audit staff can use the
Desktop Audit Desktop to query the audit store to extract specified

data. Upon extraction from Audit Store — Audit Desktop, the
integrity of the data is confirmed via the digital signature
and seal check.

cD ACD is produced with the requested Audit Data.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 20
POL00030068
POL00030068

This diagram shows most but not all of the data feeds associated with the Branch Database, but does show all of
the direct transactional feeds to the Branch Database. It demonstrates the convergence of the dataflows at the
Branch database and the chain of subsequent data movements.

In considering these diverse data feeds a key concept is those which use a public key infrastructure (Counter) for
completeness and accuracy of the message journals to the Branch Database, versus those which use a
combination of interface controls (header and footer records) for completeness, combined with manual
interventions from Branch staff around the completeness of the associated data(being the data feeds external to
the Horizon infrastructure e.g. Paystation).

2.1

Potential Risks

Our view of the potential risks which are inherent in the high-level procedures requested by POL are listed below,
broken down by each phase of work. In creating this list of potential risks we have considered the high-level
procedures themselves, our understanding of the allegations made by the sub-postmasters and our knowledge of
the Horizon system through workshops with POL and Fujitsu personnel.

Phases 0&1

The table below shows how each potential risk relates to POL’s scope areas:

R1

R2

R3

R4

1-To carry out an analysis of the
relevant transaction logs for
branches within the Scheme to
confirm, insofar as possible,
whether any bugs in the Horizon
system are revealed by the dataset
which caused discrepancies in the
accounting position for any of those
branches.

v

Requested Scope Areas*
2 - To carry out a full review of the
use of Balancing Transactions
throughout the lifetime of the
Horizon system, insofar as
possible, to independently confirm
from Horizon system records the
number and circumstance of their
use

3 - To carry out a full review of the
controls over the user and
capability of authorised Fujitsu
personnel to create, amend or
delete baskets within a sealed audit
store throughout the lifetime of the
Horizon system, insofar as

possible

* Note: Scope areas preceded by a numeric reference, were those originally requested for review by POL legal counsel. Those w ithout a

numerical prefix were additional scope areas, recognised after the performance of phases 0 and 1.

Key to potential risks

R1.

R2.

R3.

R4.

If Horizon does not process transactions correctly and these are not identified and resolved, these
could lead to sub-postmaster financial loss.

If inappropriate transactions can be created centrally by POL or Fujitsu which branch staff and sub-
postmasters are unaware of, this would undermine the sub-postmasters’ ability to trust the transactions in
Horizon are authentic and could cause sub-postmaster financial loss.

If data flow to the audit store is not complete, accurate or valid, the conclusions from the investigations
by case handlers or other parties dependent on these records cannot be relied on.

If once data is in the Audit Store or extracted to support case investigation it is subject to
amendment, modification or deletion, this would also reduce confidence in case handlers’ conclusions.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Phases 2-4
The table below shows how each potential risk relates to POL’s scope areas:
Requested Scope Areas*
To investigate Super User Audit Logs from Branch Are there any gaps in the controls around Non-Counter

Database, the controls over them, and Transactions that could calll into question the integrity of
corresponding data extract and interrogation options. the data generated in relation to these transactions?

RS v

R6 v

R7 v

R8& v
RQ
R10

R11

* Note: Scope areas preceded by a numeric reference, were those originally requested for review by POL legal counsel. Those w ithout a
numerical prefix were additional scope areas, recognised after the performance of phases O and 1

Key to potential risks

R5. If Horizon does not adequately control and log actions of Super Users to prevent inappropriate
transactions or the detection thereof, these could lead to sub-postmaster financial loss.

R6. If Horizon audit logs are not complete and accurate, this would undermine the reliance placed on the
logs and the trust placed by sub-postmasters in POL’s ability to detect inappropriate transactions which have
led to sub-postmaster financial loss.

R7. If the control environment over non-counter transactions is insufficient and/or immature, these could
Call into question the integrity of the data therein and could be causes of transactional discrepancies in
branch accounts that could lead to sub-postmaster financial loss.

R8. Sub-postmasters may not have sufficient vi: lity or reporting capability over the posting of non-

counter transactions to their branch ledgers.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 22
POL00030068
POL00030068

2.2 Controls

POL management are responsible for ensuring there is a system of internal control designed to mitigate these
potential risks and that these controls are operating effectively.

No system of internal controls can be expected to guarantee the associated potential risk has not been realised.
For example, in our experience it is not reasonable to expect any enterprise sofware to be free from bugs
throughout the duration of its use. However, the design of enterprise software should take into account the key
risks to the application’s ongoing security and operation. Where possible inherent system controls should be
developed to prevent these potential risks being realised. Monitoring controls may also be implemented to detect
issues so they can be resolved in a timely manner by the right people. A robust change management process
should be in place to ensure only authorised changes are made and changes are tested thoroughly prior to being
implemented.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 23
3 Scope and Approach

3.1. Scope of Work

Phase 1

POL00030068
POL00030068

We have structured our work around the three scope areas POL have asked us to review, as shown in the table

below:

Scope Area #
1

“POL Instruction

POL consider instructing a suitably qualified party to
carry out an analysis of the relevant transaction logs

for branches within the Scheme to confirm, insofar as
possible, whether any bugs in the Horizon system are

revealed by the dataset which caused discrepancies
in the accounting position for any of those branches.
POL instruct a suitably qualified party to carry out a
full review of the use of Balancing Transactions

throughout the lifetime of the Horizon system, insofar

as possible, to independently confirm from Horizon

system records the number and circumstance of their

use.

POL instruct a suitably qualified party to carry out a

full review of the controls over the user and capability

of authorised Fujitsu personnel to create, amend or

delete baskets within a sealed audit store throughout
the lifetime of the Horizon system, insofar as possible.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

Proposal

POL will instruct Deloitte to
determine whether such an
analysis/review is feasible, and if it
is, to provide an indication of the
cost, time and process that would
be incurred.

POL will instruct Deloitte to
determine whether such an
analysis/review is feasible, and if it
is, to provide an indication of the
cost, time and process that would
be incurred.

POL will instruct Deloitte to
undertake this review, throughout
the lifetime of the Horizon system,
insofar as is possible.
POL00030068

POL00030068
Phase 2
The three additional “Scope Areas” specified by POL were:
Scope Area # Description ‘ _ Proposal
1 Investigation of Super User Audit Logs from Branch Hold a series of workshops and
Database, the controls over them, and corresponding discussion meetings with Fujitsu
data extract and interrogation options. personnel in order to discuss the
relevant controls and audit trail
configurations.
2 Investigation of analytics test results 1: ‘Identify Gaps Pick a sample of 15 items from

in Audit Logs Sequencing’, and 6: ‘Identify branches each analytic population for further
which are out of balance based on transactional data _ investigation in conjunction with

available’. POL investigators and Fujitsu.
3 Investigation of controls over the integrity of non- : Hold a series of workshops and
counter initiated transactions e.g. Paystation. discussion meetings with Fujitsu

personnel in order to discuss the
relevant controls and audit trail
configuration.

The approach to ‘Phase 2’ was to hold workshops with relevant stakeholders from POL Finance to support the
delivery of the analysis described above.

Phase 3

This additional phase of work constituted ‘Phase 3', the ‘Non Counter Transactions Phase’, whereby Deloitte
performed procedures agreed with POL in relation to Non Counter Transactions to provide an assessment, as fully
as possible within the time allocated to this exercise, on the factors to consider, controls, and ris in answering the
following questions:

1. Are there any gaps in the controls around non-counter initiated transactions that could call into question the
integrity of the data generated in relation to these transactions?

2. If there are gaps:
a. Could they be the cause of discrepancies in branch accounts (or could they mean that errors in Horizon
would not be revealed and those errors could then be the cause of discrepancies in branch accounts); and
b. What is the risk of those gaps (or resulting discrepancies) materialising?

The procedures to be performed were as follows:

1. Provisional workshop to corroborate understanding of data flows and validate the existence and
completeness of controls over the current reconciliation process, and how Transaction Acknowledgenents
are utilised.

2. Review and test key reconciliation controls between key data sources within the data flow as highlighted
within separate table (Appendix 8).

3. Perform detail walkthrough of the Transaction Acceptance (TA) process to confirm the granulariy of
information the Postmaster is provided with. Perform procedures to corroborate a TA is required for all Non
Counter Transactions.

4. Analytics pilot to assess feasibility and then perform reconciliation between raw data files received by
PODG and the interpretation of these non-counter transactions into the BRDB transaction files.

The approach to ‘Phase 3’ was to hold workshops and meetings with relevant stakeholders from POL and Fujitsu
to support the delivery of the analysis described above.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 25
POL00030068
POL00030068

Phase 4

This additional phase of work constituted ‘Phase 4’, whereby Deloitte performed procedures agreed with POL in
relation to the Fujitsu Report ‘Database Security in Horizon Online’, specifically:

1. Deloitte review of Fujitsu Report in conjunction with initial comments raised.

2. Workshop with appropriate Fujitsu resource to:
a. Answer any outstanding comments / questions on the report.
b. Produce a detailed commentary on what steps would need to be taken to replace the message log, as

per section 2.2 of the Fujitsu report.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 26
POL00030068
POL00030068

3.2. Summary of Approach and Work Performed

The work was performed in multiple phases. Phase 0 was ‘Discovery’ and Phase 1 was ‘Testing’ of the original
scope. With additional phases of work commissioned for further investigation and the performance of specfic
procedures agreed between Deloitte and POL in response to certain findings or outcomes of Phase 1 against the
three scope areas performed during that phase (Phases 2-4).

3.2.1 Phase 0 - Discovery

This phase of work constituted ‘the ‘Discovery Phase’, whereby Deloitte performed initial enquiries and
investigations across the three scope areas to identify procedures which POL could undertake for each scope area.

In performing work for Phase 0, Deloitte conducted the following procedures:

1. Reviewed relevant technical documentation as requested and provided by Fujitsu/POL during the course of
this engagement.

2. Held workshops with POL Finance staff in Chesterfield on 14th and 23rd March, and 18th April 2016.

Held workshop with Fujitsu staff in Bracknell on 14th April 2016.

4. Held workshop with Case Handlers in Chesterfield on 8th April 2016

»

The aim of these procedures was:

1. To enhance Deloitte's previous understanding of the key concepts, processes, risks and controls
associated with the Horizon system, relevant to the three scope areas highlighted above (see 2.1).

2. To identify the fundamental limitations and assumptions which will need to be made and considered by
management when deciding which procedures they wish to conduct during Phase 1 (see 1.3).

3. As aresult of 1) and 2) above the identification of possible procedures which could be adopted by
management in order to provide assurance over the risks posed in relation to the three scope areas
highlighted above (see 1.3.4). We identified three core procedure types which were then utilised during
Phase 1:

a. Analytics - Procedures using data tools to analyse large volumes of data for particular
characteristics of interest or the absence thereof. For example verification for a given set of case
data that the JSN sequence is complete.

b. Controls review and testing — Verification through walkthrough, enquiry, and subsequent evidence
gathering that controls relating to the Horizon system operate as expected or otherwise, to support
in mitigation of the associated risks. For example testing the population of Fujitsu users who can
administer the Oracle DB estate underpinning Horizon directly is appropriate.

c. Substantive procedures — Direct inspection of selected samples or information for confirmation of
its qualities or characteristics of note (Analytics is an example of ‘full population’ substantive
procedures). In this instance the main substantive procedures expected will be inspection of
source code to verify that the system functions as expected.

3.2.2 Phase 1 - Testing
Deloitte conducted the following procedures:
1. Performed on-site review and visit to Fujitsu and tested controls between May 2016 and September 2016.
2. Reviewed case data provided by POL case handlers and tested for characteristics which could illustrate
the Horizon system has not operated as expected.

3. Reviewed relevant technical documentation as requested and provided by Fujitsu/POL during the course of
this engagement.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 7
POL00030068
POL00030068

3.2.3 Phase 2- Further Investigations Phase

The objective of the further investigations phase was to obtain sufficient information and background on the specific
areas in response to findings in certain scope areas looked at in Phase 1, and report on the associated findings
from these procedures.

In performing work for Phase 2, Deloitte conducted the following procedures:

1. Held workshops with Fujitsu personnel to investigate the controls over Super User Audit Logs from Branch
Database

2. Tested a sample of items from each analytic population, 1: ‘Identify Gaps in Audit Logs Sequencing’, and 6:
‘Identify branches which are out of balance based on transactional data available’

3. Held workshops with Fujitsu personnel to investigate controls over the integrity of non-counter initiated
transactions, e.g. Paystation

The aim of these procedures was to answer the following questions, provided by POL:

1. What exact information is logged by the Super User Audit Logs?
2. Would this logged information definitively reveal that:
a. A super user had done something that could change a branch's accounts in the reatworld; and
b. What that super user had done (e.g. does it show the change in such a way that it could be identified
and either isolated or reversed out)?

3. If the Super User Audit Logs would not reveal all actions by Super Users that could affect branch accounts,
please describe (in detail) the types of ways that a Super User could amend a branch's accounts in a way
that would not leave behind a footprint of their activity?

4. Whatis the root cause of the gaps identified in analytics 1 and 6?

a. Are these root causes indicative of problems in Horizon / evidence of flaws in Horizon’s controls
around the core audit process?
b. Would these issues cause discrepancies in the branch accounts?

5. Are there any gaps in the controls around non-counter initiated transactions that could call into question the
integrity of the data generated in relation to these transactions?

6. If there are gaps:

a. Could they be the cause of discrepancies in branch accounts (or could they mean that errors in
Horizon would not be revealed and those errors could then be the cause of dscrepancies in branch
accounts); and

b. Whatis the risk of those gaps (or resulting discrepancies) materialising?

3.2.4 Phase 3— Non Counter, Transactions

This additional phase of work will constitute ‘Phase 3’, the ‘Non-Counter Transactions Phase’ whereby Deloitte will
perform procedures agreed with POL in relation to Non-Counter Transactions to provide an assessment as fully as
possible in the time allotted by the exercise, on the factors to consider, controls and risks, in answering the
following questions:

1. Are there any gaps in the controls around Non-Counter transactions that could call into question the

Integrity of the data generated in relation to these transactions?

2. If there are gaps:

a. Could they be the cause of discrepancies in branch accounts (or could they mean that errors in
Horizon would not be revealed and those errors could then be the cause of discrepancies in branch
accounts); and

b. Whatis the risk of those gaps (or resulting discrepancies) materialising?

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 28
POL00030068
POL00030068

The procedures performed were as follows:

1. Held initial workshop to corroborate understanding of data flows and validate the existence and
completeness of controls over the current reconciliation process and how Transaction Acknowledgements
are utilised.

2. Reviewed and tested key reconciliation controls between key data sources within the data flow as
highlighted within separate table

3. Performed detailed walkthrough of the Transaction Acceptance (TA) process to confirm the granularity of
the information the Postmaster is provided with. Performed procedures to corroborate a TA is required for
all Non Counter transactions.

4. Performed analytics pilot to assess feasibility and then performed reconciliation between raw data files
received by PODG and the interpretation of these non-counter transactions into the BRDB transaction files.

3.2.5 Phase 4- Privileged Access

This additional phase of work constituted ‘Phase 4’, whereby Deloitte performed procedures agreed with POL in
relation to the Fujitsu Report ‘Database Security in Horizon Online, including a review of the report and a
subsequent workshop to clarify understanding on certain areas.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 29
POL00030068
POL00030068

4 Work Performed

4.1. Summary of Work Performed
For each scope area for Phase 1 we have laid out our work performed as follows:

1. Setting the Scene — We have described in a narrative format the work we have performed, and our
understanding of the relevant subject matter.

2. A tabular format of the procedures performed in Phase 0, and the key learnings relevant to our planning.

3. The procedures which have been performed in Phase 1 as per POL instruction, and the findings obtained
from the performance of those procedures.

For each scope area for Phases 2 to 4 we have laid out our work performed as follows:
1. Setting the Scene —- We have described in a narrative format the work we have performed, and our
understanding of the relevant subject matter.

2. The procedures which have been performed in this phase as per POL instruction, and the findings obtained
from the performance of those procedures.

4.2 Phase 1 - Scope Area 1

Scope Area 1: To carry out an analysis of the relevant transaction logs for branches within the Scheme to confirm, insofar
as possible, whether any bugs in the Horizon system are revealed by the dataset which caused discrepancies in the
accounting position for any of those branches.

4.2.1. Work Performed, and Analysis Results

Our procedures centred on the workshops and documentation reviews highlightedin Section 3.1 and 3.2. In
addition, specific to this scope area we reviewed the case data which had been provided to us, and assessed the
feasibility of performing analytics over the available case data in order to ascertain whether evidence of the system
not operating in accordance with expectations could be identified.

Our work has highlighted a number of fundamentalsystem controls designed to ensure the integrity of processing,
and correct functionality. Key principles/items identified include:

1. Ata holistic level, 1T change control processes and procedures operate over the Horizon system, and the
related controls around testing, approval, and the overall software development lifecycle should provide
assurance over the correct operation of the system. The operational effectiveness of this control framework
has, since 2012 been assessed on a regular basis, via Service Auditor Reports (ISAE3402 produced by
EY). Further sources of assurance is provided by regular IS027001 certification and ongoing audit and
attestation regime, and ongoing IT focused Internal Audit and External Audit activity. ‘Bugs’ in the system
would be more likely in an environment with inadequate change control procedures, and the level of
comfort that can be gained over such controls provides a view on the inherent risk of such errors.

2. There are some fundamental inherent system controls, specifically designed support correct processing
within the system. These include:

a. Journal Sequence Numbers (JSNs) are applied to each Counter transaction within the Horizon
system. These JSNs are generated using Public Key Encryption and are used by each piece of
Counter Hardware to ‘digitally sign’ a transaction. The digital signature is passed to all latter stages

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 30
POL00030068
POL00030068

of the infrastructure including the Audit Store (and beyond). This signing process provides two
critical control points over the data captured:

i. The completeness (‘density’) of the flow of transactions for a particular Branch, meaning that
completeness of the audit trail behind transactions can be ascertained.

ii. The validity and accuracy of the transactions as any changes to a transaction after the
application of the digital signature would invalidate the signature. The Audit Store extraction
routines check for this at the point of extraction.

b. Transaction Acknowledgements — Whilst JSNs are a powerful inherent system control over the
correct origination and completeness of the Message Journals from the Counter, other feeds to the
Branch Database are not subject to this control. However as an alternative control mechanism the
interface files, which issue data to the Branch Database contain Header and Footer records which
allows Horizon to automatically check the completeness of data. In addition, Branch staff accept
these interface files into their Branch accounts via Transaction Acknowledgements, meaning these
staff are directly responsible for verification that the data being received into the Branch Database
via sources outside the Counter are valid and accurate.

c. Recovery Procedures — In acknowledging that the Horizon system is dependent upon connectivity
between a data centre, a branch, and various third parties, seven recovery processes have been
designed to combat instances when a loss of connection causes an error in the completion of
transaction processes. The recovery process used depend on the nature of the connectivity issue.
Recovery scripts designed by POL are an integral part of this process.

d. The commit of transactions to the Branch Database is all performed as one Oracle DB write action,
ie. itis atomic in nature.

e. All transactions from the Counter are checked by Horizon to ensure they balance to zero (double
entry principle). If the Counter attempts to write a transaction which does not balance to zero, this
should be rejected via the Counter.

f. External file feeds (i.e. for data feeds not from the Counter or Kiosks) are received by the Branch
Database and into the database by Horizon before being sent to the Audit Store. Alongside this
data flow, the raw interface files are also processed directly to the Audit Store.

3. Alongside the inherent system controls available for our review, there are two tranches of data analytics
work that we can perform to highlight the inherent risk of system failure or ‘bugs’:

b. Using the case data we have been provided with we can perform specific profiling tests which
support the operation of these inherent controls orrule out the occurrence of particular risky events
from within the relevant data set.

c. The BRSS (Branch Support Database) is a copy of the main Branch Database used by Fujitsu staff
for support purposes. This database contains the most recent six months worth of transactional
data (the Branch database itself contains only 5 days worth). Using tools already available via
Fujitsu we can profile this data to look for characteristics of risk (such as recovery situations,
Balancing Transactions, transactions posted by staff not related to a Branch etc).

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 31
4.2.2

Summary Table of Phase 0 Procedures and Conclusions

POL00030068
POL00030068

POL Instruction
Carry out an analysis of the relevant
transaction logs for branches within the
Scheme to confirm, insofar as possible,
whether any bugs in the Horizon system
are revealed by the dataset which
caused discrepancies in the accounting
position for any of those branches.

______ Procedures Performed
Identified relevant business processes and
areas of interest.

Review of existing technical documentation and
identification of key inherent system controls.

Workshops with Case Handlers (POL) in order
to understand how to interpret the case data.

Workshops with Systems Architects (Fujitsu) in
order to understand how to interpret the case
data and technical documentation.

Awalkthrough on-screen as to how the system
works.

hate have discovered £
There are a set of inherent system controls within Horizon targeting the
completeness, accuracy and validity of the flow of data from Counter and
other in-branch data sources, onwards to Branch Database, and ultimately
the Audit Store.

Central to these controls is the digital signature applied to each message
journal of branch transactional data sent from Counter to Branch Database
and beyond.

Connectivity issues are managed via Recovery processes, and so issues
with loss of connectivity have been built into the design of the system from
the outset, in recognition this could be an area of potential data corruption
or loss.

A strategy for our analytic procedures is to profile the available case data
for characteristics of interest in relation to the correct operation of the
system.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

4.2.3 Phase 1 Procedures

Performed Procedures

POL00030068
POL00030068

Procedures

Findings

Controls

Validate inherent system controls around:

a) All transactions on Counter system balancing to zero.

b) Atomic write and commit controls of transactions to the Branch Database.

c) Digital Signature controls applied to Message Journal during initiation of transfer
to Branch Database.

Transaction Acceptance in relation to interface file receipt for non-Counter
originated interface files.

Recovery of transactions in the event of connectivity failure.

qd)
e)

Review of existing sources of assurance around Change Control and confirmation of
relevant coverage — plus targeted testing to attempt to identify changes relevant to
the key controls on Horizon.

Data

Review case data for transactions indicating items of risk from a system functionality
perspective (e.g. recovery transactions are present in the case data). See Appendix
2and6

Review of population of balancing transactions (to validate population of Balancing
Transactions relative to total transaction volumes)

Substantive

5. Review source code on screen at Fujitsu headquarters which supports the key
inherent control operation around:

a) All transactions on counter balancing to zero.

b) Atomic write and commit controls of transactions to the Branch Database.

c) Digital Signature controls applied to Message Journal during initiation of transfer
to Branch Database.

Transaction Acceptance in relation to interface file receipt for non-Counter
originated interface files.

Recovery of transactions in the event of connectivity failure.

d)

e)

Controls
da. No issues noted
1b. No issues noted

1c. Issue noted. ‘A number of IT users have access to mechanisms for
managing the digital signatures and have database administration
responsibilities and access. This raises the theoretical risk of a user
‘spoofing’ the digital signature. It is understood that for this risk to be
realised, due to time limitations and volume of work required in order to
successfully ‘spoof’ the signature, a program would have to be written.’

1d. No issues noted

‘te. issue noted. ‘For one of the transaction recovery scenarios tested as part of
recovery scenario 6, whereby a user session is automatically logged out after a
period activity, it was confirmed that Post Office business rules are in place for
Horizon to automatically commit unprocessed transactions to the branch
database tables. As part of the walkthrough testing performed, it was observed
that Horizon is configured to automatically lock a user account after 15 minutes
of inactivity, at which point the user is required to re-enter their user credentials.
After a further period of 59 minutes of inactivity, Horizon is configured to
jautomatically log the user out, ending a user session and committing any
unprocessed transactions within a basket to the branch database. When next
jauthenticating into Horizon, after being automatically logged out, the user is
immediately presented with a till receipt confirming that the transactions had
been committed to the branch database. From review of the printed receipt, an
enhancement point was noted in that there is scope for the till receipt to include
further detail to the user, highlighting that an unattended transaction had

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Procedures Findings
jautomatically been committed by Horizon to provide greater visibility to Post
lasters that a recovery session had been initiated.’

2. Issue noted. See Appendix 5 for details of which controls have been subject
fo change.

lt was noted one user has access to both development and live environments o'
HNG-X.

{
Fujitsu stated that; I

“Whilst we appreciate that there is lack of segregation of duties here for Gerald I
between Live and Development, it is felt that there is a strong business need for
this access for Gerald. He provides 4th line/final line support for the audit
service and is in regular weekly contact with the Security audit team to assist
them in resolving queries with the audit service. He is the lead
designer/developer and system owner.

Additionally there are compensating controls in place such as CCTV, and the I
jauditing we have in place (and the technical controls around not being able to I
change audit items for 7 years) acts as a safeguard against anyone with access
trying to change anything in an unauthorised way.”

Data

3. Review of the case data available (relevant to allegations) for transactions
indicating items of risk from a system functionality perspective. The
analytical procedures outlined in Appendix 6 were undertaken, and a
number of items of interest were noted, see Appendix 6a for details and
summary of findings. One finding of note is that 'there were 48 (0.0015%)
session ids from a total of 3,124,140 which were out of balance based on
the transactional data received. Those 48 session ids out of balance related)
to 18 distinct branches from 118 in total. The session ids out of balance — I
were all pre system migration to HNG-X in 2010. I

I
I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 34
POL00030068
POL00030068

Procedures Findings I
POL investigators have been handed this information for further investigation. In}
short, whilst various characteristics were noted that could be indicative of
risk within the system, further manual investigation will be required by

POL’s investigators to conclude. This has been discussed with POL
management during the course of our work.

4. No issues noted. 1 Balancing Transaction identified (in the period where
data was available for review 12/03/2010 — 28/05/2016) which did not relate:
to a branch involved in the allegations and was appropriately approved and
governed.

Substantive

Sa. No issues noted

Sb. No issues noted

Sc. No issues noted

5d. No issues noted

Se Post Office have the ability to create their own APADC transactions. So they
(can create a product, and a transaction and then also specify the recovery
script which would be initiated when any of the recovery scenarios kick in.

[This could, theoretically cause an issue where a new product is created, and
lhe recovery script is then coded to do nothing. So if the cashier sold that
product for the customer, and then in the event of the connection going down
jand the recovery process kicking in - no rollbacks or roll-forwards would happen}

in this case.

(Our testing has shown no evidence which would suggest this has happened,
although we have not specifically performed procedures to verify this.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 35
POL00030068
POL00030068

4.3 Phase 1 - Scope Area 2

Scope Area 2: Carry out a full review of the use of Balancing Transactions throughout the lifetime of the Horizon system,
insofar as possible, to independently confirm from Horizon system records the number and circumstance of their use.

4.3.1 Work Performed, and Analysis Results

Our procedures centred on the workshops and documentation reviews highlightedin Section 3.1 and 3.2 above.

Balancing Transactions are exceptional processes used by Fujitsu support staff to correct exceptional errors in
system processing/fix issues or bugs in the recording of data. The inherent controls around the integrity of data
recording are designed to ensure that such issues manifest themselves in the data on an exceptionally rare basis,
and therefore volumes of Balancing Transactions should be inherently low (substantive procedures performed
support management representation there has been only 1 true Balancing Transaction since 2010).

Balancing Transactions should not be confused with Transaction Corrections which is a more mutine process,
used to centrally correct issues by POL Finance staff, which are then subject to Transaction Acknowledgement by
sub-postmasters prior to being accepted into a Branches accounts.

Fujitsu have advised that whilst there have been several hundred instances of Balancing Transactions used
throughout the known lifecycle of the HNG-X system, only one has been a complex usage of the functionality, to
correct a bug around double writing of a transaction, immediately subsequent to the migration to Horzon HNG-X.
The remainder relate to switching a flag on Stock Units (SU are a Counter concept to allocate transactions to a
particular ‘sub-branch’ area to enable users to process transactions on that stock unit (following communications
failure Stock Units occasionally become locked to editing).

Our work has highlighted a number of fundamental controls which are designed within the system to control the
use of Balancing Transactions and to ensure that the use of Balancing Transactions is recorded. Key
principles/items identified include:

1. Balancing Transactions are the only transactions that do not either originate at Branch, or have to be
acknowledged / accepted by branch. As such the use of Balancing Transactions is very rare.

2. Anywrites by Fujitsu Support to BRDB must be audited (record created and stored in audit store). The
mechanism for inserting a correction record must ensure that the auditing of that action is atomic with the
insert of the record.

3. Fujitsu Support with access to post Balancing Transactions cannot amend the related audit files.

4. Fujitsu Support will have privileges of only inserting balancing / correcting transactions to relevant tables in
the database. They will not have any privileges to update or delete records in the database.

5. There are various inherent system controls around Balancing Transactions, notably that each Balancing
Transaction must only contain 1 transaction (single SQL statement) and the balancing transaction module
can only be run by limited appropriate personnel.

In assessing the risk posed by Balancing Transactions we have also enquired as to additional ‘privileged account’
transactions which could also be used to post transactions centrally without the knowledge of Branch staff. These
enquiries have highlighted two additional areas of consideration against this risk:

1. Global Users of the Horizon System — These are users that can log on at any HNG-X Branch, and are used
for a number of purposes including global user administration.

2. Other ‘Superusers’ — At various layers of the Horizon infrastructure there exist accounts with privileged
access rights which could be used to modify or insert data relevant to transactions at branches should they
not be adequately controlled. For example a superuser account on the Oracle DB forming the nucleus of
the Branch Database could insert transactions directly onto the backend (effectively Balancing
Transactions are a specialised ‘legitimised’ way of using such Oracle access).

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 36
POL00030068
POL00030068

A number of key controls were noted to operate on Horizon to mitigate these broader ‘superuser’ risks:

1. Global Users are subject to two fundamental controls reducing their risks. The first is that they cannot post
transactions in a branch unless they are physically present at that branch. The second is that the Global
Admins can only create users and there is therefore a Segregation of Duties between users who can
create users, and users who can post transactions.

2. Superuser activity is monitored via log files which are transferred to the Audit Store following aggregaton
by the Event Management System which collects log files from across the Horizon estate. Regardless of
this control, for transactions related to the Counter and Kiosks any attempt to insert transactions into the
database by an individual with the privileged access rights to do so, would be identifiable due to the Digital
Signature process applied to Message Journals from the Counter. To circumvent this a ‘superuser’ would
require the relevant access rights to the key management infrastructure which contrds the Digital
Signature processes, and therefore the segregation of duties between such infrastructure and the
remaining Branch infrastructure is a key control.

Alongside the inherent system controls around balancing transactions, and the completenessand accuracy of the
audit log of Balancing Transactions available for our review, there are various data analytics procedures which can
be performed:

1. As discussed above Fujitsu highlighted that while the Balancing Transaction module has been used
approximately 200 times in the past 7.5 years, only 1 of these uses has been a ‘complex’ Balancing
Transaction. Analytical procedures could be performed to validate the number and nature of Balancing
Transactions which have been performed in:

a. The Case Data available
b. The BRSS most recent 6 months data available
c. The full period of data available — (7.5 years)

Sample (or full population) testing could then be performed to validate that for all Balancing Transaction records
(except the 1 known Balancing Transaction, for which the branch was aware of) no transactional postings were
made using Balancing Transactions.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 7
POL00030068
POL00030068

4.3.2 I Summary Table of Phase 0 Procedures and Conclusions

Des Pobinstruction I ____ Procedures Performed I Whatwe have discovered
POL instruct a suitably qualified party to

Identified relevant business processes and areas of There are a sequence of inherent system controls within

carry out a full review of the use of Balancing I interest. Horizon which ensure Balancing Transactions have certain

Transactions throughout the lifetime of the standard characteristics, use of them is controlled, and usage

Horizon system, insofar as possible, to Review of existing technical documentation and is recorded in the Audit Store.

independently confirm from Horizon system identification of key inherent system controls, and

records the number and circumstance of support in interpreting the transactional data. Other privileged access rights which would lead to similar risks

their use. of central posting of transactions with sub-postmaster
Workshops with Systems Architects (Fujitsu) in order I knowledge, such as Global Users, and ‘superuser’ accounts on
to understand how to interpret the technical the Horizon infrastructure, are also subject to key controls,

infrastructure for digital signatures and the infrastructure
supporting the processing of Branch transactions. These
controls have been tested at a point in time.

A walkthrough on-screen as to how the system works.

The strategy to be adopted across our analytical procedures
will be to Investigate a sample / full population of all Balancing
Transaction records found to validate the branch was aware of
their usage / no transactional postings were made in the

documentation and the availability of Audit Store data. I most notably the segregation of duties between the key I
balancing transaction. I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 38
POL00030068

POL00030068
4.3.3. Phase 1 Procedures
Performed Procedures
Procedures x BINS Findings SSS oY

Controls Controls
1. Validate inherent system controls around Balancing Transactions (See Appendix 3 1. No issues noted

for detail of controls A - 1). \© 9" No isGues noted
2. Validate any writes by Fujitsu support staff to BRDB must be audited. The I .

- i " 4 va I 3. No issues noted
mechanism for inserting a correction record must ensure that the auditing of that
action performed is atomic. 4. ‘Through discussion with Fujitsu management it was noted that the

3. Validate Fujitsu support staff cannot amend audit files for Balancing Transactions. control wording is not accurate. A small number of users are granted

I extended privileges which enable them to update / delete records.
4. Validate Fujitsu support staff only have privileges for only inserting balancing /

. . \ bles in the datab Confirm SSC d h I However in mitigation this access is appropriately restricted to
correcting transactions to relevant tables " the database. Confirm aget have I authorised users. Users do not have the ability to bypass this role
any privileges to update or delete records in the database.

restriction by running SUDO command. User actions are audit logged

5. Validate broader population of Balancing Transaction controls identified. (See I and not proactively reviewed, and all instances of users being granted
Appendix 3a for detail of controls A — N) I the APPSUPP role are also captured in audit logs.’
6. Validate there is a Segregation of Duties between BRDB Administration and Key I 5. Issues noted for control 2A and 2C.

Management Software Administration. I
2a finding noted — ‘Through discussion with Fujitsu management it was

noted that the control wording is not accurate. A small number of users are
granted extended privileges which enable them to update / delete records.
However in mitigation this access is appropriately restricted to authorised
users. Users do not have the ability to bypass this role restriction by running
SUDO command. User actions are audit logged and not proactively
8. Review case data for Balancing Transactions to validate population of Balancing reviewed, and all instances of users being granted the APPSUPP role are
Transactions relative to total transaction volumes (Balancing transactions should be also captured in audit logs.’
inherently rare, and only deployed in response to actual loss/bugs in code.)

7. Validate inherent system controls around Global Users, notably thatGlobal users
with a Role of ADMIN cannot log onto to any Branch other than Global (Including I
Remote access controls to branch infrastructure (e.g. Counter)).

Data

2c finding noted — ‘The technical document <DESAPPLLD0142> is

9. Review full population (already extracted by Fujitsu - 7.5 years) of balancing inaccurate. The user OPS$SUPPORTTOOLUSER does require update
transactions (sample vs full population depending on feasibility) to validate the access to the table BRDB_BRANCH_INFO, however the document does not,
branch was aware of their usage / no transactional postings were made in the reflect this.’ This is a documentation finding only.

balancing transaction. .
6. Issue noted: ‘A number of IT users have access to mechanisms for

Substantive managing the digital signatures and have database administration
responsibilities and access. This raises the theoretical risk of a user

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 39
POL00030068

POL00030068
Procedures Findings I
10. Review source code on screen at Fujitsu headquarters which supports the key ‘spoofing’ the digital signature. It is understood that for this risk to be
inherent control operation around Balancing Transactions. realised, due to time limitations and volume of work required in order to
11. Review of Transaction Correction source code on screen at Fujitsu headquarters to successfully ‘spoof the signature, a program would have to be written.’
validate that Transaction Corrections must be accepted by Branches, in order to
validate Balancing Transactions are the only transactions Branches would not have 7. No issues noted
to accept. Data

12. Review the 9 Balancing Transaction Templates to validate balancing transactions

would, if the template was followed, logically perform as expected. I 8. Review of the case data available (relevant to allegations) for
transactions indicating items of risk from a system functionality
perspective. The analytical procedures outlined in Appendix 6 were
undertaken, and a number of items of interest were noted, see Appendix,
6a for details and summary of findings. One finding of note is that 'there
were 48 (0.0015%) session ids from a total of 3,124,140 which were out
of balance based on the transactional data received. Those 48 session
ids out of balance related to 18 distinct branches from 118 in total. The
session ids out of balance were all pre system migration to HNG-X in
2010.
POL investigators have been handed this information for further
investigation. In short, whilst various characteristics were noted that
could be indicative of risk within the system, further manual investigation)
will be required by POL’s investigators to conclude. This has been
discussed with POL management during the course of our work.

13. Walkthrough a Transaction Correction being raised by SCC, and the notification /
acceptance of it by a branch.

9. No issues noted. 1 Balancing Transaction identified (in the period where
data was available for review 12/03/2010 — 28/05/2016) which did not
relate to a branch involved in the allegations and was appropriately
approved and governed.

Substantive
10. No issues noted

11. No issues noted

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 40
POL00030068
POL00030068

12. No issues noted

13. No issues noted

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 4a
POL00030068

POLOOt

4.4 Phase 1- Scope Area 3

1030068

Scope Area 3: Carry out a full review of the controls over the user and capability of authorised Fujitsu personnel to create,
amend or delete baskets within a sealed audit store throughout the lifetime of the Horizon system, insofar as possible.

4.4.1 Work Performed, and Analysis Results

Our procedures centred on the workshops and documentation reviews highlightedin Section 3.1 and 3.2 above.

For this specific scope area our procedures centred on understanding the specific controls and processes around
protecting the integrity of data from inception to Branch Database, and subsequently to the Audit Store. Our work

highlighted a number of core concepts relevant to understanding the related risks and controls during this data

flow:

In essence the data journey can be divided into a number of distinct phases:

1.

Transaction initiation within either the Counter, Kiosk, or ‘third party interface source’, and subsequent
interface to the Branch Database

2. Archival from the Branch Database to the Audit Server.

3. Sealing of Audit Tracks via MD5 Message Digest and Archive to the Audit Store itself (Now based on
Eternis technology).

4. Subsequent Retrieval of Tracks, validation via the ARQ (Audit Track Retrieval) process, and Investigator
validation on the received data.

5. Non-Branch Transaction Data Records of Relevance

A. Transaction Initiation within either the Counter, Kiosk or ‘third party interface source’

1.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 42

For Counter and SSK (Kiosk) initiated transaction data, the JSN remains a core element of control for the
Audit Store process as it validates the origination and completeness of data for a particular Counter and is
independent of the MD5 message digest elements.

Given the wealth of ‘data at rest’ (stored in a directory/database awaiting onward processing) and ‘data in
transit’, security controls over access to ‘data at rest’ and interface controls over monitoring completeness
and accuracy of ‘data in transit’ are both pertinent. However the JSN concept provides assurance
regardless given interruptions in the sequence, or mis-match between signature value and message
content, would highlight downstream risks of data corruption.

The other interfaces pertinent to our understanding have been represented by Fujitsu systems architects to
be:

a. Logistic Feeder Service

b. Post and Go (discontinued in 2015, but relevant prior to that date)
c. Near Real Time (NRT) feeds

d. Paystation

e. Camelot

For non-Counter and Kiosk interfaces to the Branch Database completeness is provided by the interface
file header and footer record, with accuracy and validity provided by manual inspection by Branch staff
themselves via the Transaction Acknowledgements process.

For many of these interfaces the Post Office Data Gateway (PODG) provides the point of entry to POL
infrastructure.
POL00030068
POL00030068

B. Archival from the Branch Database to the Audit Server

1. Archival from the Branch Database of data take place to the Audit Server (which is the gateway to the Audit
Store infrastructure) in accordance to an automated routine which is central to the operation of the Horizon
system. If archival did not take place then very quickly the system would run out of available capacity. Two
intermediate directories are used to hold records prior to transfer to the Audit Server.

2. As referenced above both ‘data at rest’ and ‘data in transit’ controls are therefore relevant to this stage of
the process.

C. Sealing of Audit Tracks via MD5 Message Digest and Archive to the Audit Store itself

1. The Audit Track Gatherer (ATG) is a routine which is permanently scanning for new Audit files on the
upstream infrastructure (including the Branch Database) which are then copied to the Audit Server, sealed
by the Audit Track Sealer (ATS), using the MD5 message digest algorithm, copied to the Audit Store
Eternis architecture itself, and then purged from the Audit Server when copied across.

2. The Audit Server maintains a database of sealed files and their seal values, for later interrogation when
locating files, and validating their integrity has not been violated.

3. Therefore once again both ‘data at rest’ and ‘data in transit’ controls are relevant to this stage of the
process.

4. Once on the Eternis hardware which has now replaced the EMC Centera hardware solution, the data is
subject to a number of controls around access, deletion and amendment, all of which are designed to
maintain the integrity of the audit trail during storage. Both EMC Centera (historical solution) and Eternis
(current solution) are specialised hardware solutions for the storage of audit trail data intended to be used
forensically.

5. Previously there was a seven year limit to the retention of data in the Audit Store, after which it was purged
by the system in line with Retention requirements. Given recent history this policy has recently been
changed to indefinite retention of all Audit Store data. As a result all transactions should be available for as
long as the Audit Store continues to exist from 04/10/2007, and therefore a complete audit trail of all
transactions ever posted on Horizon HNG-X should exist (given the migration date).

D. Subsequent Retrieval of Tracks, validation via the ARQ (Audit Track Retrieval) process, and Investigator
validation on the received data itself

1. Extraction of the data from the Audit Store is via a defined process known as the ARQ process. A
specialised Audit Desktop estate is utilised to interrogate the Audit Server database, retrieve relevant
sealed files, process the data, and burn to CD (or email as a data file), whereby it is made available to POL
investigative staff.

2. There are a number of logical access controls operating over this process, including role based access
mechanisms, a strict ‘segregation of duties’ from POL staff and audit logs over the process.

3. Upon receipt of the data files POL investigators carry out a number of additional checks themselves in
order to validate the data integrity.

E. Non-Branch Transaction Data Records of Relevance

1. Alongside the Branch Database data flowing into the Audit Store there are a number of other relevant data
sources:

2. Interface files received from third party systems which are then processed into the Branch database, are
also sent directly to the Audit Store as raw files, allowing potential future reconciliation between the two
data sources.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 43
POL00030068
POL00030068

3. The Event Management System captures System Audit Logs from across the Horizon estate, and
processes these to the Audit Store.

Given the above understanding of the process gained from our work to date, our approach to assurance against
this scope area is largely based upon controls assurance, in combination with some limited analytics procedures to
support completeness, security and integrity of the data throughout the relevant data flows.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 44
POL00030068

POL00030068

4.4.2 Summary Table of Phase 0 Procedures and Conclusions

Sie Pi OL instruction =I = Procedures Performed I Whatwe have discovered

Carry out a full review of the controls over the I Identified relevant business processes and areas of The Branch Database is a key point in the data journey at

user and capability of authorised Fujitsu interest. which all Branch relevant data whether generated by the

personnel to create, amend or delete baskets Counter or by a third party data source external to Horizon will

within a sealed audit store throughout the Review of existing technical documentation and interface to.

lifetime of the Horizon system, insofar as identification of key inherent system controls, and

possible. support in interpreting the transactional data. There are a number of intermediate points at which data is at

rest during the flow of data to the Audit Store, and
Workshops with Systems Architects (Fujitsu) in order I understanding the Security controls over such data will support
to understand technical documentation. the integrity of data flowing into the Audit Store.

Awalkthrough on-screen as to how the system works. I Regardless of the opportunity or otherwise for interception and
tampering of data pre its arrival in the Audit Store, for key data
originating from the Counter and the Kiosks, the digital
signatures should highlight any tampering with data prior to its
usage within the Cases.

Walkthrough of Audit Store specific controls in order to
determine relevance and accuracy for inclusion within
the scope of our work.

The Case data provided can be reviewed with a view to re-
performing the key integrity checks performed by investigators,
over the completeness and accuracy of the data.

The Audit Store controls should have remained relatively
constant over the period of allegations when considering those
relating to infrastructure downstream of the Branch Database.
This is due to the HNG-X project which has influenced a
number of other key control areas, leaving the Audit Store
architecture relatively untouched.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 45
POL00030068
POL00030068

4.4.3 Phase 1 Procedures

Performed Procedures

Procedures ce LES Findings
Controls (Controls I
1. Validate Audit Store controls identified (See Appendix 4 for detail of controls 1A- 1. No issues noted I
10). I
2. Issue noted: ‘A number of IT users have access to mechanisms for I
2. Digital Signature controls applied to Message Journal during initiation of transfer to managing the digital signatures and have database administration I
Branch Database. responsibilities and access. This raises the theoretical risk of a user I
‘spoofing’ the digital signature. It is understood that for this risk to be I
3. Additional Audit Store Controls identified (See Appendix 4a for detail of controls 3A realised, due to time limitations and volume of work required in orderto
— 3F). successfully ‘spoof’ the signature, a program would have to be written.’ I
4. Identification of Audit Store Data Flows at a Detailed Level, including security 3. No Issues Noted except for control 3A. I
controls over data at rest, and completeness, accuracy and validity controls over 3A finding - ‘Review of the audit settings for the Audit Server noted thatthe I
data in transit. audit policy change which relates to change of user rights was set to log I
success events only, with failure not enabled.’ I
4. No issues noted I
Data I
Data I
NA N/A I
I
Substantive Substantive I
5. No issues noted I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 46
POL00030068
POL00030068

Procedures : : ann Findings
5. Review source code on screen at Fujitsu headquarters which supports the key 6. See Appendix 5 for details of which controls have been subject to change.
inherent control operation around digitally signing transactions posted from the
Counter to the Branch Database.

6. Identification of changes relevant to the Audit Store from review of historical
documentation, and validation that the Audit Store has remained broadly consistent
over time from a controls perspective for the period relevant to the allegations.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 47
POL00030068
POL00030068

4.5 Phase 2

4.5.1 Work Performed, and Analysis Results

Our procedures centred on the workshops and documentation reviews highlightedin Section 3.1 above.

In particular the following procedures were central in each case to our understanding:
Scope Area 1 — Audit Logs for Privileged Users

1. Awork shop was conducted with Fujitsu in order to discuss privileged users, audit logs, and the controls
thereon.

Scope Area 2- Analytic 1 and 6 Follow Up
1. Workshops were conducted with Fujitsu in order to determine the reevant root cause in each case.
2. Where necessary additional data was requested.

3. Analytics were re-run with revised logic and the issues found in the original analytic were found to have
been rectified by the changes made in each case.

Scope Area 3-— Non-Counter Initiated Transactions

1. Technical documentation was reviewed in order to determine the nature of non-counter transaction process
flows, the related risks, and the responding controls for the three non-counter transaction sources
(Camelot, Paystation, Post and Go).

2. Aworkshop was held with Fujitsu in order to validate this understanding.

3. Amemo was produced highlighting the proposed recommended procedures, which was then translated
into Phase 3b scope and approach.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 48
4.5.2 Phase 2 Procedures

Performed Procedures

POL00030068
POL00030068

Procedures

Findings

Scope Area 1

1. Perform workshop with Fujitsu in order to ask further questions around privileged
accounts, and determine scope for future meetings.

Scope Area 2
Analytic 1

2. Workshops were performed with Fujitsu in order to determine the root cause in the
gaps in sequencing highlighted by the original analytic.

3. The analytic was re-run with revised logic to determine if the correct root cause for
the gaps had been determined for these 25 data items.

Analytic 6

4. The original data for the 40 session IDs which were noted to be out of balance were
investigated. To do this a sample of 15 out of balance session IDs were selected for
further investigation with Fujitsu support.

5. Root causes for the original data appearing to show a branch as being out of
balance were determined.

6. Aworkshop was performed with Fujitsu and the data provided to support for all 15
items the established root cause was responsible.

He

2.

4.

‘Scope Area 1

The workshop was held and an approach adopted whereby Fujitsu
produced a report on the usage of Privileged accounts for future review
(See Phase 4).

‘Scope Area 2

Analytic 1

There was an error in the original analytic logic which was supposed to
remove duplicated transactions from the dataset but was in actuality
removing both the duplicates and the original transactions from the data.
When the analytic was corrected for this it was noted that there were no
gaps in JSN sequencing were identified based on the data provided.

Analytic 6

The root cause for the 40 transactions appearing not to balance was
determined as:
a. Some of the audit log sequences were missing a start time and
hence were not extracted properly.
b. Some of the audit log sequences were missing aSC (Serve
Customer) record and hence were not extracted properly.
These issues were shown to have been overcome by looking at the raw
audit log sequence data (as it was the extraction logic performed by Fujitsu
which was causing records to be dropped).
It was confirmed through the walkthrough with Fujitsu and through checking
the 15 sampled files independently that there were no session ids out of
balance based on the new transaction data provided and it was concluded
that the out of balance session ids identified on the initial run through were

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Procedures Findings
out of balance due to the 2 bugs identified above in extracting the data from)
the raw audit log sequence.

Scope Area 3 Scope Area 3

7. The technical documents were reviewed, analysed and used to highlight th
controls and risks as documented in Appendix 8.

An approach memo was produced and utilised in formulating the scope for
Phase 3.

The review performed highlighted that the key area of risk was in ensuring
Sub-Postmasters had adequate visibility of the data being received from
systems external to Horizon and were in a position where they could
reconcile the transactions acknowledgements they received back to the
data captured on Camelot, Paystation and Post and Go devices at source.

7. A variety of Fujitsu technical documents pertaining to the Horizon system were
reviewed in order to understand the dataflows for Non-Counter transactions, and 8
identify the relevant risks and areas of control.

8. An approach memo was produced highlighting the relevant approach details and 9.
used as the basis for Phase 3.

a

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 50
POL00030068
POL00030068

46 Phase 3

Scope Area I: Are there any haps in the controls around non-counter initiated transactions that could call
into question the integrity of the data generated in relation to these transactions?

4.6.1 Work Performed, and Analysis Results

In commissioning this work POL have asked for a Deloitte viewpoint on the below questions which we have
provided:

1. Are there any gaps in the controls around Non-Counter transactions that could call into question the
Integrity of the data generated in relation to these transactions?

The first key area of weakness from a controls perspective in relation to the completeness and accuracy of
the flow of data, is around the sending, processing by, and subsequent receipt of data from third parties.
The primary control in relation to this is the requirement for sub-postmasters to ‘Transaction Acknowledge’
such data before it is accepted into their accounts, but the formalisation of the processes and controls
ensuring SPMs do this has not been enforced. Reviews of the supporting documentation primarily from the
Horizon Online Help alludes to a number of reports which are available to facilitate this, but concrete
conclusions on the ability of SPMs to reconcile data received from third parties, to that originally transmitted
are not possible without the procedures recommended beow to validate whether the SPMs can reconcile
(or not).

Originally it was theorised there was a second key area of risk, being that no digital signature is applied to
NCTs, potentially opening up this category of transactions to greater risk of interference subsequent to
processing into the BRDB. Further discussion with Fujitsu has highlighted that when the BRDB receives
NCT data, it pushes it downto the counter for acceptance by the SPM, at which point the Counter digitally
signs the acknowledgement of the transaction and therefore in theory a reconciliation between these
digitally signed TAs and the raw data files received from the third parties (which are interfaced into the
Audit Store) should also be possible mitigating this risk.

2. If there are gaps:

a. Could they be the cause of discrepancies in branch accounts (or could they mean that errors in
Horizon would not be revealed and those errors could then be the cause of discrepancies in
branch accounts); and

Theoretically they could — if a third party incorrectly reflected the data they had received from a
non-Counter system, and this incorrect total was then downloaded into the Branch accounts, then
in the absence of formal controls to reconcile data transmitted to the third party, back to data
received, the branch could cause discrepancies in the branch accounts. The control which POL
relies on to mitigate this is the Transaction Acknowledgements.

b. Whatis the risk of those gaps (or resulting discrepancies) materialising?

Without a full investigation of the controls at the third parties, and any other mitigating controls
which may exist, it is difficult to quantify the risk exposure.

Recommendations on the further work to be performed in relation to Non-Counter Transactions.

1. In branch running of live reports and demonstration they can be used to verify that TAs match to records of
activity on the respective terminal, thus illustrating that regardless of formally defined processes and

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 51
POL00030068
POL00030068

controls for reconciliations to be performed, the tools were provided to SPMs to enable them to reconcile
between the two data sources.

2. Review of training materials courses available to SPMs, to support communication of these mechanisms to
them, with a similar aim of understanding the level of skills SPMs were imparted with b assist them in
responding to any errors from NCTs.

3. Further analytics between TA data/other BRDB NCTs data and the raw data files, as indicated by the

Analytics pilot — the analytics discussions with Fujitsu highlighted that such a review would be technically
feasible.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 52
4.6.2 Phase 3 Procedures

POL00030068
POL00030068

Procedures

Findings

Hold an initial workshop to corroborate understanding of data flows and validate the
existence and completeness of controls over the current reconciliation process, and how
Transaction Acknowledgements are utilised

[This workshop was performed with Fujitsu on the 9th May 2017. Attendees from
Fujitsu were:

Pete Newsome — Fujitsu, Post Office Account Manager
Torstein O’Godeseth — Fujitsu, Horizon Systems Architect
Russell Norman — Fujitsu, Project Manager

Pete Jobson — Fujitsu, Horizon SME

(As a result of the workshop the understanding that Deloitte had originally
obtained on the operation of the interfaces between the systems was validated
ith a couple of amendments. The attached diagram displays the finalised
‘iewpoint in relation to the dataflows.

As part of this review the decision to exclude ATMs from scope as Non-Counter
Transactions was examined and it was highlighted by Fujitsu that all
interactions between ATMs and the Counter/BRDB are by rekeying of the data
- i.e. this is not a system driven process. Therefore the original decision to
exclude ATMs from scope was adhered to.

Review and test key reconciliation controls between key data sources within the data
flow as highlighted within separate table

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

Fujitsu discussion highlighted that one of the controls identified for potential
testing was only operated temporarily during the switch from Riposte to the
Branch Database, and as a result no control exists to test in the present day.
IThe remaining two controls are legitimate controls to test, as they are currently
orded, and one requires a wording tweak in order to test.

‘The below table captures the controls in scope, and the required updates to the:
original control wording where required:

# Summary Control Wording

1 External transactions sent via PODG
such that the External Transaction
files that are currently sent from

jot an existing control. TPS —
BRDB is a rec, not Credence —
BRDB.

POL00030068

POL00030068

Procedures

Findings

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

Ingenico (PAYSTATION) and Wincor
Nixdorf (POST&GO) are routed to
the Branch Database as well as
sending the data to the Credence
system. There is a reconciliation
between Credence and BRDB.

Update final sentence of control
iording to ‘There is a
reconciliation between TPS and
BRDB'.

For each Transaction
Acknowledgement generated, a new
transaction pair is created for
POLSAP. The transaction delivered
to POLSAP will have a Reference
number that matches the reference
number used in the Transaction
Acknowledgement record
generation. This allows POLSAP to
match with the Transaction
Acknowledgement once the TA has
been accepted by the Postmaster.

Control exists.

30

AP Client File Reconciliation
APSS2222.ksh will reconcile the
data in the files that it delivered to a
Client with the data in the files that
Credence delivered to a Client.

lo longer an existing control— no
further testing to be performed.

31

TPS to AP Reconciliation

TPSC227 writes APS transaction
data to a formatted file that will later
be used by the APS host program
APSC2051 to reconcile data from
TPS with that from APS.

Control exists.

POL00030068
POL00030068

Procedures

Findings ]

Perform detailed walkthrough of the Transaction Acceptance (TA) process to confirm the
granularity of the information the Postmaster is provided with. Perform procedures to
corroborate a TA is required for all Non Counter Transactions.

Detailed analysis of the TAs process was conducted through the following
steps:

1. Review of Horizon Online functionality within the Model Office at
Finsbury Dials on 29/03/2017 with assistance from Mark Underwood
and Phil Jeary.

Confirmation via review of the system screens that the Horizon system
included TA functionality relating to all of the non-counter transaction
areas under review, including:

a. Post and Go;

b. Paystation; and
c. Camelot.

No evidence was witnessed during this review, that there were other transaction
lypes for which TAs would apply, although this should not be construed by the
reader to categorically mean other NCTs for which Transaction
Acknowledgements would be processed do not exist. To provide fuller
‘assurance over the completeness of the transaction population for which TAs
are produced and relevant a detailed review of product types, and the related
population of transaction types, would be required, and this was beyond the
scope of this piece of work.

1. Walkthrough of the receipt and processing of Transaction
Acknowledgements on the Model Office test system. This walkthrough
highlighted the following key points:

a. On Receipt of a TA the postmaster is able to review both at a
header and line level of granularity.

b. On Receipt of a TA the postmaster must complete the
processing of it, before trading can continue.

c. Ifthe postmaster disputes the TA, then the TA ID should be

noted to dispute with the helpline after the TA is processed (this
could then trigger a further Transaction Correction).

2. Review of the Model Office counter for each of these transaction types,
in particular the Horizon Online Help Guide pages (which are available

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

a
POL00030068
POL00030068

Procedures Findings

within the system to all sub-postmasters, confirmed that various
reports on the balances are available to allow reconciliation between
the terminals involved and the TAs received and values within the
Branch Database, as well as guidance on the usage of TA functionality.
Below is a summary of the findings against each of the three
transaction types which have been represented by Fujitsu and Post
Office to formulate the population of Non-Counter transaction types for
this work.

Paystation TAs

(The following sections of the Horizon Online Help Guide were reviewed:

This is a ten page document which upon review provides guidance on:

1. What TAs are. (Page 1)
2. Accounting for TAs (page 2)

a. Including having to reconcile / check against all Paystation
transactions.

3. Non Receipt of TAs (Page 3)
4. Receipt & Processing TAs (page 6)

5. Including guidance on checking/reconciling the TAs againstPaystation

Paystation Transaction Acknowledgements’ I
transactions I

6. Office Daily Reports (Page 9)

a. Including details of a ‘Outstanding & Processed TAs’ report that,
is available

b. This report gives detailed information on all TAs that have been
received over the last 40 days and their existing status.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 56
POL00030068
POL00030068

Procedures : __ Findings

c. “There are no audit requirements for you to print and retain this
report. However you may find it useful if you need to verify
information contained within the TAs against any terminal
reports”

‘Accounting and Balancing Instructions for Paystation’

This is a four page document, which upon review provides guidance on:

1. Whata TA is (page 1)

2. Reconciling transactions from Paystation against the TAs

Post and Go TAs

(The following section of the Horizon Online Help Guide was reviewed:
Transaction Acknowledgements for Post & Go’

This is an eight page document which upon review provides guidance on:

1. Whata TA is in relation to Pay & Go (Page 1)

2. Daily processing of a trading report at close of business & prior to
business the next day to compare against TAs received. (Page 2 & 3)

3. Non Receipt of TAs
4. Receipt and Processing of TAs (Page 6)

a. Including recommending all Post & Go transactions are
checked/reconciled against the TAs received.

5. Office Daily Reports (Page 7)

I
I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 57
POL00030068

POL00030068

Procedures

Findings

a. Including details of a ‘Outstanding & Processed TAs’ report that

is available:

b. This report gives detailed information on all TAs that have beenI

received over the last 40 days and their existing status.

c. “There are no audit requirements for you to print and retain this I

report. However you may find it useful if you need to verify
information contained within the TAs against any terminal

reports”

6. TA Accounting Arrangements (Page 8)

a. Including recommendation to check and reconcile the cash

against the TAs received the following working day.

(Camelot TAs
[The following section of the Horizon Online Help Guide was reviewed:

Transaction Acknowledgements for Camelot’

This is a three page document which upon review provides guidance on:

1. Whata TA is. (Page 1)
2. Accounting instructions for TAs

a. Including check and reconcile the cash against the TAs
received the following day (Page 2)

3. Non Receipt of TAs (Page 2)
4. TA report (page 3)

Additional Sections of Horizon Online Guide Identified as of Relevance

In addition to the above it was confirmed that there is a help page within

Horizon Online Help providing contact details which sub-postmasters can use
should they have issues with Transaction Acknowledgements for Paystation.

I
I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

a
POL00030068
POL00030068

Procedures Findings
[This page was entitled Contact Names, Addresses and Telephone Numbers’
jand was two pages long.

1. To supplement these procedures further a review of additional sources
of process narrative and guidance were obtained and reviewed from
POL staff. The documents reviewed as part of this further exercse
were:

a. ‘Self Serve Kiosk User Guide V4.1"
b. ‘HNG Branch Trading Reports 310317’
‘HNG BT Balancing and despatch of docs 310317'

a9

‘HNG Camelot Lottery On-line games 030417’

e. ‘HNG Camelot Scratchcard games 030417’

f. ‘HNG Cash and Secure Stock Rem Services 310317’
g. ‘HNG Equipment and Admin Pages 310317'

Review of these documents, highlighted a number of areas which provided
additional context/assurance:

Guide ‘HNG BT Balancing and despatch of docs 310317’

\This document makes reference to an ‘Office Snapshot Report and details how
0 create the report, but does not explicitly say this can be used to reconcile
against TA’s:

1. ‘Producing the Office Snapshot report to list stock and cash on hand
and all the transactions carried out during the current Branch Trading
Period up to the time the report was requested, for all stock units in
your branch.’ (Page 109)

Guide ‘HNG Camelot Scratchcard games 030417°

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 59
POL00030068
POL00030068

Procedures i Findings _
[This document has a section that details account of scratchcards. This section
highlights that National Lottery transactions are accounted for via Transaction

Acknowledgements and that a Camelot terminal creates a report which shows:

1. The total daily scratchcards sales

2. The daily prize payments

4. Commissions (this figure will always be zero)

However the guide does not explicitly say that this report that shows all NCTs
for National lottery should be reconciled against the TA which accounts for

I
3. Any returns I
National Lottery transactions. I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 60
POL00030068
POL00030068

4.7  Phase4

[ Scope Area 1: Deloitte review of Fujitsu Report in conjunction with initial comments raised.

4.7.1 Work Performed, and Analysis Results

For this specific scope area our procedures centred on reviewing the Fujitsu report in conjunction with the
comments raised, and providing commentary on residual question areas or concerns back to POL.

Subsequent to these procedures a workshop was held with Fujitsu staff, whereby residual questions and concerns
were dealt with.

These procedures confirmed that a privileged user would be able to amend data in a manner where it looked
legitimate, and delete the audit trail of them carrying out such activity with minimal footprint. The technical hurdles
that would need to be overcome would be significant, and the user in question would likely require access to a
programme to do so. The superuser would then be required to locate the programme on the correct hardware, and
Fujitsu have pointed to the state monitoring software which should detect if unauthorised programmes have been
added to the relevant hardware, whilst recognising this is not a formal control.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 61
POL00030068
POL00030068

4.7.2 Phase 4 Procedures

Procedures Meee ESE Bindings, cncn sk Wa We eck tre ae aneae
Deloitte review of Fujitsu Report in conjunction [This review has been performed with an email provided as per the agreed deliverable in the Statement of Work.
with initial comments raised.

Workshop with appropriate Fujitsu resource to: le have also produced section (c), which includes, as requested recommendations on the further work to be
performed in relation to the Fujitsu report.

1. Answer any outstanding comments /

questions on the report. JA workshop was held on 11/05/2017 with attendees from:
2. Produce a detailed commentary on what

steps would need to be taken to replace - Deloitte (Mark Westbrook, Lewis Keating)

the message log, as per section 2.2 of - Fujitsu (Torstein O'Godeseth, Gareth Jenkins)

the Fujitsu report. - Bond Dickinson (Jonathan Gribben)

We have also produced section (c), which
includes, as requested recommendations on the @) The following agenda items were discussed, with Deloitte asking the numbered questions (in black), and Fujitsu

further work to be performed in relation to the providing responses (In red italics).
Fujitsu report.
Horizon Online

1. Is the segregation of duties breach between database administration and the key management server, the onlyI
way in which a weakness could be exploited to overwrite transactional information in a way where it cannot be
traced and looks legitimate to the system?

it is the only way known by Fujitsu staff. Fujitsu do however stress that there are numerous levels of security which
Ould make any way to break through very difficult.

2. Is 1am the following day stipulated as the date and time by which overwrite would need to be achieved by due
solely to the audit store, and if so are there other more timely data feeds which would highlight a discrepancy
between actual ‘transactional reality’ and what is recorded in the Audit Store or the BRDB?

‘es, 1am is when ‘harvesting’ of data from BRDB to the audit store happens (the job is scheduled to run at 1am, so
factual harvesting is likely to happen in the minutes after this time). Therefore the maximum time slot for manipulation
ould end at 1am.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 62
POL00030068
POL00030068

In reality there are other interfaces which occur on a more frequent basis, (which would leave a footprint on another
system / part of Horizon) however only certain products are involved in these interfaces (mainly transactions which
settle with clients, and are recorded in somebody else's system). Therefore any manipulation would have to avoid these
Specific products. This adds another layer of complexity, theoretically however these transactions in the session could
be replaced ‘correctly’ (like for like), and not. leave a footprint if done before 1am.

3. For step 6 of the replacement routine, can you remind us the technical reasons for requiring access to the BAL
Private Key?

IThe BAL private key signs messages which come from the counter. If you are going to create a fake counter key, you
need the correct BAL private key to make the digital signature look legitimate.

4. On step 9 on the Super-User audit log — how long can this log be edited by the Super-User? Same 1am
window before transmission to the Audit Store? Also a reminder that it is the hardware protection rather than
the digital seal which is important on the Audit Store due to the usage of the cracked MD5 algorithm for
sealing?

\t is a daily pull occurring at around 1am, therefore the window is as previously described.

5. Onthe point on editing the log, if I'm reading correctly it would always be possible to see the last action by the
Super-User, even if they deleted all else?

(Can we be provided with further detail on how the attached would work — In order to make the changes to the Message
ILog described in section 2.2, the Super-User would need Read access to the Key Store database which runs on the
PS and Read / Write access to the BRDB. Note that should the rogue application run on the BAL, then this isn't
necessary as the BAL’s have access to the Key store based on the IP address.

‘ou can always see the last action by a SuperUser, if a Super-User deleted their actions, it would always leave a

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 63
POL00030068
POL00030068

footprint of the deletion of logs. They could theoretically remove what they have done, but they cannot remove that the
have done something.

Fujitsu note that turning off audit logs completely.will ‘break’ the application.

A ‘Delete’ record on the audit trail is likely to be highly unusual & easy to spot. Please see Section (C) for suggested
procedures around this. It also recommended procedures are performed to validate that the audit logging feature
annot be turned off without breaking the appication.

a. Could a Super-User (theoretically) cover their tracks completely by removing log on / log off activity
from the audit log without leaving a trace? If not how feasibly is a comparison between all log on/ log of}
activities of Super-Users’ and MSCs in order to detect un-authorised access?

\As above in answer to question 5, they would always leave a trace.

It is noted that log on / log offs by Super-Users on. BRDB / BAL are likely to be very rare (limited to system upgrades)
and should always be approved by an MSC (record of the reason Super-User access is required and approval for this
faccess).

Please see Section (C) for suggested procedures around this.

6. Although the Database Audit tables are not regularly examined they were recently checked as pat of an
external Audit of Horizon Online. — Could you provide further context on this audit? What was checked and
why?

7. How often would the individuals who contravene access SoD between the NPS and BRDB tend to logon to the
NPS? Also does the point raised on not needing to logon with access to the BAL broaden this concern?

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 64
POL00030068
POL00030068

Findings
Fujitsu advised they would not expect Super-Users to log onto the NPS on a regular basis (limited to upgrades /

hanges etc).

8. For step 2, how big is the average message log associated with any log on session. (i.e. is a log on session
generally all day and therefore the message log will hold thousands of transactions?)

Normally 2-3 hours if not all day. (Some quiet post offices it would be notably less)

(A log on session likely to be hundreds / thousands of lines. (1, audit line for every customer been server plus few extras
for printing reports etc.)

However even if a session was a small number of lines, a program would still be required in order to effectively amend
ransactions without leaving a footprint due to the complexity of re-creating the digital signature for 1 transaction /
locating a suitable transaction.

9. For step 4, are there any barriers to uploading this application onto Fujitsu systems (if this would be required).
Presumably this would be required due to the volume of work required?

\There is a detailed release process which all releases should follow. However there are no preventative logical access
ontrols preventing.a user from releasing programmes outside of this process.

However if someone tried to not follow this process then File Integrity monitoring is in place on BRDB & BAL. This
checks if files appear on a platform and flags things which have changed, the security ops team then investigate.

Please see Section (C) for suggested procedures around this.

10. On step 8, is there a formal control operated by Fujitsu which can be referenced which would provide evidence
for ‘any instance of slow running on the system would be investigated by the support teams’. If not can we
articulate how obvious this would be to evidence it would be picked up in BAU activity?

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 65
POL00030068
POL00030068

_ Procedures S SIRES So SSNS __ Findings
Fujitsu noted that if the system behaves poorly this would be very obvious to Fujitsu employees who monitor system
performance on an ongoing basis.

Riposte

1. The Riposte product managed the Message Store and it did not allow any message to be updated or deleted. —
Is there any further information available on this control?

Each message also had an associated CRC, this was basically a checksum that was included to ensure that the
message had not become accidently corrupted. Note that this was not a cryptographically secure seal and it would be
possible for a sufficiently technically skilled person to alter a message and recalculate the CRC if they had access to
the message outside the message store. — i.e. the level of protection on Riposte was lower?

IThe message store was a specialised database designed so that all you could dowas add messages on, not amend
messages.

IThere is no known loophole by Fujitsu to amend transactions due to the nature of database.
As soon as. messages arrived centrally, they were copied into audit trail immediately.

Fujitsu are to provide documentation as to the historical flow of data on Riposte.

2. The Digital Seal for the Riposte Audit Store remained the same as for Horizon Online— i.e. MD5? And the
hardware protection was applied the same as well?

I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
es I
I
3. Due to the size of the Post Office Network, Branches were split into 4 separate Clusters. Each Cluster included I

4 Correspondence Servers (2 in each Data Centre), thus ensuring that there were normally 4 copies of the data
held in the Data Centres. - Does this mean you would need to duplicate corrupted data across 4 servers? I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 66
POL00030068
POL00030068

_ Procedures . Findings
ITo inject rogue transactions theoretically a user would inject artificial messages into Riposte, as they could not amend

messages due to this replication.

4. In Detecting Changes to the Audit Trail the following is stated, however, if such data were injected at the
Correspondence Server, it would be clear that this had occurred since the Node Id associated with the
message would be that of the Correspondence Server at which the message had been injected and not a
normal Counter Node Id. This would be clearly visible in any audit extract. Could this not be spoofed?

ould need to run application on the counter remotely to inject transactions from the counter.
‘Very difficult but not impossible”.

‘This was not a Fujitsu owned system, source code owned and managed by another third party. As Fujitsu did not own
jor manage the source code, changes to the source code of the system would have to be applied by the third party, this
adds another step of complexity in running a rogue application).

'b) Detailed commentary on what steps would need to be taken to replace the message log, as per section 2.2
lof the Fujitsu report

In theory, a Super-User, could amend the Message Log for one or more Counters in one or more Branches. The
following describes what would be required to replace the Message Log for a single counter in a single branch. This
process could be repeated for multiple counters / branches if required.

1. To exploit this, the work would need to be completed before 1am the following day (sincethe Message Log is
extracted from BRDB at some point after 1am each night and the data is then sealed and held in the Audit
Server). As such there is a limited window of opportunity. A log on session can last up to all day for a counter inI
a branch, and is essentially how long the counter machine is ‘logged into’ in any one sitting.

If a branch is still logged into a session, and performing transactions in that session whilst someone was
attempting to amend the transactions in the BRDB there are likely tobe additional complications around

I
I
I
I
I
I
I
I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 67
POL00030068
POL00030068

Procedures

Findings

maintaining JSN continuity and order, and ensuring the digital signature for all transactions in the session are
valid and ‘match’.

The entire Message Log associated with a Log On Session that is to be corrupted would need to be replaced,
as anew Counter private key would need to be generated, and as such all messages would need to be signed
by this key.

This is because there is no known way to obtain the counter’s Private Key and so a new one would
need to be generated as described below.

The records being replaced would have to correspond on a one-to-one basis to the original records otherwise
there would be gaps or duplicates in the sequence of JSNs which would then be detected as part of the Audit
Retrieval process. There is an estimated 1 to 1 ratio between ‘records’ and transactions, as such there can be
hundreds of transactions in any one session; all of which would need to be re-signed. Amending or replacing
certain records relating to transactions which are involved in more regular interfaces from BRDB such as third
party systems would have to be specifically avoided (or replaced on a like for like basis— this is replacing the
transaction with a transaction which matches it exactly) otherwise they would trigger errors in other
reconciliations; this adds an additional layer of complexity to this process.

An application / programme would need to be run by a SuperUser in order to correctly construct the revised
Audit Records due to the high level of complexity involved in generating new private keys / digital signatures,
and the volumes of transactions these would be required for within the time limitations noted in point #1.
There is a release process which would have to be bypassed in order to get an application/
programme onto the relevant systems. It is expected file integrity monitoring / checks would identify if a
user attempted to introduce a rogue application / programme onto the relevant systems.

This application would need to generate a Private / Public key pair similar to the one originally generated by the’
counter. Called an “Attack Counter key” in the rest of the document.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 68
POL00030068
POL00030068

Procedures

Findings

6. The application would need to have access to the BAL’s Private Key. Since this is stored in the Key Store
which is an Oracle Database running on the NPS, then it is assumed that a SuperUser would be able to read
this value and make it available to the application. This would then enable the application to generate a Log On
Message Log message containing the fake Counter Public Key and to sign it using the genuine BAL Private
Key.

7. All subsequent messages for the session would then need to be amended as required and then resigned usingI
the Attack Counter Private Key generated at step 5. An application would be needed to do this due to the high
complexity.

8. Having constructed all these false Message Log messages, then the SuperUser would need to delete all the
genuine messages from the Message Log in BRDB and replace them with the false messages on a one for oné
basis.

9. Note that as stated earlier, corrupting the Message Log in this way has no impact whatsoever on the Branch
Accounts, since these never refer to the Message Log. The Branch Accounts are based on copies of some of
the data held in the Message Log being stored in “working tables” within the BRDB. Clearly any application that
is capable of corrupting the Message Log in BRDB would also be capable of updating (i.e. corrupting) the data
used to calculate the Branch Accounts. Therefore the above steps, if followed, could theoretically amend the
audit store record without leaving a trace, however there would be no impact on branch accounts unless a
programme was also configured to make the same amendments to data used to calculate Branch Accounts in
order to impact on branch accounting. This adds another layer of complexity to this hypothetical scenario.

'c) Recommendations on the further work to be performed in relation to the Fujitsu report.

1. As per section (a) question 5 above, it is suggested that the following procedures coul be performed:
a. Identify how far back Super-User activity on the BRDB / BAL audit logs are held for
b. Obtain audit log records for as many years back as possible
c. Perform an analytic procedure over the log’s to identify:
i. Any DELETE record (there should be a very low volume / if any of these)

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 69
POL00030068
POL00030068

Procedures Findings

ii. Any log on records to the BRDB / BAL by Super-Users and match these to an MSC to confirm
the actions were known to the business, planned and approved.

iii. Validate that switching the audit logging off would ‘break’ the application.

This would provide information as to whether there have been ANY tampering of transactional data (through DELETE
audit record) (for the period data is available).

IThis would also identify if there have been any un-authorised accesses to BAL / BRDB by Super-Users or whether all
access was authorised (for the period data is available).

a. Obtain documentation to evidence a detailed release process is in place which all changes to systems
(including introduction of applications / programmes) should follow.

b. Identify and test the file integrity monitoring controls in place which would identify if the release process
had been bypassed

c. Obtain documentation to evidence the escalation process in place for items flagged by the file integrity
monitoring checks.

(A separate SOW can be provided for this work once the scope has been agreed between all parties.

2. As per section (a) question 9 above, it is suggested that the following procedures could be performed: I

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 70
POL00030068
POL00030068

5 General Assumptions and Limitations

5.1 General Assumptions and Limitations
Our work has been subject to the following exclusions:

1. We have not verified or tested any information or assertions provided directly by you, or directly or
indirectly by third parties;

2. For scope areas across all Phases, only matters relating to Horizon Features and Audit Store within
the Horizon processing environment have been considered during our workshops and discussions;

3. We have not provided a legal or any other opinion as to the completeness and accuracy of processing
of Horizon at any point throughout the work;

4. We have not had direct contact with any third parties other than named contacts that you have
provided to us (Appendix 1);

5. We have not reviewed any contractual provisions in place between you and third parties;

6. Our work was limited by gaps existing in the information available, relating to both the granularity of
information and the existence of the Horizon Features’ over the entire timeline of operation of Horizon
process documentation. The effect of which is that there are gaps within what we are able to comment
upon over this timeline;

7. We have not validated or commented on the quality of the Assurance Wok? supplied to us.

Our work was also based on the assumption that the documents provided and assertions made are a completeand
accurate representation of the Horizon design, and audit store process. We therefore cannot comment as to
whether other processes would need consideration in the context of the Matters.

We have performed work on control in place and operating at the tme of the review, and not those operating at the
time of the allegations. Other evidence has been obtained, where available, to providea view as to whether the
control was likely to have operated at the time of the allegations.

1 “Horizon Features’ is a term we have introduced to represent those features of the Horizon processing environment, including IT management
and business use controls, which provide that
+ Movements in Branch ledgers have the full ownership and visibility of sub -postmasters; and
* Audit trails kept by the system are complete and accurate

2 Since its implementation in branches, POL has commissioned or has received a number of pieces of work relating to the Horizon processing
environment, to provide comfort over its integrity. This work, referred to in our report as the “Assurance Work", provid es documented assertions
relating to aspects of the design and operation of the Horizon processing environment. The Assurance Work includes IT project documents;
operational policies and procedures; internal and external investigations and reviews; indepen dent audits; and emails confirming otherwise
verbal assertions.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT ra)
POL00030068

POL00030068
Appendix 1
Documents Reviewed
Document Ref Document Title
DES/APP/HLD/0047 HNG-X Counter Application High Level Design
DES/APP/HLD/0020 Branch Database High Level Design
DES/APP/HLD/0030 Audit Data Collection and Storage High Level Design
DES/APP/HLD/0029 Audit Data Retrieval High Level Design
ARC/SOL/ARC/0006 HNG-X Architecture - Global Users
DEV/APP/LLD/O065 BRDBC002 — BRDB Message Journal Auditing LLD
DEV/APP/LLD/0014 Host Branch Database Audit Archive Purge Low Level Design
DEV/APP/LLD/0142 Host BRDB Transaction Correction Tool Low Level Design
DES/APP/SPG/0001 Host branch database support guide
DEV/APP/LLD/0199 Schema definition for branch database, standby branch database and branch
support system
DES/APP/HLD/0035 Exceptions and logging frameworks high level design.
DES/APP/IFS/0002 HNG-X:RDDS to Branch Database - Counters and HBS Reference Data and
Memo Submission Interface Specification
DES/APP/IFS/0012 BAL Service Interface Specification
DES/APP/HLD/0083 HNG-X Counter Subsystem : Recovery Management
DES/APP/HLD/0021 Branch Database Scheduling High Level Design
DES/APP/IFS/0007 Branch Database to Legacy Host Interface Specification
DES/APP/IFS/0001 HNG-X: RDMC / RDDS to Branch Database Application Interface Specification
DES/APP/HLD/0049 HNG-X Generic Reports Data Extract HLD
DES/APP/HLD/0057 HNG-X Counter Infrastructure: Service and Process Control High Level Design
ARC/SOL/ARC/0001 HNG-X Solution Architecture Outline
DEV/APP/LLD/0071 Audit Data Retrieval Low Level Design
POLSAP/DES/APP/STG/0001_I POLSAP Archiving Strategy
DEV/INF/ION/0001 Archive Server Configuration
DES/SEC/HLD/0003, HNG-X KEY MANAGEMENT HIGH LEVEL DESIGN
DES/APP/HLD0041 HNG-X Counter Applications: Business Logic Subsystem High Level Design
DES/APP/IFS/0018 XML Message Audit between Counter or HBS and BAL/OSR
DES/APP/HLD/0012 DVLA Internal Web Service High Level Design
ARC/SEC/ARC/0003 HNG-X Technical Security Architecture
DEV/APP/LLD/0204 Host BRDB Update Outstanding Recovery Transaction Tool Low Level Design
DES/APP/HLD/0070 Host Applications Monitoring High Level Design
DEV/APP/LLD/0151 HNGX BRDB HOST: BRANCH SUPPORT DATABASE LOW LEVEL DESIGN
DES/APP/DPR/0006 Design Proposal for Transaction Acknowledgments
EA/IFS/006 Application Interface Specification
SVM/SDM/SD/0020 End to End Reconciliation Reporting
REQ/APP/AIS/0004 Transaction Acknowledgements Application Interface Specification
N/A Post Office Pay Station Manual
N/A 1- Self Serve Kiosk Guide
N/A HNG Branch Trading Reports 310317
N/A HNG BT Balancing and despatch of docs 310317
N/A HNG Camelot Lottery On-Line games 030417
N/A HNG Camelot Scratchcard games 030417

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 72
POL00030068
POL00030068

Document Ref Document Title
N/A HNG Cash and Secure Stock Rem Service 310317
N/A HNG Equipment and Admin pages 310317

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
Individuals Interviewed

POL00030068
POL00030068

Job Title

Patrick Bourke

POL - ‘Bramble’ Project Manager

Mark Underwood

POL - ‘Bramble’ Project Manager

Rodric Williams

POL - POL Legal

Rod Ismay

POL - Head of Finance Service Centre

Lorraine Garvey

POL - Enquiries Manager

Sarah Haywood

POL - Finance Team Leader

Tracy Middleton

POL - Finance Team Leader

Paul Smith POL - Operations Support Manager

Lorna Evans POL - Central Data Manager

John Willacy POL - Financial Control Framework Manager
Neil Page POL — Client Settlement Team

Gillian Hoyland POL — Operational Support Manager

Joy Lennon POL — Master Data Manager

Andy R Pearson POL - Finance

Debbie Gratton POL — Finance

Stuart Nesbit

POL — Finance Director

Phillip Jeary

POL - Finance

Jon Hulme

POL — Domain Architect

John Simpkins

SSC Team Leader

Paul Stewart

Fujitsu —- Database Administrator

Ken Westfield

Fujitsu - Change Manager

Michael Greene

Fujitsu — Support Technician

Michael Harvey

Fujitsu - Head of Commercial

Pete Newsome

Fujitsu - Business Change Manager

Torstein O’Godeseth

Fujitsu - Chief Architect

Steve Bansal

Fujitsu - Senior Service Delivery Manager

Alan Holmes

Fujitsu - Customer Solution Architect

Gerald Barnes

Fujitsu - Senior Software and Solutions Designer

Gareth Seemungal

Fujitsu - Senior Software and Solutions Designer

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Appendix 2

Scope area I — Potential Analytics Procedures

Ref I Analytics Procedure

A Completeness Test - Identify gaps in audit log sequencing

Completeness Test - Identify gaps in transaction times during working hours

c Completeness Test - Identify two user logon events in sequence without the expected logoff event in
between, an indicator of a connectivity issue

D Completeness Test - Identify recovery transactions

Accuracy Test - Identify zero valued transactions

F Accuracy Test - Identify branches which are out of balance based on transactional data available (should
not be possible based on inherent system controls).

G Integrity Test - Identify transactions posted by non-branch users without subsequent branch
acknowledgement.
H Integrity Test - Identify balancing transactions.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 75
POL00030068
POL00030068

Appendix 3

Scope area 2 — Balancing Transactions Controls

2

Ref I Control Description

A SSC will have privileges of only inserting balancing / correcting transactions to relevant tables in the
database. SSC will not have any privileges to update or delete records in the database

B If the process fails (e.g. transaction file is found to be invalid), then the transaction file will not be moved
and an error message will be written to standard output.

c Any writes by the SSC to BRDB must be audited. The mechanism for inserting a correction record must
ensure that the auditing of that action performed must be atomic.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 76
POL00030068
POL00030068

Appendix 3a

Scope area 2 — Balancing Transactions Controls (Broader population)

Ref I Control Description

A All inserts will be audited in the table BRDB_TXN_CORR_TOOL_JOURNAL.

B The PL/SQL package PKG_BRDB_TXN_CORRECTION will be owned by Oracle user
“OPS$SUPPORTTOOLUSER".

c The PL/SQL package PKG_BRDB_TXN_CORRECTION will execute with the permissions of the
OPS$SUPPORTTOOLUSER account and can only insert rows into the transaction tables as controlled by
an entry in BRDB_SYSTEM_PARAMETERS. The account will not have update or delete privileges.

D Each of the transaction tables that are allowed to have balancing transactions inserted on them has an
associated template file. Each file contains a template of an INSERT statement for that table, in the
required format, and listing all of the columns on the table. Users should create their own transaction file
based upon the relevant template file, substituting the values they require into the SQL. Note that some of
the column values specified in the template should not be changed-— these are annotated with comments
as appropriate.

E When execution is complete the file is then moved to directory ‘/app/brdb/trans/support/brdbx015/output’
and the log file is created in directory ‘/app/brdb/trans/support/brdbx015/log’. Log file will be named using
the following convention:

<transaction_file_name>_<CCYYMMDDHHMISS>.log

Access to these 2 directories is appropriately restricted.

F It is expected that only a small number of skilled staff will run this tool and that they will have detailed
guidance as to when and how to use the tool (For example by restriction of staff to
“OPS$SUPPORTTOOLUSER’).

G From the Unix command prompt, execute the following

./BRDBX015.sh MyTransactionFile.sq! 2001

where the first parameter is the transaction file name and the second parameter is the branch code where
the balancing transaction is going to be applied. Note that the branch code must exist in the database, and
must not be for a closed branch. If this is not the case, then an error message will be shown and the run
aborted.

H The correction tool places a number of constraints on the contents of the transaction file. These ae
necessary in order to provide a defined baseline upon which it can base its operation. If any of the
constraints are violated then validation will detect it and abort the run with a meaningful error message.
The constraints are as follows:

* The transaction file must be less than 32K in size

e The transaction file must only contain Unix-style end of line markers (EOL), not DOS format end of line
markers (CR/EOL)

* The transaction file can only contain a single SQL statement. If more than one balancing transaction is
required then more than one transaction file must be created, each of which is executed with a separate run
of the tool

«Ifthe transaction file contains an introductory comment, then it must be a ‘/* ...... *P style comment, not
a‘ * style comment

e The closing “/' of the introductory comment must have a trailing space (i.e. ‘..... */ ‘)

« The run symbol at the end of the SQL must be a ‘;’ , not ‘/’, and must have a trailing space (i.e. ‘

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 7
POL00030068
POL00030068

Ref I Control Description

* The SQL must be a valid SQL statement according to the normal Oracle SQL parsing rules (e.g. valid
syntax, objects accessible etc)

* The SQL must begin with ‘INSERT INTO OPS$BRDB. ' and be of the form ‘INSERT INTO ..... SELECT
sete FROM dual, (SELECT ..... FROM .... WHERE .....)’.

° The table name must be one of the tables named in the
BRDB_TXN_CORRECTION_ALLOWED_TABLES1 or
BRDB_TXN_CORRECTION_ALLOWED_TABLES2 configuration parameters

e All of the columns that exist on the table in question must be explicitly named. It is not necessary for
every listed column to be on a separate line, but this is advisable for readability.

« The values to be inserted must be provided by the ‘SELECT ... FROM dual ...’. Each value must be on
a separate line. Trailing comments are allowed, but must be a “- .’ style comment. Any such comment
must not include any commas. All columns must have values provided for them (even if that value is NULL).
e Certain columns are common between a subset of the transaction tables. In some cases, these columns.
should be set to the same value no matter what table is in use. With the exception of the bind variables
listed earlier, the value that the SQL will try to insert is under the control of the user (i.e. it is determined by
the value specified in the SQL). However, the tool can be configured to validate that the value specified in
the SQL matches that expected. In order to do this, set the
BRDB_TXN_CORRECTION_ENFORCED_VALUES configuration parameter to include the field and the
required value.

The parameter is populated as a comma-delimited list of name/value pairs, where the name is the name of
the column name, and the value is the value to be enforced. As released, this configuration parameter is
set to:

NODE_ID=99,APP_SERVER_NODE_NAME=999, BRANCH_USER=:bind_SSC_user,BRDB_INSTANCE
_NAME=:bind_instance_name

which, for example. ensures that if a ‘node_id’ column exists on the transaction table, it's value is specified
as 99. If there is no ‘node_id’ on the transaction table, then no value is enforced for that field. Note that if
the parameter does not exist, then no values are enforced in the SQL.

I The SQL statement being executed will be logged in the table BRDB_TXN_CORR_JOURNAL. The format
of the data to be written to the column JOURNAL_XML is:

“<?xml version="1.0" encoding="UTF-8"?>

<Support_Insert>

<Unix_User>Unix User Name</Unix_User>

<Oracle_User>Oracle User Name</Oracle_User>

<Sql>SQL Statement</SqI>

</Support_Insert>”

where :

e Unix User Name is the Unix user name under which the user logged in

* Oracle User Name is Oracle user that is carrying out the actual insert ie. SUPPORTTOOLUSER

« SQL Statement is the final (i.e. after substituting actual values for bind variables) SQL that is executed
to insert the balancing transaction

J As records are being written to the audit files, the process must optionally be able to monitor if the set of
Journal-Sequence-Numbers for a node in a Branch is dense. The check should only be performed when
the value of mandatory System-Parameter ‘JOURNAL_SEQ_DENSE_SET_CHECK_ENABLED'’ is
“TRUE”. When a missing journal entry is encountered, a message should be written on standard output
along the lines of “...records between sequence numbers M and N are missing...”. Once the list of
auditable messages for a node is completed, an Operational exception should be raised to indicate the
count of missing sequence numbers. Duplicate records are not possible due to the primary key on this
table.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 78
POL00030068
POL00030068

Ref I Control Description

K Unix shell script BRDBX015.sh which is in the /app/brdb/trans/support/brdbx015 directory. It is deliberately
kept separate from the standard $BRDB_SH directory so that access to the script and the associated
components can be restricted to authorised users. The shell script calls the PL/SQL package
PKG_BRDB_TXN_CORRECTION.

L PL/SQL package PKG_BRDB_TXN_CORRECTION, which resides within the Branch Database and is
owned by Oracle user OPS$SUPPORTTOOLUSER. The PL/SQL package is the component that validates,
creates and audits the balancing transaction.

M If an Oracle node/instance failure occurs, the utility will fail with an error code of 99. For all other failures, it
will fail with an error code of 1 and log an operational exception in BRDB_OPERATIONAL_EXCEPTIONS.

N The SQL in the transaction file is validated as follows. Any validation failures are displayed to standard
output and logged to the log file.

« Check that the file does not contain any carriage returns, indicating DOS format EOL markers

e Check that the SQL in the transaction file parses according to the standard Oracle rules (e.g. syntax,
privileges etc). This is done using the standard Oracle DBMS_SQL.PARSE procedure.

* Check that there is only a single SQL statement in the transaction file. Note that in most cases, this will
be detected by the previous parsing step. However, the fact that the parsing does this is not described in
the Oracle documentation, so it may be changed in future releases of Oracle. Therefore, this validation
provides security if the behaviour of the Oracle procedure is changed at a later date.

* Check that the SQL begins with INSERT INTO OPS$BRDB.’

* Check that the table named in the SQL is one of the tables listed in the two
BRDB_TXN_CORRECTION_ALLOWED_TABLES<n> configuration parameters. Note that as long as the
privileges are set up correctly (i.e. OPS$SUPPORTTOOLUSER only has insert privileges on the allowed
tables), any attempt to insert a balancing transaction on a nor-allowed table will cause the previous parsing
step to fail (because the user would not have the necessary privileges). Therefore, this validation provides
security in case the privileges are not correctly set up.

* Check that all the columns named in the SQL exist on the table, and that all the columns on the table
are named in the SQL

« Check that the values to be inserted are provided by a SELECT ... FROM dual, (SELECT ... FROM...
WHERE) i.e. not a VALUES

e Check that if any of the  name/value pairs that are listed in the
BRDB_TXN_CORRECTION_ENFORCED_VALUES configuration parameter are present on the table, they
are set to the listed value.

fe} Balancing transaction audit files (BRDBCO033), unlike the files produced by BRDBC002, are not
compressed, but are still encrypted.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 79
POL00030068
POL00030068

Appendix 4

Scope area 3 — Audit Store Controls Listing

Ref I Control Description

A Audit tracks that are gathered at one data centre are replicated to the Audit server at the remote data
centre. This replication process is managed by the Audit Track Sealer. As Audit tracks are secured to the
Audit archive, they are moved to an export area awaiting transfer to the remote campus.A second file,
containing the calculated seal value for the audit track is also storedin the export area.

B Audit tracks and seals are copied, using robocopy, to the equivalent import area on the remote audit server
as part of Audit server overnight schedule. On arrival, the sealer on the remote audit server recalculates the
seal value of the imported audit track and compares it with the original value in the imported seal file.
Assuming they match, the file is then written to the remote Audit archive. If the seals do not match, the Audit
track and seal file are moved to a holding area andan event is raised. Manual investigation is necessary to
investigate the cause of the discrepancy.

c There will be a single instance of the ATS that concurrently accepts files for sealing/seal checking from ATG
and ATR and notifies sealed files to the ATD and into the Sealer Database for subsequent use by the Audit
Track Extractor.

The ATS shall collect files for sealing via I-ATS-4 and shall write a log of its activities to the ATD via LATS-
2. In sealing a file the seal shall be generated using a secure hash algorithm, the MD5 algorithm has been
selected.

Once a file has had a seal calculated the file will be written to Centera and details will be stored in the Audit
Track Seal Database via LATS-5.

D Access to the Audit Track files for gathering shall be via Samba (for Unix systems) or NTFS (for Windows
systems). Access to the sub directory shall be limited to the application generating the Audit Track and the
Audit Track Gatherer. Audit track files should be written in write-append mode.

E All users (including administrators) of the Audit Workstation and Audit Server shall log onto systems using
two factor authentication in conjunction with the HNG-X Active Directory system. Each user shall be
uniquely identifiable.

F The remote directories from which the Audit Server gathers Audit Tracks will be configured so that only the
Audit Server (or an administrator who has been explicitly given permission) is able to delete files in the
directory.

G All Audit Server and Audit Workstation and Centera hardware shall be held in physically secure areas
where physical access to the systems is controlled.

H There shall be separate roles for:

. Audit Server (inc. Audit Workstation) Administration

. Fujitsu Services Audit Staff

The roles shall be mutually exclusive, i.e. no one individual shall be given access rights of more than one
role.

I The Fujitsu Services Audit Staff role shall not have any write, modify or delete access to the Audit Archive.
J The following integrity checks will be applied to the data

. Completeness of data — contiguous message sequence numbers

. Integrity of individual messages

° For Riposte data the message CRC should be checked

° For HNG-X data the message signature will be verified

Separate Riposte and HNG-X summaries of the results of the integrity checks are generated. They should
detail:

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 80
POL00030068
POL00030068

Ref _I Control Description

. Summary of the message sequence runs broken down by counter Id. This should include start and
end date/times and start and end message sequence numbers. Any gaps in the message sequence runs
must be highlighted.

. Summary of messages that have failed individual message integrity checks

Any failure of the data integrity checks will not prevent subsequent execution of the query. The audit
workstation user will be warned of the failure via the server process status notification mechanism.

K As Audit tracks are retrieved from the archive, they are seal checked (by re-application of the MD5 message
digest function) to ensure that the source data has not been tampered with while it was stored in the
archive.

L Only authorised users may access the Audit workstation applications. Authorised users are required to log
on to the workstation using two factor authentication and the HNG-X Identity Management system. An
Active Directory group named AUDIT_USER will be created with the rights required to utilise the
workstation applications. Authorised users will be added to this group.

M All retrievals of audit data are performed using the Audit Extractor Client, and all such user actions are
themselves audited. It is not possible for users to access the archive by any other means.

N Audit workstations and Atalla NSPs are located in secure areas. Only authorised users are given physical
access to these areas.

fo} All auditable messages logged during a calendar day will be made avalable to the audit system in
uncompressed form as a part of Branch Database batch overnight processing.

The message journal is implemented in the form of a single Oracle table named
BRDB_RX_MESSAGE_JOURNAL. Uniqueness is controlled at the level of a Branch counter using a dense
sequence known as the JournakSequence-Number

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 81
POL00030068
POL00030068

Appendix 4a

Scope area 3 — Audit Store Controls Listing (broader population)

Ref I Control Description

A The following operating system level events on the Audit Server will be audited via the System Management
event monitoring facilities:

e Log on/Log off (including unsuccessful log on attempts)

e File Creation, Deletion and Modification (on selected files)

* Modifications to system configuration (inc software configuration and account detaib)

e System start up and shut down.

e Recovery actions

e Exception conditions

* Change of user rights

B The Audit Server Administrator role shall have full access to manage all of the Audit Server and Audit
Workstation file stores and shall be granted the necessary Windows privileges.

c POL staff will not be given direct access to the Audit Workstation to safeguard other parts of the HNGX
system. Instead nominated Fujitsu Services personnel will supply audit information as requested by Post
Office.

D User Log/On events are included in the Windows event log. Users are allocated to a specific role which
enables them to access the Audit databases.

E Baskets are stored for a defined period of time. The configuration of this parameter and the audit trail
around changes to it need to inspected in order to provide assurance over the maintenance time period for
audit purposes.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 82
POL00030068
POL00030068

Appendix 5

Change Control — list of controls and their change dates.

Whilst it has not been

a < “ corroborated by review of

Al wansactions on counter : technical documentation /
. : testing it is expected this

control applied in Riposte.

In Riposte this control is of less
importance given each Branch
operated its own database.

- No There is no visibility of an
reconciliation controls in place
between local and central
databases in Riposte.

All controls of transaction
1 tb to the branch database

atomically written anc
committed.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 83
POL00030068
POL00030068

this.

The transactions
impacting the
financial state of the

Evidence
reviewed ‘
fers Details of
Scop ee ae Appropriate Rueuiessedionon eerie
a Control I Control/Procedure hes change iannroved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed (Inc. eile rales changed since HNG- Ry oitte place before change
since eae 2) x knowledge?
HNG-X
(2010)?
Digital Signature did not exist
in Riposte. However a CRC
check was applied, which
whilst Fujitsu assert that this is
. “ less complex than the digital
A Diattal Signature i vl signature check, and it is noted
1 1c pplied to Ms 9 No - - 2 Yes that this check has not been
during initiation of transfer tested in detail, if operating
to Branch Database. correctly the check would
notify Fujitsu on retrieval of
audit data from the audit store
if any amendments to data had
been made.
The changes
introduced are
assumed to be 'Win in
Mails'. As part of this
Release initiative an extra file
F is received from
obtained "
Paystation and used
and to trigger Track and
Any non-Counter originated reviewed. Trace messages (to
interface files (POLSAP OF R13 and Seen to Royal Mail). Items on I N/A-see
1 1d third party sources) must be I Yes document N/A - see change to left
: R13.05 hand are updated change to left
Transaction Accepted by various reflecting postal items
the Branch. trove) delivered to and from
approvals the branch but there
orn testing is no financial impact
steps. ‘on the branch from

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

POL00030068

POL00030068

Evidence
reviewed ‘
fers Details of
Sco} contrat I the Appropriate I Fulitsu assertion on I Change to
a P I Control I Control/Procedure hes change iiaberava d whether control has Fujitsu 1 If Yes - detail of process in
Aran Ref. description changed tee and tested? changes since HNG- Deloitte place before change
since knowledge?
HNG-X reference)
(2010)?
branch are received
in the same file as
previously - i.e. via
Transaction
Acceptance.
In the event of connectivity As each branch operated its
failure there is a transaction own database, transaction
1 te recovery process which is No . . . Yes recovery processes were of
initiated. less importance in Riposte.
Review case data for
transactions indicating
items of risk from a system
arn * N/A Data N/A Data N/A Data N/A Data
1 3 functionality perspective Procedure I Procedure [Procedure N/A Data Procedure Procedure N/A Data Procedure

(e.g. recovery transactions
are present in the case
data).

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

85
POL00030068
POL00030068

headquarters which

Evidence
reviewed ‘
fers Details of
Scop ee ae Appropriate RUE Us ate.
a Control I Control/Procedure hes change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed ne and tested? ai since HNG- Deloitte place before change
since ge knowledge?
HNG-X reference)
(2010)?
Source code was reviewed at
a point in time. The Digital
Signature did not exist in
Review source code on Riposte. However a CRC
screen at Fujitsu check was applied, which
head vartere which whilst Fujitsu assert that this is
su one the key inherent less complex than the digital
1 5 PP y No - - - Yes signature check, and it is noted
control operation around that this check has not been
digitally signing transactions tested in detail, if operating
posted from the Counter to correctly the check would
the Branch Database. notify Fujitsu on retrieval of
audit data from the audit store
if any amendments to data had
been made.
Review of existing sources
of assurance around
Change Control and
confirmation of relevant NIA (this. N/A (this N/A (this N/A (this a
1 2 coverage — plus targeted procedure) I procedure) I procedure) NIA (this procedure) procedure) NIA (this procedure)
testing to attempt to identify
changes relevant to the key
controls on Horizon.
Review of population of
balancing transactions (to
validate population of N/A Data N/A Data N/A Data N/A Data
1 4 Balancing Transactions Procedure I Procedure I Procedure NIA Data Procedure Procedure NIA Data Procedure
relative to total transaction
volumes)
Review source code on Source code was reviewed at
1 - screen at Fujitsu No - - - a point in time. Please refer to

1.1-1.5.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

86
POL00030068
POL00030068

Evidence
reviewed is
as Details of
a P I Control I Control/Procedure has change ly pals d whether control has Fujitsu i If Yes - detail of process in
Aran Ref. description changed nes and tested? snes since HNG- Deloitte place before change
since faterence) knowledge?
HNG-X
(2010)?
supports the key inherent
control operation around:
1 5a Refer to control 1.1
1 5b Refer to control 1.2
1 5c Refer to control 1.3
1 5d Refer to control 1.4
1 5e Refer to control 1.5
Any writes by Fujitsu
support staff to BRDB must
be audited. The mechanism Eis not known whether (or
2 2 for inserting a correction No - - - NIA vl 9 ‘tool
record must ensure that the pei associated too
auditing of that action existed in Riposte.
performed must be atomic.
Fujitsu support staff cannot us not Known wheihier
2 3 amend audit files for No - - - NIA alancing Transactions (or
Balancing Transactions equivalent) and associated tool
9 . existed in Riposte.
Fujitsu support staff will
have privileges of only
inserting balancing /
correcting transactions to t sianeing Trancoations (or
2 4 relevant tables in the No = - - N/A ival d iated tool
database. SSC will not have equivalent) an associated tool
any privileges to update or existed in Riposte.
delete records in the
database.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Evidence
reviewed is
ey Details of
Scop re the Appropriate Fujitsu assertion on tan a .
a Control Control/Procedure fae change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed ee and tested? seLiN since HNG- Deloitte place before change
since Shad 2) knowledge?
HNG-X
(2010)?
Review case data for
Balancing Transactions to
validate population of
Balancing Transactions
relative to total transaction N/A Data N/A Data N/A Data N/A Data
2 8 volumes (Balancing Procedure I Procedure I Procedure NIA Bata Procedurg Procedure NIA Data Procedure
transactions should be
inherently rare, and only
deployed in response to
actual loss/bugs in code.)
Review source code on
screen at Fujitsu It is not known whether
2 10 headquarters which No s . ‘ N/A Balancing Transactions (or
supports the key inherent equivalent) and associated tool
control operation around existed in Riposte.
Balancing Transactions.
The Digital Signature did not
exist in Riposte. However a
CRC check was applied, which
Validation there is a whilst Fujitsu assert that this is
Segregation of Duties less complex than the digital
between BRDB signature check, and it is noted
2 6 lini i No 5 - - No that this check has not been
Administration and Key tested in detail, if ti
Management Software tested in detail, if operating
Administration. correctly the check would
notify Fujitsu on retrieval of
audit data from the audit store
if any amendments to data had
been made.
Validate inherent system Fujitsu represented that no
2 7 control around Global No - - - Yes such equivalent role or ability
Users, that Global users

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Evidence
reviewed i
Se Details of
sco contrat [2 I Appropriate I Fulitsu assertion on I Change to,
a P I Control I Control/Procedure pees change ly acorave d whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed ae and tested? changed since HNG- Deloitte place before change
Ne reference) Rrowicdge
(2010)?
with a Role of ADMIN to remote access onto
cannot log onto to any counters existed in Riposte.
Branch other than Global
(Including Remote access
controls to branch
infrastructure (e.g.
Counter)).
Review a sample of the full
population (already
extracted by Fujitsu - 7.5
years) of balancing N/AData._I N/AData I N/A Data N/A Data
2 9 transactions to validate the Procedure I Procedure I Procedure N/A Data Procedure Procedure N/A Data Procedure

branch was aware of their
usage / no transactional
postings were made in the
balancing transaction.

Review of Transaction
Correction source code on
screen at Fujitsu
headquarters to validate
that Transaction

2 11 Corrections must be No = 7 - N/A
accepted by Branches, in
order to validate Balancing
Transactions are the only
transactions Branches
would not have to accept.

Source code reviewed at a
point in time.

Review the 9 Balancing
Transaction Templates to
2 12 validate balancing No - - - N/A
transactions would, if the
template was followed,

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 89
POL00030068
POL00030068

CTION will be owned by

Evidence
reviewed s
Ne Details of
indicates Bs : Pre HNG-X
Scop control the Appropriate Fujitsu assertion on change to ‘ ‘
a Control I Control/Procedure hee change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed nes and tested? chanaee since HNG- Deloitte place before change
since saad e) knowledge?
HNG-X
(2010)?
logically perform as
expected.
Release
notes
obtained
and The mechanisms for
Walkthrough of a reviewed. roducing TAs
Transaction Correction Release Seen to ba dat Release
2 13 being raised by SCC, and Yes 55 document 55 a a result of See Left See Left
the notification / acceptance . various introducin Client File
of it by a branch. Managemen I pejive, 9
treviews / "y-
approvals
and testing
steps.
SSC will have privileges of
only inserting balancing /
correcting transactions to It is not known whether
2 1a relevant tables in the No - . . N/A Balancing Transactions (or
database. SSC will not have equivalent) and associated tool
any privileges to update or existed in Riposte.
delete records in the
database.
All inserts will be audited in It is not known whether
2 5a the table No S . . NIA Balancing Transactions (or
BRDB_TXN_CORR_TOOL equivalent) and associated tool
_JOURNAL. existed in Riposte.
The PL/SQL package ‘
2 5b PKG_BRDB_TXN_CORRE I No - - - NIA Itis not known whether

Balancing Transactions (or

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

Oracle user
“OPS$SUPPORTTOOLUS
ER’.

equivalent) and associated tool
existed in Riposte.

5c

The PL/SQL package
PKG_BRDB_TXN_CORRE
CTION will execute with the
permissions of the
OPS$SUPPORTTOOLUSE
R account and can only
insert rows into the
transaction tables as
controlled by an entry in
BRDB_SYSTEM_PARAME
TERS. The account will not
have update or delete
privileges.

No

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

5d

Each of the transaction
tables that are allowed to
have balancing transactions
inserted on them has an
associated template file.
Each file contains a
template of an INSERT
statement for that table, in
the required format, and
listing all of the columns on
the table. Users should
create their own transaction
file based upon the relevant
template file, substituting
the values they require into
the SQL. Note that some of

No

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Evidence
reviewed
indicates

Scop control
a Control I Control/Procedure has

Ref. description changed
since
HNG-X
(2010)?

Details of
the
change
(Inc,
change
reference)

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

Fujitsu assertion on
whether control has
changed since HNG-
x

Appropriate
ly approved
and tested?

If Yes - detail of process in

Area place before change

the column values specified
in the template should not
be changed — these are
annotated with comments
as appropriate.

When execution is complete
the file is then moved to
directory
‘fapp/brdb/trans/support/brd
bx015/output' and the log
file is created in directory
‘fapp/brdb/trans/support/brd
bx015/log’. Log file will be It is not known whether
5e named using the following No . . . N/A Balancing Transactions (or
convention: equivalent) and associated tool
existed in Riposte.

<transaction_file_name>_<
CCYYMMDDHHMISS>.log

Access to these 2
2 directories is appropriately
restricted.

If the process fails (e.g.
transaction file is found to
be invalid), then the

2 1b transaction file will not be No - - - N/A
moved and an error
message will be written to
standard output.

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 92
POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

Sf

It is expected that only a
small number of skilled staff
will run this tool and that
they will have detailed
guidance as to when and
how to use the tool.

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

From the Unix command
prompt, execute the
following

./BRDBX015.sh
MyTransactionFile.sq! 2001

59

where the first parameter is
the transaction file name
and the second parameter
is the branch code where
the balancing transaction is
going to be applied. Note
that the branch code must
exist in the database, and
must not be for a closed
branch. If this is not the
case, then an error
message will be shown and
the run aborted.

No

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

The SQL statement being
executed will be logged in
the table
BRDB_TXN_CORR_JOUR
NAL. The format of the data
to be written to the column
JOURNAL_XML i:

“<?xml version="1.0"
encoding="UTF-8"?>
<Support_Insert>
<Unix_User>Unix User
Name</Unix_User>
<Oracle_User>Oracle User
Name</Oracle_User>
<Sql>SQL Statement</SqI>
</Support_Insert>”

where :

+ Unix User Name is the
Unix user name under
which the user logged in

+ Oracle User Name is
Oracle user that is carrying
out the actual insert i.e.
SUPPORTTOOLUSER

+ SQL Statement is the final
(i.e. after substituting actual
values for bind variables)
SQL that is executed to
insert the balancing
transaction

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

“TRUE”. When a missing
journal entry is
encountered, a message
should be written on
standard output along the
lines of “...records between
sequence numbers M and
N are missing...”. Once the
list of auditable messages
for a node is completed, an
Operational exception

Evidence
reviewed i
tee Details of
Scop Aiea ue Appropriate Fultteuiassection og Beaute. . "
a Control Control/Procedure hee change ly approved whether control has Fujitsu / If Yes - detail of process in
‘Area Ref. description changed ue and tested? puiniai since HNG- Deloitte place before change
since renee e) knowledge?
HNG-X
(2010)?
Any writes by the SSC to
BRDB must be audited. The
mechanism for inserting a
correction record must
a As each branch operated its
2 1c ensure that the auditing of I ny. - : - No own database, BRDB did not
that action performed must exist in Riposte.
be atomic. There also .
needs a level of obfuscation
to ensure that the audit
mechanism is robust.
As records are being written
to the audit files, the
process must optionally be
able to monitor if the set of
Journal-Sequence-Numbers
for a node in a Branch is
dense. The check should
only be performed when the
value of mandatory System-
Parameter JSN check in its current format
‘JOURNAL_SEQ_DENSE_ did not exist in Riposte.
2 5j SET_CHECK_ENABLED ’ is I No - - - No However Fujitsu assert that a

data density check was
applied.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

should be raised to indicate
the count of missing
sequence numbers.
Duplicate records are not
possible due to the primary
key on this table.

5k

Unix shell script
BRDBX015.sh which is in
the
/app/brdb/trans/support/brd
bx015 directory. It is
deliberately kept separate
from the standard
$BRDB_SH directory so
that access to the script and
the associated components
can be restricted to
authorised users. The shell
script calls the PL/SQL
package
PKG_BRDB_TXN_CORRE
CTION.

No

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

51

PL/SQL package
PKG_BRDB_TXN_CORRE
CTION, which resides
within the Branch Database
and is owned by Oracle
user
OPS$SUPPORTTOOLUSE
R. The PL/SQL package is
the component that
validates, creates and

No

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

audits the balancing
transaction.

5m

If an Oracle node/instance
failure occurs, the utility will
fail with an error code of 99.
For all other failures, it will
fail with an error code of 1
and log an operational
exception in
BRDB_OPERATIONAL_EX
CEPTIONS.

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

5n

The SQL in the transaction
file is validated as follows.
Any validation failures are
displayed to standard
output and logged to the log
file.

+ Check that the file does
not contain any carriage
returns, indicating DOS
format EOL markers

+ Check that the SQL in the
transaction file parses
according to the standard
Oracle rules (e.g. syntax,
privileges etc.). This is done
using the standard Oracle
DBMS_SQL.PARSE
procedure.

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

* Check that there is only a
single SQL statement in the
transaction file. Note that in
most cases, this will be
detected by the previous
parsing step. However, the
fact that the parsing does
this is not described in the
Oracle documentation, so it
may be changed in future
releases of Oracle.
Therefore, this validation
provides security if the
behaviour of the Oracle
procedure is changed at a
later date.

+ Check that the SQL
begins with ‘INSERT INTO
OPS$BRDB.’

+ Check that the table
named in the SQL is one of
the tables listed in the two
BRDB_TXN_CORRECTIO.
N_ALLOWED_TABLES<n>
configuration parameters.
Note that as long as the
privileges are set up
correctly (i.e.
OPS$SUPPORTTOOLUSE
R only has insert privileges
on the allowed tables), any
attempt to insert a

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

balancing transaction on a
non-allowed table will cause
the previous parsing step to
fail (because the user would
not have the necessary
privileges). Therefore, this
validation provides security
in case the privileges are
not correctly set up.

+ Check that all the columns
named in the SQL exist on
the table, and that all the
columns on the table are
named in the SQL

+ Check that the values to
be inserted are provided by
a SELECT ... FROM dual,
(SELECT ... FROM...
WHERE) i.e. not a VALUES

+ Check that if any of the
name/value pairs that are
listed in the
BRDB_TXN_CORRECTIO.
N_ENFORCED_VALUES
configuration parameter are
present on the table, they
are set to the listed value.

50

Balancing transaction audit
files (BRDBC033), unlike
the files produced by
BRDBC002, are not

No

N/A

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

compressed, but are still
encrypted.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 100
POL00030068
POL00030068

The correction tool places a
number of constraints on
the contents of the
transaction file. These are
necessary in order to
provide a defined baseline
upon which it can base its
operation. If any of the
constraints are violated then
validation will detect it and
abort the run with a
meaningful error message.
The constraints are as
follows:

+ The transaction file must
be less than 32K in size

+ The transaction file must
only contain Unix-style end
of line markers (EOL), not
DOS format end of line
markers (CR/EOL)

2 Sh + The transaction file can No : - > N/A
only contain a single SQL
statement. If more than one
balancing transaction is
required then more than
one transaction file must be
created, each of which is
executed with a separate
tun of the tool

+ If the transaction file
contains an introductory
comment, then it must be a

It is not known whether
Balancing Transactions (or
equivalent) and associated tool
existed in Riposte.

,y. */' style comment,
nota "style
comment

+ The closing “*/’ of the
introductory comment must
have a trailing space (i.e.
Sel)

* The run symbol at the end
of the SQL must be a ‘’,
not ‘/’, and must have a

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 101
POL00030068
POL00030068

trailing space (i.e. ‘.....; ‘)

+ The SQL must be a valid
SQL statement according to
the normal Oracle SQL
parsing rules (e.g. valid
syntax, objects accessible
etc.)

+ The SQL must begin with
‘INSERT INTO
OPS$BRDB.' and be of the
form ‘INSERT INTO .....
SELECT ..... FROM dual,
(SELECT ..... FROM ....
WHERE .

* The table name must be
one of the tables named in
the
BRDB_TXN_CORRECTIO.
N_ALLOWED_TABLES‘1 or
BRDB_TXN_CORRECTIO.
N_ALLOWED_TABLES2
configuration parameters

+ All of the columns that
exist on the table in
question must be explicitly
named. It is not necessary
for every listed column to be
on a separate line, but this
is advisable for readability.
+ The values to be inserted
must be provided by the
‘SELECT ... FROM dual
Each value must be on
a separate line. Trailing
comments are allowed, but
must be a “- ..... style
comment. Any such
comment must not include
any commas. All columns
must have values provided
for them (even if that value
is NULL).

+ Certain columns are

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

POL00030068
POL00030068

common between a subset
of the transaction tables. In
some cases, these columns
should be set to the same
value no matter what table
is in use. With the exception
of the bind variables listed
earlier, the value that the
SQL will try to insert is
under the control of the user
(i.e. it is determined by the
value specified in the SQL).
However, the tool can be
configured to validate that
the value specified in the
SQL matches that
expected. In order to do
this, set the
BRDB_TXN_CORRECTIO.
N_ENFORCED_VALUES
configuration parameter to
include the field and the
required value.

The parameter is populated
as a comma-delimited list of
name/value pairs, where
the name is the name of the
column name, and the
value is the value to be
enforced. As released, this
configuration parameter is
set to:
NODE_ID=99,APP_SERVE
R_NODE_NAME=999,BRA
NCH_USER=:bind_SSC_us
er,BRDB_INSTANCE_NAM
ind_instance_name
which, for example. ensures
that if a ‘node_id’ column
exists on the transaction
table, it's value is specified
as 99. If there is no
‘node_id’ on the transaction

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 103
POL00030068
POL00030068

table, then no value is
enforced for that field. Note
that if the parameter does
not exist, then no values are
enforced in the SQL.

Validate inherent system
controls around Global
Users, notably that Global
2 7 users with a Role of ADMIN I No - - - Yes
cannot log onto to any
Branch other than Global
(Including Remote access

Fujitsu represented that no
such equivalent role or ability
to remote access onto
counters existed in Riposte.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 104
POL00030068
POL00030068

Evidence
reviewed +
aie Details of
Sco ea the Appropriate Fujitsu assertion on Fre ONE
a P I Control I Control/Procedure hee change anova d whether control has Fujitsu 1 If Yes - detail of process in
Aran Ref. description changed ne and tested? cunaed since HNG- Deloitte place before change
since ae dae e) knowledge?
HNG-X
(2010)?

controls to branch
infrastructure (e.g.
Counter)).

Audit tracks that are
gathered at one data centre
are replicated to the Audit
server at the remote data
centre. This replication
adit Track Se raged by ine technical documentation /

testing it is expected this
3 Ja tracks are secured to the No - - - No control applied pre HNG-X.

Audit archive, they are Fujitsu attested that controls

moved to an export area . .
. surrounding the audit store
awaiting transfer to the have remained largely

remote campus. A second

file, containing the unchanged.
calculated seal value for the
audit track is also stored in
the export area.

Whilst it has not been
corroborated by review of

Digital Signature did not exist
in Riposte. However a CRC
check was applied, which
whilst Fujitsu assert that this is
less complex than the digital
signature check, and it is noted
No . - - Yes that this check has not been
tested in detail, if operating
correctly the check would
notify Fujitsu on retrieval of
audit data from the audit store
if any amendments to data had
been made.

Digital Signature controls
applied to Message Journal
during initiation of transfer
to Branch Database.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 105
POL00030068
POL00030068

Evidence
reviewed ‘
fers Details of
Scop er the Appropriate Fujitsu assertion on Benet s ‘2
a Control Control/Procedure hes change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed nes and tested? CU since HNG- Deloitte place before change
since mreece 2) knowledge?
HNG-X
(2010)?
Whilst it has not been
Identification of Audit Store corroborated by review of
Data Flows at a Detailed technical documentation /
Level, including security testing it is expected this
3 4 controls over data at rest, No - - - No control applied pre HNG-X.
and completeness, Fujitsu attested that controls
accuracy and validity surrounding the audit store
controls over data in transit. have remained largely
unchanged.
Review source code on
screen at Fujitsu
headquarters which Source code reviewed at a
3 5 supports the key inherent No x x Yes point in time. Digital signature
control operation around check in its current form
digitally signing transactions originated in HNG-X
posted from the Counter to
the Branch Database.
Agree that the system
changed to the extent
a Release that it is now
Identification of changes obtained implemented on
relevant to the Audit Store and different hardware. A
from review of historical R10.20 reviewed. crucial point is that
documentation, and (Refresh of Seen to . the audit data was not
validation that the Audit Eternis changed and the N/A - see
3 6 Store has remained broadly Yes Storage document digital signatures change to left N/A - see change to left
consistent over time from a infrastructu managemen created in the
controls perspective for the te) treviews / branches at the time
period relevant to the approvals that transactions were
allegations. and testing carried out were
steps. persisted and
. demonstrate that the
data in the audit trail

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

106
POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

has not been
tampered with.

Audit tracks and seals are
copied, using robocopy, to
the equivalent import area
on the remote audit server
as part of Audit server
overnight schedule. On
arrival, the sealer on the
remote audit server
recalculates the seal value
of the imported audit track
and compares it with the
original value in the
imported seal file. Assuming
they match, the file is then
written to the remote Audit
archive. If the seals do not
match, the Audit track and
seal file are moved to a
holding area and an event
is raised. Manual
investigation is necessary to
investigate the cause of the
discrepancy.

No

Whilst it has not been
corroborated by review of
technical documentation /
testing it is expected this
control applied pre HNG-X.
Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Scop
e

Area

Control
Ref.

Control/Procedure
description

Evidence
reviewed
indicates
control
has
changed
since
HNG-X
(2010)?

Details of
the
change
(Inc.
change
reference)

Appropriate
ly approved
and tested?

Fujitsu assertion on
whether control has
changed since HNG-
x

Pre HNG-X
change to
Fujitsu /
Deloitte
knowledge?

If Yes - detail of process in
place before change

There will be a single
instance of the ATS that
concurrently accepts files
for sealing/seal checking
from ATG and ATR and
notifies sealed files to the
ATD and into the Sealer
Database for subsequent
use by the Audit Track
Extractor.

The ATS shall collect files
for sealing via I-ATS-4 and
shall write a log of its
activities to the ATD via I-
ATS-2. In sealing a file the
seal shall be generated
using a secure hash
algorithm, the MDS.
algorithm has been
selected.

Once a file has had a seal
calculated the file will be
written to Centera and
details will be stored in the
Audit Track Seal Database
via I-ATS-5.

No

No

Whilst it has not been
corroborated by review of
technical documentation /
testing it is expected this
control applied pre HNG-X.
Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Evidence
reviewed bs
aS Details of
indicates 4 . Pre HNG-X
Scop Cc control she Appropriate Bee cess On change to + i
a ontrol Control/Procedure fee change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed ee and tested? sear since HNG- Deloitte place before change
since tefe’ ee 2) knowledge?
HNG-X
(2010)?
Access to the Audit Track
files for gathering shall be et i
- : Whilst it has not been
eee at NTFS tor corroborated by review of
technical documentation /
tothe cub dncetony Access testing it is expected this
3 1d limited to the application No - - - No control applied pre HNG-X.
eneratin he audit Track Fujitsu attested that controls
on the MS it Track surrounding the audit store
Gatherer. Audit track files have remained largely
should be written in write- ged.
append mode.
All users (including wet i
administrators) of the Audit cn hora by been of
Workstation ent technical documentation /
" testing it is expected this
3 te sysrers ation hd 0 factoy No - - - No control applied pre HNG-X.
conjunction with the HNG-X Fujitsu attested that controls
" surrounding the audit store
Active Directory system. have remained largely
Each user shall be uniquely unchanged.
identifiable. ged.
The following operating Whilst it has not been
system level events on the corroborated by review of
Audit Server will be audited technical documentation /
via the System testing it is expected this
3 3a Management event No - - - No control applied pre HNG-X.
monitoring facilities: Fujitsu attested that controls
+ Log on/Log off (including surrounding the audit store
unsuccessful log on have remained largely
attempts) unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Evidence
reviewed .
ey Details of
Scop vo the Appropriate Fujitsu assertion on chines is
a Control Control/Procedure hos change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed nes and tested? chased since HNG- Deloitte place before change
ae Sates e) knowledge?
(2010)?
+ File Creation, Deletion and
Modification (on selected
files)
+ Modifications to system
configuration (Inc. software
configuration and account
details)
+ System start up and shut
down
+ Recovery actions
+ Exception conditions
* Change of user rights
The remote directories from Whilst it has not been
which the Audit Server corroborated by review of
gathers Audit Tracks will be technical documentation /
configured so that only the testing it is expected this
3 1f Audit Server (or an No - - - No control applied pre HNG-X.
administrator who has been Fujitsu attested that controls
explicitly given permission) surrounding the audit store
is able to delete files in the have remained largely
directory. unchanged.
Release
All Audit Server and Audit and changed to the extent i y 4
i" and ‘ technical documentation /
Workstation and Centera R10.20 reviewed. that it is now testing it is expected this
3 1 hardware shall be held in (Refresh of . implemented on " .
g 7 Yes Seen to . No control applied pre HNG-X.
physically secure areas Eternis document different hardware. Fujitsu attested that controls
where Physical access to Storage various Operational surrounding the audit store
the systems is controlled. infrastructu managemen processes were not have remained largely
re) treviews / changed. unchanged.
approvals

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Evidence
reviewed ‘
fers Details of
ScoI er the Appropriate Fujitsu assertion on aay iris
a P I Control I Control/Procedure hes change ly abarane d whether control has Fujitsu i If Yes - detail of process in
‘Area Ref. description changed Sua and tested? aha since HNG- Deloitte place before change
since rete pe e) knowledge?
HNG-X
(2010)?
and testing
steps.
There shall be separate
roles for:
+ Audit Server (Inc. Audit
Workstation) Administration Whilst it has not been
+ Fujitsu Services Audit corroborated by review of
Staff technical documentation /
The roles shall be mutually testing it is expected this
3 th exclusive, i.e. no one No - - - No control applied pre HNG-X.
individual shall be given Fujitsu attested that controls
access rights of more than surrounding the audit store
one role. have remained largely
The Fujitsu Services Audit unchanged.
Staff role shall not have any
write, modify or delete
access to the Audit Archive.
Whilst it has not been
corroborated by review of
technical documentation /
testing it is expected this
3 1i No - - - No control applied pre HNG-X.

Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Evidence
reviewed ‘
fers Details of
indicates a ; Pre HNG-X
Scop Cc control the Appropriate Fujitsu assertion on change to % ‘
a ontrol Control/Procedure hes change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed nes and tested? i since HNG- Deloitte place before change
since mreece e) knowledge?
HNG-X
(2010)?
- Whilst it has not been
The Audit Server
na corroborated by review of
Agministrator role shall technical documentation /
ave full access to manage Pannen "
all of the Audit Server and testing it is expected this
3 3b ‘Audi . No - - - No control applied pre HNG-X.
udit Workstation file stores Fujitsu attested that controls
and shall be granted the uyitsu att ‘
surrounding the audit store
necessary Windows :
have remained largely
privileges. unchanged.
POL staff will not be given Whilst it has not been
direct access to the Audit corroborated by review of
Workstation to safeguard technical documentation /
other parts of the HNG-X testing it is expected this
3 3c system. Instead nominated I No - - - No control applied pre HNG-X.
Fujitsu Services personnel Fujitsu attested that controls
will supply audit information surrounding the audit store
as requested by Post have remained largely
Office. unchanged.
The following integrity
3 checks will be applied to the - -
data:
Whilst it has not been
corroborated by review of
1j No - - - technical documentation /
* Completeness of data — testing it is expected this
3 contiguous message No control applied pre HNG-X.
sequence numbers Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

generated. They should
detail:

Evidence
reviewed ‘
fers Details of
Scop He ie Appropriate Fullieuiaeeerion eg Eeeneete!
a Control I Control/Procedure hes change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed ne and tested? shanded since HNG- Deloitte place before change
since Freee) knowledge?
HNG-X
(2010)?
Whilst it has not been
corroborated by review of
technical documentation /
. . . . testing it is expected this
3 * Integrity of individual No control applied pre HNG-X.
9 Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.
Whilst it has not been
corroborated by review of
technical documentation /
0 For Riposte data the testing it is expected this
3 message CRC should be No control applied pre HNG-X.
checked Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.
o For HNG-X data the A
: é For Riposte CRC control
3 message signature will be Yes
verified above was in place.
Whilst it has not been
corroborated by review of
Separate Riposte and HNG- technical documentation /
X summaries of the results testing it is expected this
3 of the integrity checks are No control applied pre HNG-X.

Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

re-application of the MDS
message digest function) to

Evidence
reviewed tf
ARs Details of
indicates i 4 Pre HNG-X
Scop control the Appropriate Fujitsu assertion on change to Ff “
a Control I Control/Procedure has change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed a and tested? eared since HNG- Deloitte place before change
since rofe dai e) knowledge?
HNG-X
(2010)?
+ Summary of the message Whilst it has not been
sequence runs broken corroborated by review of
down by counter Id. This technical documentation /
should include start and end testing it is expected this
3 date/times and start and No control applied pre HNG-X.
end message sequence Fujitsu attested that controls
numbers. Any gaps in the surrounding the audit store
message sequence runs have remained largely
must be highlighted. unchanged.
Whilst it has not been
corroborated by review of
technical documentation /
+ Summary of messages testing it is expected this
3 that have failed individual No control applied pre HNG-X.
message integrity checks Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.
Any failure of the data Whilst it has nat been
‘ ; corroborated by review of
integrity checks will not .
technical documentation /
prevent subsequent rn .
testing it is expected this
execution of the query. The ;,
3 " " - No control applied pre HNG-X.
audit workstation user will Fujitsu attested that I
be wamed of the failure via SI ro craig the " iene s
tu unail judi
the server process status :
. . . have remained largely
notification mechanism. unchanged.
As Audit tracks are Whilst it has not been
retrieved from the archive, corroborated by review of
3 1k they are seal checked (by No - - - No technical documentation /

testing it is expected this
control applied pre HNG-X.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

allocated to a specific role
which enables them to
access the Audit databases.

Evidence
reviewed if
see Details of
Scop ae ane Appropriate Rule iiceee Coup Canes:
a Control I Control/Procedure Hae change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed ee and tested? oes since HNG- Deloitte place before change
since refe ee 2) knowledge?
HNG-X
(2010)?
ensure that the source data Fujitsu attested that controls
has not been tampered with surrounding the audit store
while it was stored in the have remained largely
archive. unchanged.
Only authorised users may
access the Audit
workstation applications.
Authorised users are het H
required to log on to the wnist iihas 70 t peer of
workstation using two factor technical docunentation /
authentication and the testing it is expected this
3 11 Mana: ‘ament 2 stem. An No - - - No control applied pre HNG-X.
Aative Director. rour Fujitsu attested that controls
named AUDIT \ SER will surrounding the audit store
be created with the rights have remained largely
required to utilise the ged.
workstation applications.
Authorised users will be
added to this group.
Whilst it has not been
corroborated by review of
pser olor events are technical documentation /
event log. Users are testing it is expected this
3 3d 9. No - - - No control applied pre HNG-X.

Fujitsu attested that controls
surrounding the audit store
have remained largely
unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Evidence
reviewed ‘
fers Details of
Scop er the Appropriate Fujitsu assertion on opiates
a Control I Control/Procedure hes change ly approved whether control has Fujitsu / If Yes - detail of process in
Aran Ref. description changed sue and tested? ohanned since HNG- Deloitte place before change
since nge knowledge?
HNG-X reference)
(2010)?
A : Whilst it has not been
All retrievals of audit data
corroborated by review of
ie performed using the d technical documentation /
all such user actions are testing It is expected this
3 1m themselves audited. It is not No - - - No control applied pre HNG-X.
ossible for users to access Fujitsu attested that controls
re archive by any other surrounding the audit store
means y any have remained largely
° unchanged.
Whilst it has not been
. i corroborated by review of
A weapeatons ane in technical documentation /
testing it is expected this
secure areas. Onl ,
: in authorised users are given Noi . 5 . No control applied pre Nex
; ujitsu attested that controls
physical access to these surrounding the audit store
. have remained largely
unchanged.
All auditable messages
logged during a calendar
day will be made available oo
3 to the audit system in Whilst it has not been
uncompressed form as a corroborated by review of
part of Branch Database technical documentation /
batch overnight processing. testing it is expected this
10 - ~ No - - - No control applied pre HNG-X.
The message journal is Fujitsu attested that controls
implemented in the form of surrounding the audit store
a single Oracle table named have remained largely
3 BRDB_RX_MESSAGE_JO unchanged.
URNAL. Uniqueness is
controlled at the level of a
Branch counter using a

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

dense sequence known as
the JournaltSequence-
Number

Baskets are stored for a
defined period of time. The
configuration of this
parameter and the audit trail

Whilst it has not been
corroborated by review of
technical documentation /
testing it is expected this

3 3e around changes to it need No control applied pre HNG-X.
to inspected in order to Fujitsu attested that controls
provide assurance over the surrounding the audit store

maintenance time period for

have remained largely
audit purposes.

unchanged.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 117
Appendix 6

Case Data Analytics Overview

POL00030068

POL00030068

The below analytical procedures were performed on ‘Case Data’. 'Case data’ refers to transactional data provided by POL, which had been extracted by Fujitsu from the
audit store, and relates specifically to the branches involved in the ‘allegations’. The data extracted is in 1 month periodsrelating specifically to the period of the allegations
for each specific branch.

3 Relevant Analytics
Scope Area I POL Instruction Proposal Analytic
Pe B Procedures We
1 POL consider instructing a suitably qualified party to carry I POL will instruct Deloitte to determine I Review case data for 1, 2, 3,4, 4a,
out an analysis of the whether such an analysis/review is transactions indicating 5, 6, 6a, 7
relevant transaction logs for branches within the Scheme feasible, and if it is, to provide an items of risk from a system
to confirm, indication of the cost, time and functionality perspective
insofar as possible, whether any bugs in the Horizon process that would be incurred. (e.g. recovery transactions
system are revealed are present in the case
by the dataset which caused discrepancies in the data).
accounting position for any of those branches.
Tab Index Description
Analytic 1 Identify gaps in audit log sequencing
Analytic 2 Identify gaps in transaction times during working hours
Analytic 3 Identify two user logon events in sequence without the expected logoff event in between; an indicator of a connectivity issue
Analytic 4 Identify recovery transactions
Analytic 4a Identify recovery transactions that indicate a connectivity issue
Analytic 5 Count of zero valued transactions summarised by product
Identify branches which are out of balance based on transactional data available (should not be possible based on inherent system
Analytic 6 controls).

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Tab Index

Description

Analytic 6 Group and Session
id

Identify branches which are out of balance based on transactional data available (should not be possible based on inherent system
controls).

Analytic 7

Identify transactions posted by non-branch users without subsequent branch acknowledgement.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

119
Appendix 6a

Case Data Summary Findings

POL00030068

POL00030068

POL investigators have been handed this information for further investigation. In short, whilst various characteristics were noted that could beindicative of risk within the
system, further manual investigation will be required by POL’s investigators to conclude. This has been discussed with POL management during the course of our work.

Procedure

Comments

Summary

Impact

Analytic 1: Identify gaps in audit
log sequencing

In order to identify gaps in audit log
sequencing, the transactions data was
sorted into ascending order on session id
and txn id, and any gaps in the sequence at
both the session and txn level were
identified.

There were 212,372 (1.60%) gaps in audit
log sequencing from a total of 13,666,238
transactions.

Further testing is ongoing in relation to this
analytic.

Per our understanding of the controls
tested it should not be possible for
there to be gaps in audit log
sequencing.

Further work is ongoing in relation to
this analytic to identify the cause.

Analytic 2: Identify gaps in
transaction times during working
hours

In order to identify gaps in transaction times
during working hours, the transaction data
was ordered by branch, date and time.
Gaps that were significantly higher than the
average gaps in transaction times were
identified, only transactions with the same
date were compared. Transactions with a
stock unit of ATM, LOT, OOH or BUR were
excluded.

There were 49,320 (0.36%) gaps in
transaction times that were more than 20
times higher than the average transaction
gap of all stores with the same number of
positions from a total of 13,666,238
transactions

In less busy branches these could be
legitimate gaps.

Extensive further manual analysis
would be required to positively
conclude these findings are indicative
of issues..

Analytic 3 : Identify two user logon
events in sequence without the

expected logoff event in between,
an indicator of a connectivity issue

In order to identify two user logon events in
sequence without the expected logoff event
in between, an indicator of a connectivity
issue the events data was ordered by date
and time and logon events (event code 12
or “EPOSSTransaction.Ti of Logon
Completed”) not followed directly by a log
off event (event code 13, 27 and 102 or
“EPOSSTransaction.Ti of Logoff
Completed”) were identified.

There were a total of 1,064 (0.93%) logon
events in sequence without the expected
logoff between; from a total of 114,491 log
on/off events.

This is a low volume and could be
indicative of power / communications
fluctuation / failure. Extensive further
manual analysis would be required to
positively conclude these findings are
indicative of issues..

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Procedure

Comments

Summary

Impact

Analytic 4: Identify recovery
transactions

In order to identify recovery transactions the
eventDetailMsg column of the Events data
was searched for words like 'successfully
recovered’ but not like 'No recovery
required.’

There were 30 (0.00057%) recovery
transactions identified from a total of
5,289,369 transactions in the events data

This is a low volume and likely to be
indicative of expected system
functionality. Specific controls have
been tested over recovery
transactions, during our production of
this report.

Where legal counsel is aware that
part of the case may focus upon hard
reset of branch counter equipment
(e.g. by physical removal of network
connectivity), these transaction types
may support that this activity was
occurring.

Analytic 4a: Identify recovery
transactions that indicate a
connectivity issue

In order to identify connectivity issues of
none recovery transactions the
eventDetailMsg column of the Events data
was searched for words like ‘could not
recover’ and 'No recovery required.’

There were 258 ‘no recovery’ transactions
that indicate a connectivity issue from a total
of 5,289,369 transactions in the events data

This is a low volume and likely to be
indicative of expected system
functionality. Specific controls have
been tested over recovery
transactions.

Analytic 5: Identify zero valued
transactions

In order to Identify zero valued transactions,
all transactions with a sale value of 0, a
quantity not equal to zero and a mode of
either 1 or SC for ‘Serve Customer’ were
identified and a summary per item is
produced.

There were a total 1,344,773 (9.84%) zero
valued transactions with a quantity not equal
to zero from a total of 13,366,238. These
transactions were against a total of 432
products

The impact of a zero value
transaction is not likely to affect
branch accounts, unless a value
should have been present. Extensive
further manual analysis would be
required to positively conclude these
findings are indicative of issues.

Analytic 6: Identify branches which
are out of balance based on
transactional data available
(should not be possible based on
inherent system controls).

In order to identify branches which were out
of balance based on transactional data
available (which should not be possible
based on inherent system controls), the
transactions data was summarised by
branch (Group) and session id and those
session ids that do not sum to zero were
identified, and are ordered by balance
descending. The data used was filtered for
transaction mode ‘SC’ only.

There were 48 (0.0015%) session ids from a
total of 3,124,140 which were out of balance
based on the transactional data received.
Those 48 session ids out of balance related
to 18 distinct branches from 118 in total. The
session ids out of balance were all pre
system migration to HNG-x in 2010.

Per our understanding of the controls
tested it should not be possible for a
branch to be out of balance.

Further work is ongoing in relation to
this analytic to identify the cause.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

Procedure Comments Summary Impact
Analytic 7: Identify transactions In order to identify transactions posted by There were 19 (3.31%) users from a total of I The specific transactions are listed
posted by non-branch users non-branch users without subsequent 574 users classified as non-branch users below in ‘Analytic 7 detail.’ Extensive
without subsequent branch branch acknowledgement, any users whose I who posted transactions further manual analysis on the
acknowledgement. id did not take the usual format (6 digits - 1s" population of transactions identified
letter of forename followed by 1%' and 2"4 would be required to draw
letters of surname and numeric 001) were meaningful conclusions, as well as a
identified. A user id of *PS98 are Paystation further understanding of the owners
transactions and were ignored here, a user of these 19 accounts.
id beginning with a * are identified as global
users
Analytic 7 detail.
Branch No I User Debit Value No of rows
394329 I *BMAO1 233089.08 170
198424 I *JHOOS 214684.08 39
394329 I *GDRO1 204135.62 184
197941 I *NSTO1 95703.47 130
207320 I *DWAO1 91762.85 12
158644 I *JBAO3 83825.54 314
219420 I *RLYO1 74781.24 16
363642 I *DJO03 63600.32 66
260604 I *TAKO1 51489.96 62
229555 I *DCU02 45022.32 7
243205 I *PJOO7 39660 12
202604 I *STU03 29267.14 4
6458 I *DSI02 25425.82 5
266418 I *MWE01 24724.77 6
363642 I *LSHO1 23798.63 15
362217 I *JCA01 13485.55 2
282422 I *TAKO1 8382 2
225329 I *BMAO1 7500.18 4
238420 I *RCRO1 5923.36 4
198424 I *TAKO1 1080 6
243205 I *GMU01 1040 10
197941 I *PJOO2 15.07 10

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Appendix 7

Clarification questions

The below clarification questions and associated answers attempt to provide clarity on queries arising from the
content of this report.

Key questions

1. From the perspective of the Group Action, we are trying to understand:

a. Whether Fujitsu can edit or delete transactions recorded by branches in a way that could impact on
the branch's overall accounting position?

Yes — Transactions can be deleted at database layer (BRDB) by DBA’s.

Before audit store access locked down, transactions could be deleted at audit store level (and still
can be once a transaction has been in the audit store for 7 years), but this would not affect a
branches overall accounting position unless there was a query that resulted in the extraction of
data. If data was extracted from the audit store and records had been tampered with or removed,
this would be flagged upon extraction by the process to report on data integrity, so it would be
transparent that the data has been edited. It should be noted the warning that the data integrity
check failed can be ignored by the operator.

b. How difficult it would be to do (a)?

Firstly, access to do (a) is restricted to. appropriate personnel by Fujitsu. However, for users who
have DBA access, on the BRDB, this could be done.

However the window of opportunity to do (a) in the BRDB is finite, if the edit/delete of the
transaction was not done before the data had been ‘collected’ by the Audit Server (typically every
15 minutes), then this would not affect the record of data in the Audit Store. The audit store is the
location where data is retrieved from in the event of a dispute.

Any amendment to-transactions after the BRDB, whilst potentially impacting the audit store
record, would not impact branch accounting, only the master record in the Audit store. Further, if
the edit/delete of the transaction was performed prior to the data being ‘collected’ by the Audit
Server, whilst it would be reflected in the audit store data, upon retrieval of branch data from the
audit store, if a transaction had been removed, the ‘data density’ check would highlight a missing
transaction. If upon retrieval of branch data from the audit store a transaction had been amended,
the digital signature check would highlight an issue with the integrity of the data.

c. Whether (a) is possible without leaving a "footprint" that is visible to either (i) postmaster or (ii) Post
Office / Fu.

i) Amendment / deletion of transactions would not be overtly notified to the Postmaster, however if
the amendment / deletion happened at the BRDB, this would affect the declarations made by

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 123
POL00030068
POL00030068

Postmasters (encouraged to do so on a daily basis) and also declarations are required to be done
in order to rollover into the next accounting period (typically 4-5 weeks). The monthly Branch
Trading Statement which a Postmaster must sign off on in order to roll into the next accounting
period would also be impacted by a change of this nature which would capture summarised totals
of transactional data, which could be reconciled by branch back to the granular transaction log
reports. All of the mentioned reports are mechanisms by which the Postmaster would be made
aware of any such changes.

Amendment / deletion of data in the audit server / store has no effect on branch accounting and
would only impact a branch (Postmaster be made aware) if data was retrieved from the audit
store. Further if upon retrieval of branch data from the audit store a transaction had been
removed, the ‘data density’ check would highlight a missing transaction. If upon retrieval of
branch data from the audit store a transaction had been amended, the digital signature check
would highlight an issue with the integrity of the data.

ii) Branch Database privileged Oracle user operations are audited by Oracle to the SYS.AUD$
table. This table is extracted into audit files every night by a batch job into a directory from which
the audit archiving system extracts the data. The audit data is currently stored for 10 years. This
table can be extracted from the Audit Store by Fujitsu.

Any amendment / deletion of data in the audit store would be visible to Fujitsu only when data is
retrieved. Upon retrieval of branch data from the audit store a transaction had been removed, the
‘data density’ check would highlight.a missing transaction. If upon retrieval of branch data from
the audit store a transaction had been amended, the digital signature check would highlight an
issue with the integrity of the data.

As per the exception noted on page 3, there is a small theoretical risk of a user ‘spoofing’ the
digital signature, arising from a failure in SOD controls relating to the digital signature, thus there
is the theoreticalrisk transactions could be amended with no footprint left. However to do (a)
without leaving a footprint in the. system would be a complex procedure, new ‘keys’ would need to
be generated for all messages in the session, which is a time consuming process, as such it is
likely a ‘programme’ would have to be written and performed in order to perform this.

d. Whether (a) has ever actually happened?

Audit logs of super-user access in the BRDB exist. Fujitsu have confirmed where amendment /
deletion of live database tables would be identifiable from this log.

Our work has not included obtaining logs for the relevant time period and performing analytics over
them to identify any instances where this has happened, and investigate if so. Such procedures
should be theoretically possible however.

2. The key points we need to understand are whether (i) Balancing Transactions and (ii) changes by Super-
users can effect branch accounts from the perspective of the postmaster, in particular:

a. Are these changes visible to the postmaster?

There is no system setting which would flag to the Postmaster when a change had been made by
a super user.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 124
POL00030068
POL00030068

The Transaction Log report gives the Postmaster a way of identifying Balancing Transactions, as
transactions that have been inserted can be identified as the associated user would be displayed
as “SUPPORTTOOLUSER99" (i.e. not a member of staff at the Branch)

b. Can these generate a shortfall in the branch accounts?

If used in a certain way, BTs or a super-user change could theoretically cause a shortfall in
branch accounts.

c. How would this impact on the making of daily cash declarations?

Daily cash declarations are a real time report generated by a branch (counter) which queries the
BRDB live database; therefore any balancing transaction inserted into the BRDB or change of
transactional BRDB data by a super user, would automatically impact the daily cash rec report
(impact dependent on nature of BT / change).

d. How would this impact on "monthly" branch trading balances?

The monthly Branch Trading Statement, which a Postmaster must sign. off on in order to roll into
the next accounting period would also be impacted by a change of this nature.

The monthly branch trading statement, reports on data live from the BRDB, and aggregated data
from the BRDB, therefore any balancing transaction inserted into the BRDB or change of
transactional BRDB data by a super user, would automatically impact the daily cash rec report
(impact dependent on nature of BT /. change).

Specific questions on the Interim Report

1. Diagram on Page 8:

a. Transfer of data from BAL to BRDB - Does this happen daily? If so when during the day? Is it
overnight?
BAL is a compilation of Servers used for the transfer of data from Counter to BRDB, this
processing is done in a near real time manner. As such tansfer of data from BAL to BRDB is
instantaneous once a basket is complete.
i. Given the daily polling of data from which source does the Counter pull data when the

postmaster conducts an end of day cash declaration? (The above suggests the data must
be pulled from BAL as all other sources would not be up to date in real time?)

BRDB. A request from counter is raised (via the BAL) to BRDB using pre-defined SQL
scripts at the BRDB layer to generate this cash declaration report/process. When a cash
declaration is raised by a branch a message transfer is sent via the BAL which
communicates with the BRDB to query the live transaction tables using a pre-defined
SQL script

b. Transaction corrections generated by POL: Where does a Transaction Correction fit on this
diagram?

Transaction Corrections are inserted directly into BRDB by a defined data transfer process.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 125
POL00030068
POL00030068

c. The diagram suggests that data is held in the Audit Server for 5 days but para (iii)(b) on page 14
suggests that data is held in the BRDB for 5 days? Are both statements correct or is one a typo?

Most data is held in BRDB for approximately 5 days, (depending on specific type of data). Certain
values are also aggregated and the aggregated data held for up to 60 days to allow for real time
reports, and the monthly branch trading statement, ran by the counter to include this data if
required.

Most data is held on the Audit Server for approximately 5 days, (depending on specific type of
data).

2. Page 10:
a. Point F— says POL finance staff can "input / amend" a transaction — We know they can input a
transaction but can they "amend" a transaction? If so, how?

This refers to a Transaction Correction (TC). A TC could, depending on the detail of the TC, have
the effect of ‘amending’ an existing transaction. A TC must be accepted at the counter before
impacting branch accounting.

3. Page 19:

a. What is meant by the phrase "predominantly limited to HNG-X due to previous Audit Store
retention limitations"?
Wording removed to avoid ambiguity.

b. What is meant by the phrase: "Any writes by Fujitsu Support to BRDB must be audited"?
Branch Database privileged Oracle user operations (Fujitsu Support) are audited by Oracle to the
SYS.AUDS table,

c. At point “iv’ — what is the difference between “Correcting” and “updating”? We did not think FJ
could “correct”, only “insert”? [This point also comes up at Page 13, 1st column of table].

ABT could, depending on the detail of the BT, have the effect of ‘amending’ an existing
transaction. A BT can only insert, and not update or delete existing records. The possibility of a
superuser amending existing transactions does exist as highlighted above in question 1

4. BTs in relation to the SU issue:
a. Please can you explain the situation with using Balancing Transactions to solve the SU problem?
The usage of the BT tool for this purpose is not a ‘true’ BT as no data (transactions) is/are
injected into the database. However the same tool which allows a BT to be posted, is used to
perform this procedure.
The procedure is performed to update the transaction recovery table of a Stock Unit (SU) in the

rare instance when the recovery flag for a transaction gets into an inconsistent state, and needs
to be manually updated, to show that the transaction has been recovered by the branch.

This procedure is managed by an MSC (change request) process prior to the updates taking
place.

b. Other than the one use of a BT to solve a bug, are you sure that all other uses of BTs relate to the
SU issue?

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 126
POL00030068
POL00030068

For the period data was available for and therefore reviewed (12/03/2010 — 28/05/2016).

All other uses of the tool in this period updated the specific table
BRDB_RX_RECOVERY_TRANSACTIONS' (SU issue) and did not contain INSERT statements.

c. Will the branch be aware of the SU issue?

The Branch would not be notified of the tool being used for this purpose, however this process is
generally initiated by the branch when the branch is struggling to perform this task manually using
the counter.

d. Can the SU issue ever cause a discrepancy in the branch accounts?

The usage of the tool to update the transaction recovery table of an SU does not insert / remove /
amend transactions.

5. BT audit files:

a. What do the "audit files" in relation to BTs track and show?

All usages of the tool used for inserting BTs. The logs show the actual SQL commands used to
insert the BT, and contain all fields updated and their respective values (quantities and product
ids). There are also user timestamps which identify the user who inserted the BT.

b. How far back do the audit files go?

The audit files commence at 12/03/2010

6. FJ access to conduct a BT
a. How many staff at FJ have permission to inject a BT?

31 (of these 31, 26 also have direct DBA access to the live BRDB database and therefore could
theoretically make changes to transaction tables as described in (10b) below.)

b. What is the process followed by FJ for using a BT?
The process followed by FJ is:
An error is recognised by the branch and they raise a request/call to SSC.

A TFS/Peak Incident service desk tool is then used to record incidents raised by Post masters
(TFS has subsequently been retired and incidents all 1st and 2nd line branch incidents are now
recorded in Peak Incident Management).

This issue will then be investigated by SSC. If a BT is required then this is passed to Fujitsu for
further work and solution management.

If a BT is required this is recorded on the Peak Incident ticket.

Approvals are then sought by senior members of POL before this is executed which is captured
within the ticket request.

c. What operational controls are there around the use of BTs at FU?
A branch would initiate the process described in (b) above for a BT to be executed.
Senior approvals are required by POL before this process can be completed.

Use of BT tool is audited and any transactions inserted would be recognised by branch through

transactional log reports.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 127
POL00030068
POL00030068

The BT tool is restricted to a limited number of Fujitsu personnel who are independent to the
Peak incident process.

d. Whatis the process followed at POL for implanting / authorising a BT (if this is out of scope, please
say and we will pick up direct with POL)?

Out of scope. Agreed POL will answer.

7. BT visibility
a. Would a BT shows in the branch accounts from a postmaster's perspective?

i. What report would a postmaster need to run?

A Postmaster is not notified if a Balancing Transaction is inserted into the live transaction
tables.

There are various real time reports a Postmaster can run which would be affected by
something of this nature (notably the Transaction Log report, which is able to display
transactions that have been posted over the last 60 days.). Transactions in this report
would be identifiable by the user code “SUPPORTTOOLUSER99" (i.e. not a member of
staff at the Branch).

Further any Balancing Transaction impacting a branch's transactional data would impact
declarations made by Postmasters (encouraged to do so on a daily basis) and also
declarations are required to be done in order to rollover into the next accounting period
(typically 4-5 weeks). The monthly Branch Trading Statement which a Postmaster must
sign off on,in order to roll into the next accounting period would also be impacted by a
change of this nature which would capture summarised totals of transactional data, which
could be reconciled by branch back to the granular transaction log reports. All of the
mentioned reports are mechanisms by which the Postmaster would be made aware of a
Balancing Transaction. The reporting functionality of counters was described by Fujitsu
and this understanding was corroborated by review of technical documentation, no
walkthroughs were performed of this process.

ii. How would it be identifiable from other transactions?
Transactions in the Transaction Log report would be identifiable by the user code
“SUPPORTTOOLUSERSQ9’ (i.e. not a member of staff at the Branch).
b. Cana BT by back-dated (i.e. injected into the branch accounts at an historic date)?

Whether the Balancing Transaction would be successful or not is not known by Fujitsu as it has
never been attempted.

POL and Deloitte are awaiting Fujitsu to provide an estimated cost / time for this walkthrough to
be performed (Cost and time required made up primarily from creating a suitably isolated test
environment in order to perform the walkthrough in).

Fujitsu have stated ‘the answer has to be yes in the sense that if the fix involves inserting a record
with an associated date then the date would be chosen as part of the design tofix the problem.
The choice of date would have to be made carefully as transactions will only be harvested from
the Branch Database for processing by back-end systems if it meets the correct selection criteria
— hence the need to test any proposed fix.. The issue is simply that we would have to invent a

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 128
POL00030068
POL00030068

scenario from scratch and then check that out. I don’t see that such an exercise would add value
given that we have already carried out a walkthrough of the tool.’

c. Were BTs (or something similar) possible in Old Horizon? [See attached note from FJ]

Fujitsu have advised they have attempted to make contact to retired staff on the matter but are
unable to provide a definitive answer on processes in place pre HNG-X relating to Balancing
Transactions, only that the transaction correction tool used to inject BTs that has been used since
HNG-X implementation in 2010, was not used.

i. What controls were there around these?

Due to the response on the previous question from Fujitsu we cannot comment on these
controls

ii. Were they logged?

Due to the response on the previous question from Fujitsu we cannot comment on these
controls.

8. Super-users

a. Can Super-users only access the BRDB or can they access other servers (i.e. audit server, audit
store)?

Super-users could theoretically access data at any other point in the flow of data from Counter—
Audit Store. This flow of data has been mapped by Deloitte and access rights at each point
tested.

i. In Deloitte's Board Briefing Paper dated 4 June 2014, on page 2, it notes: "It is possible for

Fujitsu staff with suitably authorised privileged access to delete data from the Audit Store"
Has this issues been addressed / will it be addressed?

Yes, once data is in the audit store it cannot be amended / deleted for 7 years, as
described in (1a) above.

ii. Would deleting data from the audit store have any effect on branch accounting?

No, unless data was retrieved from the audit store which would only happen in the case
of a query being raised / investigation. It would only impact usage of this hétorical data
for any purposes when subsequently extracted from the audit store.

All postmaster reporting functionality is generated from the live BRDB transactional tables
(and tables which aggregate this data and store it for up to 60 days). Any amendment /
deletion of data in the audit store therefore has no effect on branch accounting and would
only impact a branch if data was retrieved from the audit store. Further if upon retrieval of
branch data from the audit store a transaction had been removed, the ‘data density’
check would highlight a missing transaction. If upon retrieval of branch data from the
audit store a transaction had been amended, the digital signature check would highlight
an issue with the integrity of the data. As per the exception nated on page 3, there is a
small theoretical risk of a user ‘spoofing’ the digital signature, arising from a failure in
SOD controls relating to the digital signature.

b. Ifa Super-user edits data in the BRDB, how might this affect the branch accounts from he
perspective of the postmaster?

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 129
POL00030068
POL00030068

i. Where does the edited data flow to?

The edited data would remain in the BRDB transactional tables assuming that it was
entered in the correct logic.

The data in this table would then follow the normal data flow processes (i.e. BRDB >
audit server > audit store, BRDB > POLSAP, BRDB > Counter reporting etc.) if this
transaction had not already been picked up by the mechanisms which transfer
transactional tables downstream (e.g. Audit track gatherer which runs every 15 minutes.)

ji. Could the edited data cause a loss in a branch's accounts?

Yes, from a branch reporting perspective any change to data in the BRDB would affect
the real time reports ran on the counter, which are used for branch accounting,
specifically the monthly Branch Trading Statementwhich a Postmaster must sign off on in
order to roll into the next accounting period.

However if a branches data was retrieved from the audit store, any amendment to
transactional data would cause the ‘digital signature’ integrity check to fail, and Fujitsu
would be notified of this failure upon retrieval of the audit data. As per the exception
noted on page 3, there is a small theoretical risk of a user ‘spoofing’ the digital signature,
arising from a failure in SOD controls relating to the digital signature.

iii. Will the edited data be visible to the postmaster?
A Postmaster is not specifically notified if a change had been made by a ‘super-user’

Any changes to transactional data would impact declarations made by Postmasters
(encouraged to do so on a daily basis) and also declarations are required to be done in
order to rollover into the next accounting period (typically 4-5 weeks). The monthly
Branch Trading Statement which a Postmaster must sign off on in order to roll into the
next accounting period would also be impacted by a change of this nature which would
capture summarised totals. of transactional data, which could be reconciled by branch
back to the granular transaction log reports. All of the mentioned reports are mechanisms
by which the Postmaster would be made aware of any such changes.

iv. Would the edited data be visible to POL / FJ?

Yes, as the data amendments would impact transactional records in the BRDB, and
subsequently this data would flow through to the audit store. POL / FJ would be able to
identify this through review of audit logs as described in 1C above.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 130
POL00030068
POL00030068

Appendix 8

Non Counter Initiated Transactions — Understanding of Data Flow and Related Risks and Control

sux. gv.
a
veo sun. gv

nay

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 134
Reconci

ion Controls

POL00030068

POL00030068

Note: Errors sources are Completeness (C), Accuracy (A) and Validity (V).

# Error Sources Summarise Control Wording
Addressed

1 C&ARV External transactions sent via PODG such that the External Transaction files that are currently sent from Ingenico
(PAYSTATION) and Wincor Nixdorf (POST&GO) are routed to the Branch Database as well as sending the data to the Credence
system. There is a reconciliation between Credence & BRDB.

2 A&V For each Transaction Acknowledgement generated, a new transaction pair is created for POLSAP. The transacton delivered to
POLSAP will have a Reference number that matches the reference number used in the Transaction Acknowledgement record
generation. This allows POLSAP to match with the Transaction Acknowledgement once the TA has been accepted by the
Postmaster.

30 C&ARV AP Client File Reconciliation
APSS2222.ksh will reconcile the data in the files that it delivered to a Client with the data in the files that Credence delivered to a
Client.

341 C&ARV TPS to AP Reconciliation

TPSC227 writes APS transaction data to a formatted file that will later be used by the APS host program APSC2051 to reconcile
data from TPS with that from APS.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT

Interface Controls

POL00030068
POL00030068

#

Error Sources
Addressed

Summarise Control Wording

A&V

If any one transaction fails validation / load, then the whole sub file (all rows for the same branch / trading date) will be rejected.

C&ARV

Processing of the files will commence when the last file is received. The last file is identified by ‘Y' in the Last File Indcator field
in the File Trailer Record.

C&ARV

Generic file receipt process (BRDBCO038) will handle receipt of the different files that arrive at the external interface andwill
perform registry of the files in the file audit trail and will move the files to the input directory and the audit directory.

C&ARV

Any transactions that would have been incorporated in the Transaction Acknowledgement feed that are delivered in the
Paystation / Post&Go files will be automatically included in the Branch Accounts without being presented to the Postmaster for
acceptance. Transaction Acknowledgements for this transaction detail will be created at the same time for later acceptance by
the Branches.

It also takes transactions that have previously been held aside due to thelack of Transaction Acknowledgement / Stock Unit
mapping or due to the SU being locked at the time of original posting and retries posting of these transactions.

An automated Daemon process operates that starts to look for the arrival of the Externd Transaction files at hh:mm O'clock but
gives-up and alerts if not arrived by nnn minutes later. (This allows Horizon transactions to get processed if External Transaction
files are late). This process performs the necessary copy / rename and creates links to audit directory. Hh:mm will initially be
18:00 and nnn minutes will be 120 minutes.

C&A

FILE PROCESSOR

+ If the file pre-processor retumed with an error in the range of 102-105, then the table BRDB_FILE_ERRORS will have a row
added to it with an error value equal to the return value of the file pre-processor and the associated row in
BRDB_FILE_AUDIT_TRAILS will be updated to status ‘X’. No other error values are expected and, if they occur, the process will
abend and alert the Operations staff.

+ If the file pre-processor was successful, then the file validation and database upload process will be called and exit status
checked.

C&A

FILE PRE-PROCESSOR
The pre-processor performs a number of operations including splitting the files accordingto parameters. In addition it validates:
+ The first record is a header record

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

# Error Sources Summarise Control Wording
Addressed

+ The last record is a trailer record
+ The number of sub-files in the file equals the count in the trailer record
+ The total value of sub-files (in the trailer) equals zero
If any of these validations fails, then the whole file will be rejected, a row will be inserted into BRDB_FILE_ERRORS and no
further processing is performed on the current file.
Page 60 HAS TABLE OF THESE 8!

10 C&A DATA LOADING & VALIDATION
This function is initiated by the File Processor. The 8 files generated in the previous process will be attached to Oracle as
external tables and the data therein will be validated and loaded into staging tables. It will validate data items such as poduct,
mode, branch etc. A log will be held for each file processed and each sub-file processed that will indicate the filename, status
(valid/not-valid), and history of the file processing. A separate error table will record each error type and error code encountered.

1 C&A Ensure that the count and value of transactions equals the number recorded in the sub-file trailer and that the value of
transactions nets to zero otherwise record in BRDB_FILE_ERRORS with record type = STZ, Error Code = 108, Description =
“Sub-File Trailer totals incorrect”

12 C&A Load the Transaction Data and Validate
At this point, the file structure has been validated and we now need to copy the data from the external files into the Branch
Database in preparation for Transaction Posting later-on in the schedule. During the copy process the data will be enriched with
missing attributes and validated against reference data held in the Branch Database.
During processing of each record, transaction-level validations will be performed and any errors found will be written to
BRDB_FILE_ERRORS with record type = OXZ and FAD Code and Business date = Sub-File details. The error code depicts the
type of error found.

15b C&A If there is an entry in the error file with error_code = 101, then the file is a duplicate. The previous file that was delivered of the
same name might have had errors recorded against it and, so as not to confuse matters, only the 101 error is returned in the
error file.

16 c Completeness Check

A process will check the table BRDB_SUB_FILE_AUDIT to test whether data has been received from all external sources for the

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

# Error Sources Summarise Control Wording
Addressed

current date. If it has not, then an alert will be raised that lists all External Transaction sources that have not provideddata so
that relevant stakeholders can be notified.

17 c External transaction processing.
Immediately following the cessation of the Transaction Loading Daemon, the transaction posting process will be invoked using
TWS Schedule BRDB_TXN_POST.

18 Cc The final stage of External Transaction Posting is to copy the transactions for the current sub-file from the Staging/Holding tables
into the Branch Database Receipt tables ready for onward delivery to the TPS and the APS subsystems.

19 A&V A validation process will be followed that validates the content and format of data and records errors against bad rows.

20 C&A Transfer of data to TPS & APS...
Reconciliation totals are generated to ensure that the data that is sent to TPS and APS matches with the totals of data withn
BRDB.

21 A&V Rejected and Held-up Transactions Report
A report is produced which highlights any transactions that have been loaded into BRDB but withheld from processing due to
lack of Transaction Acknowledgement mapping or due to the associated stock units being locked The report will also list those
Sub-Files that have been rejected and have not yet been re-delivered error-free. This report will execute in the BRDB_EXT_REP
schedule.

24 C&ARV External data imported into Branch Database is copied across into BRDB_REP_SESSION_DATA. This ensures that they are
picked up for any Branch reports and Branch accounting.

25 A&V In order to post the transactions to the branch accounts, two criteria need to be met:
+A mapping of External System and Terminal Id for all transactions must exist in the Transaction Acknowledgement/SU mapping
table
+ The stock unit for the branch must not be locked

26 c A report will be produced that lists any sub-files that have been held-back from processing for more than one day.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068

POL00030068

# Error Sources Summarise Control Wording
Addressed

27 A&V Camelot ONLY:

Retailer data is required to validate that the Retailer Number is a valid. Validation includes a check that the Retailer Number
maps to the correct valid FAD Code.

28 A&V POLSAP Load process: The POL SAP load process in XI has some explidt checks (introduced to prevent files being accidentally
loaded more than once) that there will not be multiple sub-files with the same Branch / Trading Date combination.

29 A&V Validation should be performed such that when loading the data from exterral files it is checked that the Product can be
transacted on that particular type of external system.

32 TPS Processing monitoring
A monitor job tests for successful completion of the TPSTIPL schedule at 03:00 and alert operations if not.

34 Vv PODG will be used to transfer data between the Fujitsu data centre and External Transaction Suppliers. For External Transaction
interface files, there needs to be an inbound route to the Branch Database and also there needs to be an outbound route from
the Branch Database to Suppliers for the return of Error/confirmation files. Logical access rights to these holding directories are
appropriately secured.

35 Vv PODG to APS Interface
Old process:

APS already has links to EDG1 and EDG2 for the delivery of AP Client Files. Access to these directories is appropriately
secured.

New process:

APS configuration has been updated to deliver client files to revised directories that will be shared with PODG. Access to these
directories is appropriately secured.

36 A&V Post & Go: POL ETL will validate incoming files in terms of shape, structure and check totals.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

# Error Sources Summarise Control Wording
Addressed
37 Post & Go:
The Transaction Detail record will always contain a core of mandatory fields, and the records will be rejected if these field are
not populated.
An alert will be raised within Wincor Nixdorf in the event that the file transfer fails. The POL Live Service (Team) will beinformed
A&V and procedures invoked to rectify the problem.
38 Post & Go:
If the file and sub-files contain no errors, POL ETL will rename both the copy file held on POL ETL and create an error file with
records type OKZ, to be sent back to Wincor Nixdorf to indicate the file is good.
When Wincor Nixdorf have investigated and corrected the records in error a new / corrected fle it sends with the same name as
the error file, as POL ETL will know it has sent the errorfile and will expect the corrected error file to be replaced.
NB: If POL ETL receives a duplicate transmission file and / or sub-file(s), POL ETL will report this error to Wincor Nixdorf, and
A&V will also send these back to Wincor Nixdorf.
39 Post & Go: Validation criteria for received Post and Go Files are as follows:
* POL ETL to reject a file should any error be found within the file, sub-file, or records within the sub-file that POL ETL cannot
accept. In such a case, POL ETL will create an error file specifying the errors found
+ POL ETL will return the error file to EDG to be picked up by Wincor Nixdorf, specifying any rejected files that need to be
corrected and resubmitted
+ Wincor Nixdorf will return repaired error records in a new file (and sub-file) for repaired records
+ POL ETL must inform Wincor Nixdorf of an error within 24 hours. Wincor Nixdorf must keep the source files for 7 calendar days
A&V in case POL ETL require a file to be re-sent.
42 A&V Paystation:
The Transaction Detail record will always contain a core of mandatory fields, and the records will be rejected if these field are
not populated.
43 A&V Paystation:
When POL ETL has processed the file it will rename the file as shown in Table 2 indicating whether:

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

# Error Sources Summarise Control Wording
Addressed

a. The incoming file from Ingenico has been received OK (suffix .TPB)
b. Any errors have been detected in the file (suffix .TPX) together with an error file (suffix .TPZ)

44 A&V Paystation: Any files which are re-sent are to be given the same File Name and File Header information, with the ‘Transmission
Status’ set to RES. RES is to be used for whole file rejections only.

47 A&V Paystation: For reversal transactions, the original Transaction Mode is shown in the transaction details that are sent to POL ETL.
POL ETL will know if a reversal has taken place by referring to the reversal indicator within the transaction line.

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT
POL00030068
POL00030068

Statement of Responsibility

We take responsibility for this report which is prepared on the basis of the limitations set out below.

The matters raised in this report are only those which came to our attention during the course of our work and are
not necessarily a comprehensive statement of all the weaknesses that exist or all improvements that might be made.
Recommendations for improvements should be assessed by you for their full impact before they are implemented.

Deloitte LLP
London
September 2017

Other than as stated below, this documentis confidential and prepared solely for your information and that of other
beneficiaries of our advice listed in our engagement letter. Therefore you should not, refer to or use our name or this
document for any other purpose, disclose them or refer to them in any prospectus or other document, or make them
available or communicate them to any other party. If this document contains details of an arrangement that could
result in a tax or National Insurance saving, no such conditions of confidentiality apply to the details of that

arrangement (for example, for the purpose of discussion with tax authorities). In any event, no other party is entitled
to rely on our document for any purpose whatsoever and thus we accept no liability to any other party who is show

or gains access to this document.

© 2017 Deloitte LLP. All rights reserved.

Deloitte LLP is a limited liability partnership registered in England and Wales with registered number OC303675
and its registered office at 2 New Street Square, London EC4A 3BZ, United Kingdom.

Deloitte LLP is the United Kingdom member firm of Deloitte Touche Tohmatsu Limited (“DTTL”), a UK private
company limited by guarantee, whose member firms are legally separate and independent entities. Please see
www.deloitte.co.uk/about for a detailed description of the legal structure of DTTL and its member firms.

Member of Deloitte Touche Tohmatsu Limited

© Deloitte2017 Private and Confidential — Subject to Legal Privilege - DRAFT 139