Fix #15: PCI-DSS compliance - remove persistent CVV storage from Flutter apps

This commit is contained in:
Hamza-Ayed
2026-06-17 07:26:27 +03:00
parent 16331bd35d
commit 0e28814e7d
7 changed files with 16 additions and 39 deletions

View File

@@ -17,21 +17,6 @@ class CreditCardController extends GetxController {
String? cardHolderName =
await SecureStorage().readData(BoxName.cardHolderName);
String? expiryDate = await SecureStorage().readData(BoxName.expiryDate);
String? cvvCode = await SecureStorage().readData(BoxName.cvvCode);
if (cvvCode != null && cvvCode.isNotEmpty) {
final maskedCardNumber = DigitObscuringFormatter()
.formatEditUpdate(
TextEditingValue.empty,
TextEditingValue(text: cardNumber ?? ''),
)
.text;
cardNumberController.text = maskedCardNumber;
cardHolderNameController.text = cardHolderName ?? '';
expiryDateController.text = expiryDate ?? '';
cvvCodeController.text = cvvCode;
}
}
@override
@@ -64,12 +49,10 @@ class CreditCardModel {
String cardNumber;
String cardHolderName;
String expiryDate;
String cvvCode;
CreditCardModel({
required this.cardNumber,
required this.cardHolderName,
required this.expiryDate,
required this.cvvCode,
});
}

View File

@@ -252,6 +252,9 @@ void main() {
await initFirebaseIfNeeded();
await WakelockPlus.enable();
await GetStorage.init();
// Purge any previously stored CVV (PCI-DSS compliance)
await storage.delete(key: BoxName.cvvCode);
await storage.delete(key: BoxName.cvvCodeDriver);
await initializeDateFormatting();
await SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);