<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Security on DevFlow · Python Django Developer Freelance</title>
    <link>https://dev-flow.io/en/tags/security/</link>
    <description>Recent content in Security on DevFlow · Python Django Developer Freelance</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 26 May 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://dev-flow.io/en/tags/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Declarative Permissions in DRF with rest_access_policy</title>
      <link>https://dev-flow.io/en/posts/django-rest-access-policy/</link>
      <pubDate>Tue, 26 May 2026 00:00:00 +0200</pubDate>
      <guid>https://dev-flow.io/en/posts/django-rest-access-policy/</guid>
      <description>rest_access_policy replaces DRF&amp;#39;s has_permission classes with declarative statements. Readable, testable, and extensible access rules with no risk of oversight.</description>
    </item>
    <item>
      <title>Hash, HMAC and encryption: securing a Django token</title>
      <link>https://dev-flow.io/en/posts/hash-hmac-token-security/</link>
      <pubDate>Mon, 25 May 2026 00:00:00 +0200</pubDate>
      <guid>https://dev-flow.io/en/posts/hash-hmac-token-security/</guid>
      <description>sha256, salt, HMAC or encryption? Each mechanism offers different guarantees. Here is how to choose based on your actual need, with Django examples.</description>
    </item>
    <item>
      <title>Timing attacks in Django with constant_time_compare</title>
      <link>https://dev-flow.io/en/posts/django-timing-attacks/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0200</pubDate>
      <guid>https://dev-flow.io/en/posts/django-timing-attacks/</guid>
      <description>A == comparison on a token leaks information through execution time. Django provides constant_time_compare() to eliminate timing attack risks in production.</description>
    </item>
  </channel>
</rss>
