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

@@ -20,6 +20,7 @@ import 'package:siro_rider/controller/home/map/ride_lifecycle_controller.dart';
import 'package:siro_rider/controller/home/map/ui_interactions_controller.dart';
import 'package:siro_rider/controller/home/menu_controller.dart';
import 'package:siro_rider/controller/home/points_for_rider_controller.dart';
import 'package:siro_rider/controller/functions/secure_storage.dart';
class LogOutController extends GetxController {
TextEditingController checkTxtController = TextEditingController();
@@ -116,6 +117,11 @@ class LogOutController extends GetxController {
box.remove(BoxName.apiKeyRun);
box.remove(BoxName.countryCode);
SecureStorage().deleteData(BoxName.cardNumber);
SecureStorage().deleteData(BoxName.cvvCode);
SecureStorage().deleteData(BoxName.cardHolderName);
SecureStorage().deleteData(BoxName.expiryDate);
box.remove(BoxName.passengerWalletTotal);
box.remove(BoxName.isVerified);
Get.delete<MapSocketController>(force: true);

View File

@@ -19,6 +19,10 @@ class SecureStorage {
final String? value = await storage.read(key: boxName);
return value.toString();
}
Future<void> deleteData(String key) async {
await storage.delete(key: key);
}
}
class AppInitializer {

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,
});
}