Member-only story

The $100 Million Lesson: Why Secure Coding and Non-Functional Requirements Are Essential for Software Development Teams

Siva
5 min readNov 18, 2024

When Meta (formerly Facebook) revealed it had stored millions of user passwords in plaintext, the repercussions were severe. A $102 million fine under the EU’s General Data Protection Regulation (GDPR) followed, highlighting how vital it is for software development teams to prioritize secure coding and rigorously adhere to non-functional requirements (NFRs). For development teams, this breach serves as a stark reminder of how high-stakes software development can be when dealing with sensitive data.

Secure Coding: A Core Responsibility for Development Teams

Secure coding is not just a set of technical practices but a shared responsibility across the development lifecycle. For software development teams, embedding security into the code from the outset is paramount. Meta’s mistake of storing passwords in plaintext underscores the importance of following secure coding guidelines at every stage.

Practical Examples for Development Teams

  1. Data Protection by Design:
    Teams should adopt secure password hashing techniques. For example, using bcryptjs in a modern JavaScript stack:
const bcrypt = require('bcryptjs');

async function hashPassword(password) {
const salt = await bcrypt.genSalt(10);
return await bcrypt.hash(password, salt);
}

--

--

No responses yet