{
  "id": 171709,
  "title": "Encrypting personal data at rest in Symfony: a 60-line Doctrine type, and the four things it breaks",
  "url": "https://urgent.news/2026/08/05/encrypting-personal-data-at-rest-in-symfony-a-60-line-doctrine-type",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-05T11:27:59.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/mollenthiel/encrypting-personal-data-at-rest-in-symfony-a-60-line-doctrine-type-and-the-four-things-it-breaks-2g6b"
  },
  "original_language": "en",
  "account": "A Symfony application encrypting personal data at rest faces four issues when column-level encryption is implemented. Although the encryption process itself is simple, requiring just 60 lines of Doctrine type code, the implications extend beyond the encrypted column. The four problems arise due to the encrypted JSON column becoming an opaque blob, disrupting functionality that was previously taken for granted.",
  "summary": "A review form asked me a yes/no question I could not answer with yes: do you encrypt personal data at rest and in transit? In transit, sure, TLS everywhere, that part is free in 2026. At rest, no. The app runs on a plain VPS with no full-disk encryption, and the database held customer names, addresses and email addresses in a json column, in clear, exactly as PostgreSQL received them. There are…",
  "key_points": [
    "60-line Doctrine type encrypts personal data at rest in Symfony",
    "Column-level encryption breaks functionality of opaque JSON blob",
    "Four issues arise from encrypted column disrupting existing features"
  ],
  "editors_take": null,
  "illustration": "https://urgent.news/ill/171709.png",
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}