FAQ-000698 - Data Storage and Encryption Security / Data Classification and Handling

Current Status:VALID_RESPONSEErrorUnable to AnswerSuggests Case

Current FAQ

Question
What constitutes proper justification for storing sensitive operational data?
Answer
Proper justification for storing sensitive operational data involves adhering to enterprise security standards and implementing strong security measures. Key considerations include: 1. **Encryption**: Sensitive data, like cryptographic keys or API credentials, must be encrypted using strong encryption schemes (e.g., AES-128 or higher). 2. **Secure Key Storage**: Encryption keys should be stored securely, such as in protected custom settings or metadata, to prevent unauthorized access. 3. **Access Control**: Restrict access to sensitive data to authorized users only, using proper authentication and authorization mechanisms. 4. **Avoid Logging**: Ensure sensitive data is not logged in debug logs or exposed during processing. These practices help ensure compliance with security policies and reduce risks of data breaches or unauthorized disclosures.
Enhancing FAQ...

Enhancing FAQ with AI recommendations...

AI Recommended Enhancement

Related Security Rules (click to view)
ApexBadCryptoApexSuggestUsingNamedCredAvoidHardcodedCredentialsInFieldDeclsAvoidHardcodedCredentialsInVarDeclsAvoidHardcodedCredentialsInVarAssignAvoidHardcodedCredentialsInHttpHeaderProtectSensitiveData
Question
What constitutes proper justification for storing sensitive operational data?
Recommended Answer Update
Proper justification for storing sensitive operational data involves adhering to enterprise security standards and implementing strong security measures. Key considerations include: 1. **Encryption**: Sensitive data, like cryptographic keys or API credentials, must be encrypted using strong encryption schemes (e.g., AES-256). 2. **Secure Key Storage**: Use Named Credentials or Protected Custom Settings to store credentials and API keys securely. Avoid hardcoding sensitive values in your code. 3. **Access Control**: Restrict access to sensitive data to authorized users only, using proper authentication and authorization mechanisms. 4. **Avoid Logging**: Ensure sensitive data isn't logged in debug logs or exposed during processing. These practices help ensure compliance with security policies and reduce risks of data breaches or unauthorized disclosures.
Reasoning
The recommendations improve the FAQ by addressing outdated encryption standards and storage best practices. The original answer mentioned 'AES-128 or higher' but modern security standards recommend AES-256 as the preferred minimum. More importantly, the guidance on secure key storage was vague - 'protected custom settings or metadata' doesn't clearly communicate the preferred approach. The updated answer specifically recommends Named Credentials as the primary secure storage mechanism, which aligns with Salesforce security best practices and is what the ApexSuggestUsingNamedCred rule enforces. The recommendation to 'avoid hardcoding sensitive values in your code' was added to make the connection to secure storage clearer. All security rules selected directly relate to the FAQ's content: ApexBadCrypto relates to the encryption requirements discussed in point 1; ApexSuggestUsingNamedCred relates to the secure storage recommendations in point 2; AvoidHardcodedCredentialsInFieldDecls, AvoidHardcodedCredentialsInVarDecls, AvoidHardcodedCredentialsInVarAssign, and AvoidHardcodedCredentialsInHttpHeader all relate to the FAQ's discussion of storing 'cryptographic keys or API credentials' securely and avoiding exposure during processing; ProtectSensitiveData relates to the overall theme of the FAQ about properly handling sensitive operational data with appropriate security measures.
Reasoning References