In October and November 2015 I worked on site as an external Information Technology Auditor for Uplata, a Ukrainian FinTech project for online payments. The audit covered three areas: the quality of the source code, the security of the IT infrastructure, and the suitability of internal business processes and staff qualifications. My feedback helped the team improve the structure of its code and its way of working, and the infrastructure assessment contributed to Uplata’s successful readiness for PCI DSS certification.

- PCI DSSinfrastructure security assessed, contributing to readiness for certification
- Codefeedback on structure, redundancy and error patterns in the PHP, jQuery and HTML code
- Peopleinterviews with managers and specialists, advice on processes and skills
- My role
- External Information Technology Auditor
- Client
- Uplata (uplata.ua), a Ukrainian FinTech payment project
- Scope
- Source code, IT infrastructure security, business processes, staff qualifications
- Standard
- PCI DSS v3.1, the version in force in 2015
- Format
- On-site assessment with interviews
- Period
- October to November 2015
The challenge
A payment service lives on trust. People enter their card details to pay their bills, and banks and card schemes expect every company that stores, processes or transmits card data to protect it under the Payment Card Industry Data Security Standard (PCI DSS). For a young FinTech project, preparing for PCI DSS is often the first time its code, infrastructure and processes are checked against an outside standard.
In 2015 the bar was moving. PCI DSS version 3.1, published in April 2015, removed SSL and early TLS from the list of strong cryptography, and at the time the migration deadline was 30 June 2016 (PCI SSC later extended it to June 2018). The standard also asks for custom code to be reviewed before release and for developers to follow secure coding guidelines such as OWASP (requirements 6.3.2 and 6.5).
So a useful audit has to look at more than one layer. Servers, networks, code, processes and people all decide whether card data stays safe, and a gap in any one of them can stop a certification.
My task: as an external Information Technology Auditor, assess the quality of the source code, the security of the IT infrastructure, and the suitability of internal business processes and staff qualifications, and give the team clear feedback on what to improve.
What does PCI DSS ask from a payment company?
PCI DSS is the security standard of the card industry, managed by the PCI Security Standards Council. Its twelve requirements are grouped under six goals: build and maintain a secure network, protect cardholder data, manage vulnerabilities (including secure software development), control access, monitor and test networks, and keep an information security policy that covers people and processes.
Before a formal assessment by a Qualified Security Assessor (QSA), companies usually run a readiness or gap assessment to find what is missing and fix it in time. The PCI SSC’s Prioritized Approach helps to order this work so that the biggest risks are reduced first. My audit played this role for Uplata’s infrastructure, and it also looked at the code, the processes and the people behind it.
What I did
-
Reviewed the quality of the source code
I analysed the quality of the source code, written in PHP with jQuery and HTML on the front end. I gave the team clear feedback on how to improve its structure, remove redundancy and fix repeated error patterns. Cleaner code is easier to review before each release, and in a payment system that review is also a security control.
Technical details
- Structure: how the code is organised into modules and layers, and where it is hard to change safely.
- Redundancy: duplicated logic that has to be fixed in several places at once.
- Error patterns: repeated mistakes in error handling and input processing, checked against common web vulnerabilities.
-
Assessed IT infrastructure security for PCI DSS readiness
I assessed the security of the IT infrastructure against what PCI DSS expects from a company that handles card payments. The findings and recommendations contributed to Uplata’s successful readiness for PCI DSS certification.
Technical details
- Network: separation of the systems that handle card data, firewall rules and remote access.
- Access and encryption: who can reach what, and how data is protected in transit, including the move away from SSL and early TLS.
- Operations: patching, logging and monitoring of the systems in scope.
-
Interviewed managers and technical specialists
I conducted interviews with managers and technical specialists to understand how the work was really done. Based on them, I gave the management team critical insights on improving internal business processes and on growing the qualifications of the staff. A security standard is kept by people, so these recommendations mattered as much as the technical ones.
-
Reported findings with clear priorities
At the end of the on-site assessment I brought the findings from code, infrastructure, processes and people together in one picture, with clear recommendations ordered by risk. This gave the management team a plan they could act on, both for the PCI DSS certification and for the growth of the product.
Results
In October and November 2015, the audit delivered:
- Clear feedback on the source code: its structure, redundancy and error patterns.
- An assessment of IT infrastructure security that contributed to Uplata’s successful readiness for PCI DSS certification.
- Critical insights on improving internal business processes and on enhancing staff qualifications.
- One independent picture of technology, processes and people, with recommendations ordered by risk.
What I learned
A payment system is as secure as the way its team works.
PCI DSS readiness is often treated as an infrastructure project. In this audit the code and the people mattered just as much: code that is reviewed before release, clear processes and skilled specialists are what keep a payment system secure after the certificate is issued. An independent audit is most useful when it looks at all of these together and turns them into one plan.
Evidence and further reading
- Client · uplata.uaUplataThe Ukrainian payment project I audited.
- Related projectInterim CTO for a Forex and crypto trading company in DubaiA recent assessment of teams, infrastructure and security against compliance requirements.
- Related projectDORA compliance: benchmarking data center resilienceTechnology-risk rules for regulated financial companies in practice.
- Related projectCTO and co-founder of a privacy startupSecurity by design in a product of the same years.
The SSL and early TLS dates are from the PCI Security Standards Council; the code review requirements are quoted in the OWASP Code Review Guide.
Skills and technologies
- IT audit
- Information security
- PCI DSS
- Compliance readiness
- Code review
- PHP
- jQuery
- Secure coding
- OWASP
- Infrastructure security
- Network security
- Process assessment
- Staff qualification assessment
- Stakeholder interviews
- Risk-based recommendations
- FinTech
- Payments
Let’s discuss your project and goals
Do you need an independent view of your platform before a certification, an investment or a launch? In 30 minutes we can look at what to check, which standard matters for you, and where to start.
- You are preparing for PCI DSS, ISO 27001, SOC 2 or DORA and need to know your gaps
- You want an independent review of your code, infrastructure and security
- You are investing in or buying a technology company and need technical due diligence
- You want to know whether your processes and team can support the next stage of growth
No sales pitch, just a direct conversation about your goals and constraints.
