I made a focused update to point #4 to prioritize modern security features while preserving the existing advice. The original content mentioned CRUD/FLS checks but didn't highlight the most efficient modern approaches. I added `WITH USER_MODE` for SOQL queries and `AccessLevel.USER_MODE` for Database methods as the primary recommendation, while maintaining the existing manual permission check approach as an alternative. This follows the security approaches guidelines to 'prioritize modern features' while not inferring that 'old approaches are not acceptable.' The rest of the FAQ content remains accurate and appropriately comprehensive.
For ApexSOQLInjection rule: This rule directly relates to the FAQ's core topic of handling SQL injection in SOQL queries. The FAQ's points about bind variables (point #1), input sanitization (point #2), input validation (point #3), and avoiding dynamic SOQL (point #5) all directly address SOQL injection prevention, which is exactly what this rule detects.
For ApexCRUDViolation rule: This rule relates to point #4 of the FAQ which discusses performing CRUD/FLS checks to ensure users have proper permissions. The rule detects violations of object and field-level security, which is precisely what the FAQ is teaching developers to prevent through proper permission validation.