Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
5.88 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.08 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#1791
  +user: Proxies\__CG__\App\Entity\User {#1950 …}
  +magazine: App\Entity\Magazine {#264
    +icon: null
    +name: "privacyguides@lemmy.one"
    +title: "privacyguides"
    +description: """
      *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
      \n
      This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
      \n
      ---\n
      \n
      You can subscribe to this community from any Kbin or Lemmy instance:\n
      \n
      - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
      - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
      - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
      - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
      \n
      [Learn more…](https://lemmy.one/post/355)\n
      \n
      ---\n
      \n
      Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
      \n
      Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
      \n
      ---\n
      \n
      **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
      \n
      ---\n
      \n
      **Moderation Rules:**\n
      \n
      1. We prefer posting about open-source software whenever possible.\n
      2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
      3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
      4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
      5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
      6. Don’t repost topics which have already been covered here.\n
      7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
      8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
      9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
      10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
      11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
      12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
      \n
      ---\n
      \n
      Additional Resources:\n
      \n
      - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
      - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
      - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
      - [r/Privacy](https://www.reddit.com/r/Privacy)\n
      - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 259
    +entryCommentCount: 2490
    +postCount: 5
    +postCommentCount: 29
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729537882 {#274
      date: 2024-10-21 21:11:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#252 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
    +entries: Doctrine\ORM\PersistentCollection {#195 …}
    +posts: Doctrine\ORM\PersistentCollection {#153 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
    +bans: Doctrine\ORM\PersistentCollection {#132 …}
    +reports: Doctrine\ORM\PersistentCollection {#118 …}
    +badges: Doctrine\ORM\PersistentCollection {#96 …}
    +logs: Doctrine\ORM\PersistentCollection {#86 …}
    +awards: Doctrine\ORM\PersistentCollection {#75 …}
    +categories: Doctrine\ORM\PersistentCollection {#62 …}
    -id: 39
    +apId: "privacyguides@lemmy.one"
    +apProfileId: "https://lemmy.one/c/privacyguides"
    +apPublicUrl: "https://lemmy.one/c/privacyguides"
    +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "privacyguides"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729576084 {#268
      date: 2024-10-22 07:48:04.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696630878 {#270
      date: 2023-10-07 00:21:18.0 +02:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1878 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
  +slug: "Simplifying-warrant-canaries-Purplix-canary"
  +title: "Simplifying warrant canaries - Purplix canary"
  +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
  +body: """
    Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
    \n
    View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
    \n
    What is Purplix Canary?\n
    -----------------------\n
    \n
    Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
    \n
    It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
    \n
    ### How does it work?\n
    \n
    #### Site verification\n
    \n
    Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
    \n
    #### Canary signatures\n
    \n
    Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
    \n
    #### Files\n
    \n
    Canaries can include signed documents to help users further understand a situation.\n
    \n
    #### Notifications\n
    \n
    Users are automatically notified on the event of a new statement being published.\n
    \n
    ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
    \n
    ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
    \n
    ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 18
  +favouriteCount: 85
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1696901314 {#1817
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1955 …}
  +votes: Doctrine\ORM\PersistentCollection {#1930 …}
  +reports: Doctrine\ORM\PersistentCollection {#1973 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
  +badges: Doctrine\ORM\PersistentCollection {#2436 …}
  +children: []
  -id: 3570
  -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
  -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1696847965
  +visibility: "visible             "
  +apId: "https://lemmy.nz/post/2235407"
  +editedAt: DateTimeImmutable @1696761700 {#1854
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#2406
    date: 2023-10-08 12:39:25.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#1791
  +user: Proxies\__CG__\App\Entity\User {#1950 …}
  +magazine: App\Entity\Magazine {#264
    +icon: null
    +name: "privacyguides@lemmy.one"
    +title: "privacyguides"
    +description: """
      *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
      \n
      This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
      \n
      ---\n
      \n
      You can subscribe to this community from any Kbin or Lemmy instance:\n
      \n
      - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
      - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
      - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
      - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
      \n
      [Learn more…](https://lemmy.one/post/355)\n
      \n
      ---\n
      \n
      Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
      \n
      Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
      \n
      ---\n
      \n
      **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
      \n
      ---\n
      \n
      **Moderation Rules:**\n
      \n
      1. We prefer posting about open-source software whenever possible.\n
      2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
      3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
      4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
      5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
      6. Don’t repost topics which have already been covered here.\n
      7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
      8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
      9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
      10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
      11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
      12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
      \n
      ---\n
      \n
      Additional Resources:\n
      \n
      - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
      - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
      - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
      - [r/Privacy](https://www.reddit.com/r/Privacy)\n
      - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 259
    +entryCommentCount: 2490
    +postCount: 5
    +postCommentCount: 29
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729537882 {#274
      date: 2024-10-21 21:11:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#252 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
    +entries: Doctrine\ORM\PersistentCollection {#195 …}
    +posts: Doctrine\ORM\PersistentCollection {#153 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
    +bans: Doctrine\ORM\PersistentCollection {#132 …}
    +reports: Doctrine\ORM\PersistentCollection {#118 …}
    +badges: Doctrine\ORM\PersistentCollection {#96 …}
    +logs: Doctrine\ORM\PersistentCollection {#86 …}
    +awards: Doctrine\ORM\PersistentCollection {#75 …}
    +categories: Doctrine\ORM\PersistentCollection {#62 …}
    -id: 39
    +apId: "privacyguides@lemmy.one"
    +apProfileId: "https://lemmy.one/c/privacyguides"
    +apPublicUrl: "https://lemmy.one/c/privacyguides"
    +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "privacyguides"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729576084 {#268
      date: 2024-10-22 07:48:04.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696630878 {#270
      date: 2023-10-07 00:21:18.0 +02:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1878 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
  +slug: "Simplifying-warrant-canaries-Purplix-canary"
  +title: "Simplifying warrant canaries - Purplix canary"
  +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
  +body: """
    Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
    \n
    View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
    \n
    What is Purplix Canary?\n
    -----------------------\n
    \n
    Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
    \n
    It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
    \n
    ### How does it work?\n
    \n
    #### Site verification\n
    \n
    Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
    \n
    #### Canary signatures\n
    \n
    Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
    \n
    #### Files\n
    \n
    Canaries can include signed documents to help users further understand a situation.\n
    \n
    #### Notifications\n
    \n
    Users are automatically notified on the event of a new statement being published.\n
    \n
    ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
    \n
    ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
    \n
    ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 18
  +favouriteCount: 85
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1696901314 {#1817
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1955 …}
  +votes: Doctrine\ORM\PersistentCollection {#1930 …}
  +reports: Doctrine\ORM\PersistentCollection {#1973 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
  +badges: Doctrine\ORM\PersistentCollection {#2436 …}
  +children: []
  -id: 3570
  -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
  -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1696847965
  +visibility: "visible             "
  +apId: "https://lemmy.nz/post/2235407"
  +editedAt: DateTimeImmutable @1696761700 {#1854
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#2406
    date: 2023-10-08 12:39:25.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#1791
  +user: Proxies\__CG__\App\Entity\User {#1950 …}
  +magazine: App\Entity\Magazine {#264
    +icon: null
    +name: "privacyguides@lemmy.one"
    +title: "privacyguides"
    +description: """
      *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
      \n
      This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
      \n
      ---\n
      \n
      You can subscribe to this community from any Kbin or Lemmy instance:\n
      \n
      - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
      - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
      - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
      - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
      \n
      [Learn more…](https://lemmy.one/post/355)\n
      \n
      ---\n
      \n
      Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
      \n
      Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
      \n
      ---\n
      \n
      **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
      \n
      ---\n
      \n
      **Moderation Rules:**\n
      \n
      1. We prefer posting about open-source software whenever possible.\n
      2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
      3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
      4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
      5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
      6. Don’t repost topics which have already been covered here.\n
      7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
      8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
      9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
      10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
      11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
      12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
      \n
      ---\n
      \n
      Additional Resources:\n
      \n
      - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
      - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
      - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
      - [r/Privacy](https://www.reddit.com/r/Privacy)\n
      - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 259
    +entryCommentCount: 2490
    +postCount: 5
    +postCommentCount: 29
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729537882 {#274
      date: 2024-10-21 21:11:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#252 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
    +entries: Doctrine\ORM\PersistentCollection {#195 …}
    +posts: Doctrine\ORM\PersistentCollection {#153 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
    +bans: Doctrine\ORM\PersistentCollection {#132 …}
    +reports: Doctrine\ORM\PersistentCollection {#118 …}
    +badges: Doctrine\ORM\PersistentCollection {#96 …}
    +logs: Doctrine\ORM\PersistentCollection {#86 …}
    +awards: Doctrine\ORM\PersistentCollection {#75 …}
    +categories: Doctrine\ORM\PersistentCollection {#62 …}
    -id: 39
    +apId: "privacyguides@lemmy.one"
    +apProfileId: "https://lemmy.one/c/privacyguides"
    +apPublicUrl: "https://lemmy.one/c/privacyguides"
    +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
    +apInboxUrl: "https://lemmy.one/inbox"
    +apDomain: "lemmy.one"
    +apPreferredUsername: "privacyguides"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729576084 {#268
      date: 2024-10-22 07:48:04.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696630878 {#270
      date: 2023-10-07 00:21:18.0 +02:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1878 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
  +slug: "Simplifying-warrant-canaries-Purplix-canary"
  +title: "Simplifying warrant canaries - Purplix canary"
  +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
  +body: """
    Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
    \n
    View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
    \n
    What is Purplix Canary?\n
    -----------------------\n
    \n
    Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
    \n
    It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
    \n
    ### How does it work?\n
    \n
    #### Site verification\n
    \n
    Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
    \n
    #### Canary signatures\n
    \n
    Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
    \n
    #### Files\n
    \n
    Canaries can include signed documents to help users further understand a situation.\n
    \n
    #### Notifications\n
    \n
    Users are automatically notified on the event of a new statement being published.\n
    \n
    ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
    \n
    ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
    \n
    ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 18
  +favouriteCount: 85
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1696901314 {#1817
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1955 …}
  +votes: Doctrine\ORM\PersistentCollection {#1930 …}
  +reports: Doctrine\ORM\PersistentCollection {#1973 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
  +badges: Doctrine\ORM\PersistentCollection {#2436 …}
  +children: []
  -id: 3570
  -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
  -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1696847965
  +visibility: "visible             "
  +apId: "https://lemmy.nz/post/2235407"
  +editedAt: DateTimeImmutable @1696761700 {#1854
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#2406
    date: 2023-10-08 12:39:25.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#4096
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1696894526 {#4105
    date: 2023-10-10 01:35:26.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4094 …}
  +nested: Doctrine\ORM\PersistentCollection {#4092 …}
  +votes: Doctrine\ORM\PersistentCollection {#4090 …}
  +reports: Doctrine\ORM\PersistentCollection {#4088 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
  -id: 37335
  -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3647025"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696768979 {#4041
    date: 2023-10-08 14:42:59.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#4096
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1696894526 {#4105
    date: 2023-10-10 01:35:26.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4094 …}
  +nested: Doctrine\ORM\PersistentCollection {#4092 …}
  +votes: Doctrine\ORM\PersistentCollection {#4090 …}
  +reports: Doctrine\ORM\PersistentCollection {#4088 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
  -id: 37335
  -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3647025"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696768979 {#4041
    date: 2023-10-08 14:42:59.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#4096
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1696894526 {#4105
    date: 2023-10-10 01:35:26.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4094 …}
  +nested: Doctrine\ORM\PersistentCollection {#4092 …}
  +votes: Doctrine\ORM\PersistentCollection {#4090 …}
  +reports: Doctrine\ORM\PersistentCollection {#4088 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
  -id: 37335
  -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3647025"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696768979 {#4041
    date: 2023-10-08 14:42:59.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED moderate
App\Entity\EntryComment {#4328
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
    \n
    The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 22
  +score: 0
  +lastActive: DateTime @1696773520 {#4326
    date: 2023-10-08 15:58:40.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4330 …}
  +nested: Doctrine\ORM\PersistentCollection {#4332 …}
  +votes: Doctrine\ORM\PersistentCollection {#4334 …}
  +reports: Doctrine\ORM\PersistentCollection {#4336 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
  -id: 37438
  -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3491850"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696773520 {#4327
    date: 2023-10-08 15:58:40.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#4328
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
    \n
    The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 22
  +score: 0
  +lastActive: DateTime @1696773520 {#4326
    date: 2023-10-08 15:58:40.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4330 …}
  +nested: Doctrine\ORM\PersistentCollection {#4332 …}
  +votes: Doctrine\ORM\PersistentCollection {#4334 …}
  +reports: Doctrine\ORM\PersistentCollection {#4336 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
  -id: 37438
  -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3491850"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696773520 {#4327
    date: 2023-10-08 15:58:40.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#4328
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
    \n
    The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 22
  +score: 0
  +lastActive: DateTime @1696773520 {#4326
    date: 2023-10-08 15:58:40.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4330 …}
  +nested: Doctrine\ORM\PersistentCollection {#4332 …}
  +votes: Doctrine\ORM\PersistentCollection {#4334 …}
  +reports: Doctrine\ORM\PersistentCollection {#4336 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
  -id: 37438
  -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3491850"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696773520 {#4327
    date: 2023-10-08 15:58:40.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
13 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
14 DENIED moderate
App\Entity\EntryComment {#4399
  +user: Proxies\__CG__\App\Entity\User {#1950 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "Also to note, that Purplix does warn users to assume the site has been compromised if the latest statement has expired."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696787972 {#4397
    date: 2023-10-08 19:59:32.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4400 …}
  +nested: Doctrine\ORM\PersistentCollection {#4402 …}
  +votes: Doctrine\ORM\PersistentCollection {#4404 …}
  +reports: Doctrine\ORM\PersistentCollection {#4406 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4408 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4410 …}
  -id: 37714
  -bodyTs: "'also':1 'assum':10 'compromis':15 'expir':21 'latest':18 'note':3 'purplix':5 'site':12 'statement':19 'user':8 'warn':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.nz/comment/2955086"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696787972 {#4398
    date: 2023-10-08 19:59:32.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
15 DENIED edit
App\Entity\EntryComment {#4399
  +user: Proxies\__CG__\App\Entity\User {#1950 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "Also to note, that Purplix does warn users to assume the site has been compromised if the latest statement has expired."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696787972 {#4397
    date: 2023-10-08 19:59:32.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4400 …}
  +nested: Doctrine\ORM\PersistentCollection {#4402 …}
  +votes: Doctrine\ORM\PersistentCollection {#4404 …}
  +reports: Doctrine\ORM\PersistentCollection {#4406 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4408 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4410 …}
  -id: 37714
  -bodyTs: "'also':1 'assum':10 'compromis':15 'expir':21 'latest':18 'note':3 'purplix':5 'site':12 'statement':19 'user':8 'warn':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.nz/comment/2955086"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696787972 {#4398
    date: 2023-10-08 19:59:32.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
16 DENIED moderate
App\Entity\EntryComment {#4399
  +user: Proxies\__CG__\App\Entity\User {#1950 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "Also to note, that Purplix does warn users to assume the site has been compromised if the latest statement has expired."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696787972 {#4397
    date: 2023-10-08 19:59:32.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4400 …}
  +nested: Doctrine\ORM\PersistentCollection {#4402 …}
  +votes: Doctrine\ORM\PersistentCollection {#4404 …}
  +reports: Doctrine\ORM\PersistentCollection {#4406 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4408 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4410 …}
  -id: 37714
  -bodyTs: "'also':1 'assum':10 'compromis':15 'expir':21 'latest':18 'note':3 'purplix':5 'site':12 'statement':19 'user':8 'warn':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.nz/comment/2955086"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696787972 {#4398
    date: 2023-10-08 19:59:32.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
17 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
18 DENIED moderate
App\Entity\EntryComment {#4470
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4399
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4328
      +user: Proxies\__CG__\App\Entity\User {#4329 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4096
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 6
        +score: 0
        +lastActive: DateTime @1696894526 {#4105
          date: 2023-10-10 01:35:26.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4094 …}
        +nested: Doctrine\ORM\PersistentCollection {#4092 …}
        +votes: Doctrine\ORM\PersistentCollection {#4090 …}
        +reports: Doctrine\ORM\PersistentCollection {#4088 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
        -id: 37335
        -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3647025"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696768979 {#4041
          date: 2023-10-08 14:42:59.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
        \n
        The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 22
      +score: 0
      +lastActive: DateTime @1696773520 {#4326
        date: 2023-10-08 15:58:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4330 …}
      +nested: Doctrine\ORM\PersistentCollection {#4332 …}
      +votes: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
      -id: 37438
      -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://midwest.social/comment/3491850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696773520 {#4327
        date: 2023-10-08 15:58:40.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: "Also to note, that Purplix does warn users to assume the site has been compromised if the latest statement has expired."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1696787972 {#4397
      date: 2023-10-08 19:59:32.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4400 …}
    +nested: Doctrine\ORM\PersistentCollection {#4402 …}
    +votes: Doctrine\ORM\PersistentCollection {#4404 …}
    +reports: Doctrine\ORM\PersistentCollection {#4406 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4408 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4410 …}
    -id: 37714
    -bodyTs: "'also':1 'assum':10 'compromis':15 'expir':21 'latest':18 'note':3 'purplix':5 'site':12 'statement':19 'user':8 'warn':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.nz/comment/2955086"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696787972 {#4398
      date: 2023-10-08 19:59:32.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "That actually could be useful, by having a completely external company send a notification without action by the company receiving the warrant, it may be possible to circumvent the prohibition on alerting users."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1696788503 {#4471
    date: 2023-10-08 20:08:23.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4466 …}
  +nested: Doctrine\ORM\PersistentCollection {#4461 …}
  +votes: Doctrine\ORM\PersistentCollection {#4465 …}
  +reports: Doctrine\ORM\PersistentCollection {#4475 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4477 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4479 …}
  -id: 37721
  -bodyTs: "'action':16 'actual':2 'alert':32 'circumv':28 'compani':11,19 'complet':9 'could':3 'extern':10 'may':24 'notif':14 'possibl':26 'prohibit':30 'receiv':20 'send':12 'use':5 'user':33 'warrant':22 'without':15"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3496951"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696788503 {#4474
    date: 2023-10-08 20:08:23.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
19 DENIED edit
App\Entity\EntryComment {#4470
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4399
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4328
      +user: Proxies\__CG__\App\Entity\User {#4329 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4096
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 6
        +score: 0
        +lastActive: DateTime @1696894526 {#4105
          date: 2023-10-10 01:35:26.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4094 …}
        +nested: Doctrine\ORM\PersistentCollection {#4092 …}
        +votes: Doctrine\ORM\PersistentCollection {#4090 …}
        +reports: Doctrine\ORM\PersistentCollection {#4088 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
        -id: 37335
        -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3647025"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696768979 {#4041
          date: 2023-10-08 14:42:59.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
        \n
        The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 22
      +score: 0
      +lastActive: DateTime @1696773520 {#4326
        date: 2023-10-08 15:58:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4330 …}
      +nested: Doctrine\ORM\PersistentCollection {#4332 …}
      +votes: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
      -id: 37438
      -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://midwest.social/comment/3491850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696773520 {#4327
        date: 2023-10-08 15:58:40.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: "Also to note, that Purplix does warn users to assume the site has been compromised if the latest statement has expired."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1696787972 {#4397
      date: 2023-10-08 19:59:32.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4400 …}
    +nested: Doctrine\ORM\PersistentCollection {#4402 …}
    +votes: Doctrine\ORM\PersistentCollection {#4404 …}
    +reports: Doctrine\ORM\PersistentCollection {#4406 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4408 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4410 …}
    -id: 37714
    -bodyTs: "'also':1 'assum':10 'compromis':15 'expir':21 'latest':18 'note':3 'purplix':5 'site':12 'statement':19 'user':8 'warn':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.nz/comment/2955086"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696787972 {#4398
      date: 2023-10-08 19:59:32.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "That actually could be useful, by having a completely external company send a notification without action by the company receiving the warrant, it may be possible to circumvent the prohibition on alerting users."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1696788503 {#4471
    date: 2023-10-08 20:08:23.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4466 …}
  +nested: Doctrine\ORM\PersistentCollection {#4461 …}
  +votes: Doctrine\ORM\PersistentCollection {#4465 …}
  +reports: Doctrine\ORM\PersistentCollection {#4475 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4477 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4479 …}
  -id: 37721
  -bodyTs: "'action':16 'actual':2 'alert':32 'circumv':28 'compani':11,19 'complet':9 'could':3 'extern':10 'may':24 'notif':14 'possibl':26 'prohibit':30 'receiv':20 'send':12 'use':5 'user':33 'warrant':22 'without':15"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3496951"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696788503 {#4474
    date: 2023-10-08 20:08:23.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
20 DENIED moderate
App\Entity\EntryComment {#4470
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4399
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4328
      +user: Proxies\__CG__\App\Entity\User {#4329 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4096
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 6
        +score: 0
        +lastActive: DateTime @1696894526 {#4105
          date: 2023-10-10 01:35:26.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4094 …}
        +nested: Doctrine\ORM\PersistentCollection {#4092 …}
        +votes: Doctrine\ORM\PersistentCollection {#4090 …}
        +reports: Doctrine\ORM\PersistentCollection {#4088 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
        -id: 37335
        -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3647025"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696768979 {#4041
          date: 2023-10-08 14:42:59.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
        \n
        The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 22
      +score: 0
      +lastActive: DateTime @1696773520 {#4326
        date: 2023-10-08 15:58:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4330 …}
      +nested: Doctrine\ORM\PersistentCollection {#4332 …}
      +votes: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
      -id: 37438
      -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://midwest.social/comment/3491850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696773520 {#4327
        date: 2023-10-08 15:58:40.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: "Also to note, that Purplix does warn users to assume the site has been compromised if the latest statement has expired."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1696787972 {#4397
      date: 2023-10-08 19:59:32.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4400 …}
    +nested: Doctrine\ORM\PersistentCollection {#4402 …}
    +votes: Doctrine\ORM\PersistentCollection {#4404 …}
    +reports: Doctrine\ORM\PersistentCollection {#4406 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4408 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4410 …}
    -id: 37714
    -bodyTs: "'also':1 'assum':10 'compromis':15 'expir':21 'latest':18 'note':3 'purplix':5 'site':12 'statement':19 'user':8 'warn':7"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.nz/comment/2955086"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696787972 {#4398
      date: 2023-10-08 19:59:32.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "That actually could be useful, by having a completely external company send a notification without action by the company receiving the warrant, it may be possible to circumvent the prohibition on alerting users."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1696788503 {#4471
    date: 2023-10-08 20:08:23.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4466 …}
  +nested: Doctrine\ORM\PersistentCollection {#4461 …}
  +votes: Doctrine\ORM\PersistentCollection {#4465 …}
  +reports: Doctrine\ORM\PersistentCollection {#4475 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4477 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4479 …}
  -id: 37721
  -bodyTs: "'action':16 'actual':2 'alert':32 'circumv':28 'compani':11,19 'complet':9 'could':3 'extern':10 'may':24 'notif':14 'possibl':26 'prohibit':30 'receiv':20 'send':12 'use':5 'user':33 'warrant':22 'without':15"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3496951"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696788503 {#4474
    date: 2023-10-08 20:08:23.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
21 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
22 DENIED moderate
App\Entity\EntryComment {#4414
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
    \n
    And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
    \n
    The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
    \n
    You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696857826 {#4412
    date: 2023-10-09 15:23:46.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4415 …}
  +nested: Doctrine\ORM\PersistentCollection {#4417 …}
  +votes: Doctrine\ORM\PersistentCollection {#4419 …}
  +reports: Doctrine\ORM\PersistentCollection {#4421 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
  -id: 38697
  -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3712247"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696857826 {#4413
    date: 2023-10-09 15:23:46.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
23 DENIED edit
App\Entity\EntryComment {#4414
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
    \n
    And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
    \n
    The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
    \n
    You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696857826 {#4412
    date: 2023-10-09 15:23:46.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4415 …}
  +nested: Doctrine\ORM\PersistentCollection {#4417 …}
  +votes: Doctrine\ORM\PersistentCollection {#4419 …}
  +reports: Doctrine\ORM\PersistentCollection {#4421 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
  -id: 38697
  -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3712247"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696857826 {#4413
    date: 2023-10-09 15:23:46.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
24 DENIED moderate
App\Entity\EntryComment {#4414
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
    \n
    And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
    \n
    The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
    \n
    You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696857826 {#4412
    date: 2023-10-09 15:23:46.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4415 …}
  +nested: Doctrine\ORM\PersistentCollection {#4417 …}
  +votes: Doctrine\ORM\PersistentCollection {#4419 …}
  +reports: Doctrine\ORM\PersistentCollection {#4421 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
  -id: 38697
  -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3712247"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696857826 {#4413
    date: 2023-10-09 15:23:46.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
25 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
26 DENIED moderate
App\Entity\EntryComment {#4483
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4414
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4328
      +user: Proxies\__CG__\App\Entity\User {#4329 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4096
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 6
        +score: 0
        +lastActive: DateTime @1696894526 {#4105
          date: 2023-10-10 01:35:26.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4094 …}
        +nested: Doctrine\ORM\PersistentCollection {#4092 …}
        +votes: Doctrine\ORM\PersistentCollection {#4090 …}
        +reports: Doctrine\ORM\PersistentCollection {#4088 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
        -id: 37335
        -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3647025"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696768979 {#4041
          date: 2023-10-08 14:42:59.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
        \n
        The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 22
      +score: 0
      +lastActive: DateTime @1696773520 {#4326
        date: 2023-10-08 15:58:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4330 …}
      +nested: Doctrine\ORM\PersistentCollection {#4332 …}
      +votes: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
      -id: 37438
      -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://midwest.social/comment/3491850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696773520 {#4327
        date: 2023-10-08 15:58:40.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
      \n
      And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
      \n
      The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
      \n
      You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1696857826 {#4412
      date: 2023-10-09 15:23:46.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4415 …}
    +nested: Doctrine\ORM\PersistentCollection {#4417 …}
    +votes: Doctrine\ORM\PersistentCollection {#4419 …}
    +reports: Doctrine\ORM\PersistentCollection {#4421 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
    -id: 38697
    -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3712247"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696857826 {#4413
      date: 2023-10-09 15:23:46.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Yes, most of those points are the concerns with warrant canaries. So far as we know the concept is totally untested in court so it’s hard to say what the result would be until it happens.\n
    \n
    Updating the canary should require a human input (like a password to unlock the GPG key), which is not sometime the government would generally get access to (they make a request for data about XYZ user, and the company turns it over; they wouldn’t get actual access to the production system). The government could seek a ruling to force the company to update the canary, but as such a thing hasn’t been granted before (at least as far as we know), it’s not a guarantee. So, there is a chance that the warrant canary will serve to alert users to something happening, which is better than nothing. But because of its untested nature, it might be broken by a court.\n
    \n
    I’m not sure I understand your point about “once it’s triggered it can’t be reset.” If a company fails to update their canary on schedule it means something happened that they can’t disclose. Once they are released from the NDA they can release a new canary explaining what happened.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696868872 {#4481
    date: 2023-10-09 18:27:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4484 …}
  +nested: Doctrine\ORM\PersistentCollection {#4486 …}
  +votes: Doctrine\ORM\PersistentCollection {#4488 …}
  +reports: Doctrine\ORM\PersistentCollection {#4490 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4492 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4494 …}
  -id: 38944
  -bodyTs: "'access':63,85 'actual':84 'alert':138 'better':145 'broken':157 'canari':11,40,103,134,186,210 'chanc':130 'compani':76,99,181 'concept':18 'concern':8 'could':92 'court':23,160 'data':70 'disclos':197 'explain':211 'fail':182 'far':13,117 'forc':97 'general':61 'get':62,83 'govern':59,91 'gpg':52 'grant':112 'guarante':125 'happen':37,142,192,213 'hard':27 'hasn':109 'human':44 'input':45 'key':53 'know':16,120 'least':115 'like':46 'm':162 'make':66 'mean':190 'might':155 'natur':153 'nda':204 'new':209 'noth':147 'password':48 'point':5,168 'product':88 'releas':201,207 'request':68 'requir':42 'reset':178 'result':32 'rule':95 'say':29 'schedul':188 'seek':93 'serv':136 'someth':141,191 'sometim':57 'sure':164 'system':89 'thing':108 'total':20 'trigger':173 'turn':77 'understand':166 'unlock':50 'untest':21,152 'updat':38,101,184 'user':73,139 'warrant':10,133 'would':33,60 'wouldn':81 'xyz':72 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3561886"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696868872 {#4482
    date: 2023-10-09 18:27:52.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
27 DENIED edit
App\Entity\EntryComment {#4483
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4414
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4328
      +user: Proxies\__CG__\App\Entity\User {#4329 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4096
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 6
        +score: 0
        +lastActive: DateTime @1696894526 {#4105
          date: 2023-10-10 01:35:26.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4094 …}
        +nested: Doctrine\ORM\PersistentCollection {#4092 …}
        +votes: Doctrine\ORM\PersistentCollection {#4090 …}
        +reports: Doctrine\ORM\PersistentCollection {#4088 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
        -id: 37335
        -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3647025"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696768979 {#4041
          date: 2023-10-08 14:42:59.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
        \n
        The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 22
      +score: 0
      +lastActive: DateTime @1696773520 {#4326
        date: 2023-10-08 15:58:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4330 …}
      +nested: Doctrine\ORM\PersistentCollection {#4332 …}
      +votes: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
      -id: 37438
      -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://midwest.social/comment/3491850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696773520 {#4327
        date: 2023-10-08 15:58:40.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
      \n
      And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
      \n
      The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
      \n
      You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1696857826 {#4412
      date: 2023-10-09 15:23:46.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4415 …}
    +nested: Doctrine\ORM\PersistentCollection {#4417 …}
    +votes: Doctrine\ORM\PersistentCollection {#4419 …}
    +reports: Doctrine\ORM\PersistentCollection {#4421 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
    -id: 38697
    -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3712247"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696857826 {#4413
      date: 2023-10-09 15:23:46.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Yes, most of those points are the concerns with warrant canaries. So far as we know the concept is totally untested in court so it’s hard to say what the result would be until it happens.\n
    \n
    Updating the canary should require a human input (like a password to unlock the GPG key), which is not sometime the government would generally get access to (they make a request for data about XYZ user, and the company turns it over; they wouldn’t get actual access to the production system). The government could seek a ruling to force the company to update the canary, but as such a thing hasn’t been granted before (at least as far as we know), it’s not a guarantee. So, there is a chance that the warrant canary will serve to alert users to something happening, which is better than nothing. But because of its untested nature, it might be broken by a court.\n
    \n
    I’m not sure I understand your point about “once it’s triggered it can’t be reset.” If a company fails to update their canary on schedule it means something happened that they can’t disclose. Once they are released from the NDA they can release a new canary explaining what happened.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696868872 {#4481
    date: 2023-10-09 18:27:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4484 …}
  +nested: Doctrine\ORM\PersistentCollection {#4486 …}
  +votes: Doctrine\ORM\PersistentCollection {#4488 …}
  +reports: Doctrine\ORM\PersistentCollection {#4490 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4492 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4494 …}
  -id: 38944
  -bodyTs: "'access':63,85 'actual':84 'alert':138 'better':145 'broken':157 'canari':11,40,103,134,186,210 'chanc':130 'compani':76,99,181 'concept':18 'concern':8 'could':92 'court':23,160 'data':70 'disclos':197 'explain':211 'fail':182 'far':13,117 'forc':97 'general':61 'get':62,83 'govern':59,91 'gpg':52 'grant':112 'guarante':125 'happen':37,142,192,213 'hard':27 'hasn':109 'human':44 'input':45 'key':53 'know':16,120 'least':115 'like':46 'm':162 'make':66 'mean':190 'might':155 'natur':153 'nda':204 'new':209 'noth':147 'password':48 'point':5,168 'product':88 'releas':201,207 'request':68 'requir':42 'reset':178 'result':32 'rule':95 'say':29 'schedul':188 'seek':93 'serv':136 'someth':141,191 'sometim':57 'sure':164 'system':89 'thing':108 'total':20 'trigger':173 'turn':77 'understand':166 'unlock':50 'untest':21,152 'updat':38,101,184 'user':73,139 'warrant':10,133 'would':33,60 'wouldn':81 'xyz':72 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3561886"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696868872 {#4482
    date: 2023-10-09 18:27:52.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
28 DENIED moderate
App\Entity\EntryComment {#4483
  +user: Proxies\__CG__\App\Entity\User {#4329 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4414
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4328
      +user: Proxies\__CG__\App\Entity\User {#4329 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4096
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 6
        +score: 0
        +lastActive: DateTime @1696894526 {#4105
          date: 2023-10-10 01:35:26.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4094 …}
        +nested: Doctrine\ORM\PersistentCollection {#4092 …}
        +votes: Doctrine\ORM\PersistentCollection {#4090 …}
        +reports: Doctrine\ORM\PersistentCollection {#4088 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
        -id: 37335
        -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3647025"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696768979 {#4041
          date: 2023-10-08 14:42:59.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
        \n
        The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 22
      +score: 0
      +lastActive: DateTime @1696773520 {#4326
        date: 2023-10-08 15:58:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4330 …}
      +nested: Doctrine\ORM\PersistentCollection {#4332 …}
      +votes: Doctrine\ORM\PersistentCollection {#4334 …}
      +reports: Doctrine\ORM\PersistentCollection {#4336 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
      -id: 37438
      -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://midwest.social/comment/3491850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696773520 {#4327
        date: 2023-10-08 15:58:40.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
      \n
      And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
      \n
      The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
      \n
      You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1696857826 {#4412
      date: 2023-10-09 15:23:46.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4415 …}
    +nested: Doctrine\ORM\PersistentCollection {#4417 …}
    +votes: Doctrine\ORM\PersistentCollection {#4419 …}
    +reports: Doctrine\ORM\PersistentCollection {#4421 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
    -id: 38697
    -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3712247"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696857826 {#4413
      date: 2023-10-09 15:23:46.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Yes, most of those points are the concerns with warrant canaries. So far as we know the concept is totally untested in court so it’s hard to say what the result would be until it happens.\n
    \n
    Updating the canary should require a human input (like a password to unlock the GPG key), which is not sometime the government would generally get access to (they make a request for data about XYZ user, and the company turns it over; they wouldn’t get actual access to the production system). The government could seek a ruling to force the company to update the canary, but as such a thing hasn’t been granted before (at least as far as we know), it’s not a guarantee. So, there is a chance that the warrant canary will serve to alert users to something happening, which is better than nothing. But because of its untested nature, it might be broken by a court.\n
    \n
    I’m not sure I understand your point about “once it’s triggered it can’t be reset.” If a company fails to update their canary on schedule it means something happened that they can’t disclose. Once they are released from the NDA they can release a new canary explaining what happened.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696868872 {#4481
    date: 2023-10-09 18:27:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4484 …}
  +nested: Doctrine\ORM\PersistentCollection {#4486 …}
  +votes: Doctrine\ORM\PersistentCollection {#4488 …}
  +reports: Doctrine\ORM\PersistentCollection {#4490 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4492 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4494 …}
  -id: 38944
  -bodyTs: "'access':63,85 'actual':84 'alert':138 'better':145 'broken':157 'canari':11,40,103,134,186,210 'chanc':130 'compani':76,99,181 'concept':18 'concern':8 'could':92 'court':23,160 'data':70 'disclos':197 'explain':211 'fail':182 'far':13,117 'forc':97 'general':61 'get':62,83 'govern':59,91 'gpg':52 'grant':112 'guarante':125 'happen':37,142,192,213 'hard':27 'hasn':109 'human':44 'input':45 'key':53 'know':16,120 'least':115 'like':46 'm':162 'make':66 'mean':190 'might':155 'natur':153 'nda':204 'new':209 'noth':147 'password':48 'point':5,168 'product':88 'releas':201,207 'request':68 'requir':42 'reset':178 'result':32 'rule':95 'say':29 'schedul':188 'seek':93 'serv':136 'someth':141,191 'sometim':57 'sure':164 'system':89 'thing':108 'total':20 'trigger':173 'turn':77 'understand':166 'unlock':50 'untest':21,152 'updat':38,101,184 'user':73,139 'warrant':10,133 'would':33,60 'wouldn':81 'xyz':72 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://midwest.social/comment/3561886"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696868872 {#4482
    date: 2023-10-09 18:27:52.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
29 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
30 DENIED moderate
App\Entity\EntryComment {#4521
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4483
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4414
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4328
        +user: Proxies\__CG__\App\Entity\User {#4329 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4096
          +user: App\Entity\User {#4044 …}
          +entry: App\Entity\Entry {#1791}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 6
          +score: 0
          +lastActive: DateTime @1696894526 {#4105
            date: 2023-10-10 01:35:26.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Ward@lemmy.nz"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4094 …}
          +nested: Doctrine\ORM\PersistentCollection {#4092 …}
          +votes: Doctrine\ORM\PersistentCollection {#4090 …}
          +reports: Doctrine\ORM\PersistentCollection {#4088 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
          -id: 37335
          -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/3647025"
          +editedAt: null
          +createdAt: DateTimeImmutable @1696768979 {#4041
            date: 2023-10-08 14:42:59.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#4096}
        +body: """
          The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
          \n
          The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 22
        +score: 0
        +lastActive: DateTime @1696773520 {#4326
          date: 2023-10-08 15:58:40.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
          "@CameronDev@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4330 …}
        +nested: Doctrine\ORM\PersistentCollection {#4332 …}
        +votes: Doctrine\ORM\PersistentCollection {#4334 …}
        +reports: Doctrine\ORM\PersistentCollection {#4336 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
        -id: 37438
        -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://midwest.social/comment/3491850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696773520 {#4327
          date: 2023-10-08 15:58:40.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
        \n
        And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
        \n
        The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
        \n
        You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1696857826 {#4412
        date: 2023-10-09 15:23:46.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
        "@explore_broaden@midwest.social"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4415 …}
      +nested: Doctrine\ORM\PersistentCollection {#4417 …}
      +votes: Doctrine\ORM\PersistentCollection {#4419 …}
      +reports: Doctrine\ORM\PersistentCollection {#4421 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
      -id: 38697
      -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3712247"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696857826 {#4413
        date: 2023-10-09 15:23:46.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      Yes, most of those points are the concerns with warrant canaries. So far as we know the concept is totally untested in court so it’s hard to say what the result would be until it happens.\n
      \n
      Updating the canary should require a human input (like a password to unlock the GPG key), which is not sometime the government would generally get access to (they make a request for data about XYZ user, and the company turns it over; they wouldn’t get actual access to the production system). The government could seek a ruling to force the company to update the canary, but as such a thing hasn’t been granted before (at least as far as we know), it’s not a guarantee. So, there is a chance that the warrant canary will serve to alert users to something happening, which is better than nothing. But because of its untested nature, it might be broken by a court.\n
      \n
      I’m not sure I understand your point about “once it’s triggered it can’t be reset.” If a company fails to update their canary on schedule it means something happened that they can’t disclose. Once they are released from the NDA they can release a new canary explaining what happened.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1696868872 {#4481
      date: 2023-10-09 18:27:52.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4484 …}
    +nested: Doctrine\ORM\PersistentCollection {#4486 …}
    +votes: Doctrine\ORM\PersistentCollection {#4488 …}
    +reports: Doctrine\ORM\PersistentCollection {#4490 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4492 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4494 …}
    -id: 38944
    -bodyTs: "'access':63,85 'actual':84 'alert':138 'better':145 'broken':157 'canari':11,40,103,134,186,210 'chanc':130 'compani':76,99,181 'concept':18 'concern':8 'could':92 'court':23,160 'data':70 'disclos':197 'explain':211 'fail':182 'far':13,117 'forc':97 'general':61 'get':62,83 'govern':59,91 'gpg':52 'grant':112 'guarante':125 'happen':37,142,192,213 'hard':27 'hasn':109 'human':44 'input':45 'key':53 'know':16,120 'least':115 'like':46 'm':162 'make':66 'mean':190 'might':155 'natur':153 'nda':204 'new':209 'noth':147 'password':48 'point':5,168 'product':88 'releas':201,207 'request':68 'requir':42 'reset':178 'result':32 'rule':95 'say':29 'schedul':188 'seek':93 'serv':136 'someth':141,191 'sometim':57 'sure':164 'system':89 'thing':108 'total':20 'trigger':173 'turn':77 'understand':166 'unlock':50 'untest':21,152 'updat':38,101,184 'user':73,139 'warrant':10,133 'would':33,60 'wouldn':81 'xyz':72 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3561886"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696868872 {#4482
      date: 2023-10-09 18:27:52.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Wikipedia does claim that patriot act subpeonas can penalise any disclosure of the subpeona. But i am not a lawyer, and afaik this is untested (or at least undisclosed :/ )\n
    \n
    [en.m.wikipedia.org/wiki/Warrant_canary](https://en.m.wikipedia.org/wiki/Warrant_canary)\n
    \n
    > Some subpoenas, such as those covered under 18 U.S.C. §2709© (enacted as part of the USA Patriot Act), provide criminal penalties for disclosing the existence of the subpoena to any third party, including the service provider’s users.\n
    \n
    > In September 2014, U.S. security researcher Moxie Marlinspike wrote that “every lawyer I’ve spoken to has indicated that having a ‘canary’ you remove or choose not to update would likely have the same legal consequences as simply posting something that explicitly says you’ve received something.”\n
    \n
    I think my point is that a gag order with a long time out essentially kills the canary, even if it doesnt affect the vast majority of the services users.\n
    \n
    Thanks for your response though, I appreciate the additional information.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696894524 {#4522
    date: 2023-10-10 01:35:24.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4518 …}
  +nested: Doctrine\ORM\PersistentCollection {#4514 …}
  +votes: Doctrine\ORM\PersistentCollection {#4512 …}
  +reports: Doctrine\ORM\PersistentCollection {#4527 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4529 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4531 …}
  -id: 39406
  -bodyTs: "'/wiki/warrant_canary](https://en.m.wikipedia.org/wiki/warrant_canary)':32 '18':40 '2014':73 '2709':42 'act':6,50 'addit':156 'afaik':22 'affect':140 'appreci':154 'canari':92,135 'choos':96 'claim':3 'consequ':106 'cover':38 'crimin':52 'disclos':55 'disclosur':11 'doesnt':139 'en.m.wikipedia.org':31 'en.m.wikipedia.org/wiki/warrant_canary](https://en.m.wikipedia.org/wiki/warrant_canary)':30 'enact':43 'essenti':132 'even':136 'everi':81 'exist':57 'explicit':112 'gag':125 'includ':65 'indic':88 'inform':157 'kill':133 'lawyer':20,82 'least':28 'legal':105 'like':101 'long':129 'major':143 'marlinspik':78 'moxi':77 'order':126 'part':45 'parti':64 'patriot':5,49 'penalis':9 'penalti':53 'point':121 'post':109 'provid':51,68 'receiv':116 'remov':94 'research':76 'respons':151 'say':113 'secur':75 'septemb':72 'servic':67,146 'simpli':108 'someth':110,117 'spoken':85 'subpeona':7,14 'subpoena':34,60 'thank':148 'think':119 'third':63 'though':152 'time':130 'u.s':74 'u.s.c':41 'undisclos':29 'untest':25 'updat':99 'usa':48 'user':70,147 'vast':142 've':84,115 'wikipedia':1 'would':100 'wrote':79"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3738697"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696894524 {#4525
    date: 2023-10-10 01:35:24.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
31 DENIED edit
App\Entity\EntryComment {#4521
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4483
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4414
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4328
        +user: Proxies\__CG__\App\Entity\User {#4329 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4096
          +user: App\Entity\User {#4044 …}
          +entry: App\Entity\Entry {#1791}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 6
          +score: 0
          +lastActive: DateTime @1696894526 {#4105
            date: 2023-10-10 01:35:26.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Ward@lemmy.nz"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4094 …}
          +nested: Doctrine\ORM\PersistentCollection {#4092 …}
          +votes: Doctrine\ORM\PersistentCollection {#4090 …}
          +reports: Doctrine\ORM\PersistentCollection {#4088 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
          -id: 37335
          -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/3647025"
          +editedAt: null
          +createdAt: DateTimeImmutable @1696768979 {#4041
            date: 2023-10-08 14:42:59.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#4096}
        +body: """
          The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
          \n
          The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 22
        +score: 0
        +lastActive: DateTime @1696773520 {#4326
          date: 2023-10-08 15:58:40.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
          "@CameronDev@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4330 …}
        +nested: Doctrine\ORM\PersistentCollection {#4332 …}
        +votes: Doctrine\ORM\PersistentCollection {#4334 …}
        +reports: Doctrine\ORM\PersistentCollection {#4336 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
        -id: 37438
        -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://midwest.social/comment/3491850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696773520 {#4327
          date: 2023-10-08 15:58:40.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
        \n
        And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
        \n
        The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
        \n
        You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1696857826 {#4412
        date: 2023-10-09 15:23:46.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
        "@explore_broaden@midwest.social"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4415 …}
      +nested: Doctrine\ORM\PersistentCollection {#4417 …}
      +votes: Doctrine\ORM\PersistentCollection {#4419 …}
      +reports: Doctrine\ORM\PersistentCollection {#4421 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
      -id: 38697
      -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3712247"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696857826 {#4413
        date: 2023-10-09 15:23:46.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      Yes, most of those points are the concerns with warrant canaries. So far as we know the concept is totally untested in court so it’s hard to say what the result would be until it happens.\n
      \n
      Updating the canary should require a human input (like a password to unlock the GPG key), which is not sometime the government would generally get access to (they make a request for data about XYZ user, and the company turns it over; they wouldn’t get actual access to the production system). The government could seek a ruling to force the company to update the canary, but as such a thing hasn’t been granted before (at least as far as we know), it’s not a guarantee. So, there is a chance that the warrant canary will serve to alert users to something happening, which is better than nothing. But because of its untested nature, it might be broken by a court.\n
      \n
      I’m not sure I understand your point about “once it’s triggered it can’t be reset.” If a company fails to update their canary on schedule it means something happened that they can’t disclose. Once they are released from the NDA they can release a new canary explaining what happened.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1696868872 {#4481
      date: 2023-10-09 18:27:52.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4484 …}
    +nested: Doctrine\ORM\PersistentCollection {#4486 …}
    +votes: Doctrine\ORM\PersistentCollection {#4488 …}
    +reports: Doctrine\ORM\PersistentCollection {#4490 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4492 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4494 …}
    -id: 38944
    -bodyTs: "'access':63,85 'actual':84 'alert':138 'better':145 'broken':157 'canari':11,40,103,134,186,210 'chanc':130 'compani':76,99,181 'concept':18 'concern':8 'could':92 'court':23,160 'data':70 'disclos':197 'explain':211 'fail':182 'far':13,117 'forc':97 'general':61 'get':62,83 'govern':59,91 'gpg':52 'grant':112 'guarante':125 'happen':37,142,192,213 'hard':27 'hasn':109 'human':44 'input':45 'key':53 'know':16,120 'least':115 'like':46 'm':162 'make':66 'mean':190 'might':155 'natur':153 'nda':204 'new':209 'noth':147 'password':48 'point':5,168 'product':88 'releas':201,207 'request':68 'requir':42 'reset':178 'result':32 'rule':95 'say':29 'schedul':188 'seek':93 'serv':136 'someth':141,191 'sometim':57 'sure':164 'system':89 'thing':108 'total':20 'trigger':173 'turn':77 'understand':166 'unlock':50 'untest':21,152 'updat':38,101,184 'user':73,139 'warrant':10,133 'would':33,60 'wouldn':81 'xyz':72 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3561886"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696868872 {#4482
      date: 2023-10-09 18:27:52.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Wikipedia does claim that patriot act subpeonas can penalise any disclosure of the subpeona. But i am not a lawyer, and afaik this is untested (or at least undisclosed :/ )\n
    \n
    [en.m.wikipedia.org/wiki/Warrant_canary](https://en.m.wikipedia.org/wiki/Warrant_canary)\n
    \n
    > Some subpoenas, such as those covered under 18 U.S.C. §2709© (enacted as part of the USA Patriot Act), provide criminal penalties for disclosing the existence of the subpoena to any third party, including the service provider’s users.\n
    \n
    > In September 2014, U.S. security researcher Moxie Marlinspike wrote that “every lawyer I’ve spoken to has indicated that having a ‘canary’ you remove or choose not to update would likely have the same legal consequences as simply posting something that explicitly says you’ve received something.”\n
    \n
    I think my point is that a gag order with a long time out essentially kills the canary, even if it doesnt affect the vast majority of the services users.\n
    \n
    Thanks for your response though, I appreciate the additional information.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696894524 {#4522
    date: 2023-10-10 01:35:24.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4518 …}
  +nested: Doctrine\ORM\PersistentCollection {#4514 …}
  +votes: Doctrine\ORM\PersistentCollection {#4512 …}
  +reports: Doctrine\ORM\PersistentCollection {#4527 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4529 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4531 …}
  -id: 39406
  -bodyTs: "'/wiki/warrant_canary](https://en.m.wikipedia.org/wiki/warrant_canary)':32 '18':40 '2014':73 '2709':42 'act':6,50 'addit':156 'afaik':22 'affect':140 'appreci':154 'canari':92,135 'choos':96 'claim':3 'consequ':106 'cover':38 'crimin':52 'disclos':55 'disclosur':11 'doesnt':139 'en.m.wikipedia.org':31 'en.m.wikipedia.org/wiki/warrant_canary](https://en.m.wikipedia.org/wiki/warrant_canary)':30 'enact':43 'essenti':132 'even':136 'everi':81 'exist':57 'explicit':112 'gag':125 'includ':65 'indic':88 'inform':157 'kill':133 'lawyer':20,82 'least':28 'legal':105 'like':101 'long':129 'major':143 'marlinspik':78 'moxi':77 'order':126 'part':45 'parti':64 'patriot':5,49 'penalis':9 'penalti':53 'point':121 'post':109 'provid':51,68 'receiv':116 'remov':94 'research':76 'respons':151 'say':113 'secur':75 'septemb':72 'servic':67,146 'simpli':108 'someth':110,117 'spoken':85 'subpeona':7,14 'subpoena':34,60 'thank':148 'think':119 'third':63 'though':152 'time':130 'u.s':74 'u.s.c':41 'undisclos':29 'untest':25 'updat':99 'usa':48 'user':70,147 'vast':142 've':84,115 'wikipedia':1 'would':100 'wrote':79"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3738697"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696894524 {#4525
    date: 2023-10-10 01:35:24.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
32 DENIED moderate
App\Entity\EntryComment {#4521
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4483
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4414
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4328
        +user: Proxies\__CG__\App\Entity\User {#4329 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4096
          +user: App\Entity\User {#4044 …}
          +entry: App\Entity\Entry {#1791}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 6
          +score: 0
          +lastActive: DateTime @1696894526 {#4105
            date: 2023-10-10 01:35:26.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Ward@lemmy.nz"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4094 …}
          +nested: Doctrine\ORM\PersistentCollection {#4092 …}
          +votes: Doctrine\ORM\PersistentCollection {#4090 …}
          +reports: Doctrine\ORM\PersistentCollection {#4088 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
          -id: 37335
          -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/3647025"
          +editedAt: null
          +createdAt: DateTimeImmutable @1696768979 {#4041
            date: 2023-10-08 14:42:59.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#4096}
        +body: """
          The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
          \n
          The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 22
        +score: 0
        +lastActive: DateTime @1696773520 {#4326
          date: 2023-10-08 15:58:40.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
          "@CameronDev@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4330 …}
        +nested: Doctrine\ORM\PersistentCollection {#4332 …}
        +votes: Doctrine\ORM\PersistentCollection {#4334 …}
        +reports: Doctrine\ORM\PersistentCollection {#4336 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
        -id: 37438
        -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://midwest.social/comment/3491850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696773520 {#4327
          date: 2023-10-08 15:58:40.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4096}
      +body: """
        None of those compelled speech examples include national security though, which has its own level of rules and courts. (I am not American or a lawyer, so i may be wrong).\n
        \n
        And if a company can be compelled to hand over customer data, why wouldnt they be hand over access to the systems that update the canaries?\n
        \n
        The other issue is thar once a canary is triggered, it cant be reset, which means that XXX agency can trigger the canary with something meaningless, and then its forever untrustworthy.\n
        \n
        You may well be correct, and they are sufficient, but i am not convinced that canaries work, especially against the higher level adversaries.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1696857826 {#4412
        date: 2023-10-09 15:23:46.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@CameronDev@programming.dev"
        "@explore_broaden@midwest.social"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4415 …}
      +nested: Doctrine\ORM\PersistentCollection {#4417 …}
      +votes: Doctrine\ORM\PersistentCollection {#4419 …}
      +reports: Doctrine\ORM\PersistentCollection {#4421 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4423 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4425 …}
      -id: 38697
      -bodyTs: "'access':50 'adversari':111 'agenc':76 'american':23 'canari':57,65,80,104 'cant':69 'compani':35 'compel':4,38 'convinc':102 'correct':93 'court':19 'custom':42 'data':43 'especi':106 'exampl':6 'forev':87 'hand':40,48 'higher':109 'includ':7 'issu':60 'lawyer':26 'level':15,110 'may':29,90 'mean':73 'meaningless':83 'nation':8 'none':1 'reset':71 'rule':17 'secur':9 'someth':82 'speech':5 'suffici':97 'system':53 'thar':62 'though':10 'trigger':67,78 'untrustworthi':88 'updat':55 'well':91 'work':105 'wouldnt':45 'wrong':31 'xxx':75"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3712247"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696857826 {#4413
        date: 2023-10-09 15:23:46.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      Yes, most of those points are the concerns with warrant canaries. So far as we know the concept is totally untested in court so it’s hard to say what the result would be until it happens.\n
      \n
      Updating the canary should require a human input (like a password to unlock the GPG key), which is not sometime the government would generally get access to (they make a request for data about XYZ user, and the company turns it over; they wouldn’t get actual access to the production system). The government could seek a ruling to force the company to update the canary, but as such a thing hasn’t been granted before (at least as far as we know), it’s not a guarantee. So, there is a chance that the warrant canary will serve to alert users to something happening, which is better than nothing. But because of its untested nature, it might be broken by a court.\n
      \n
      I’m not sure I understand your point about “once it’s triggered it can’t be reset.” If a company fails to update their canary on schedule it means something happened that they can’t disclose. Once they are released from the NDA they can release a new canary explaining what happened.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1696868872 {#4481
      date: 2023-10-09 18:27:52.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
      "@explore_broaden@midwest.social"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4484 …}
    +nested: Doctrine\ORM\PersistentCollection {#4486 …}
    +votes: Doctrine\ORM\PersistentCollection {#4488 …}
    +reports: Doctrine\ORM\PersistentCollection {#4490 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4492 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4494 …}
    -id: 38944
    -bodyTs: "'access':63,85 'actual':84 'alert':138 'better':145 'broken':157 'canari':11,40,103,134,186,210 'chanc':130 'compani':76,99,181 'concept':18 'concern':8 'could':92 'court':23,160 'data':70 'disclos':197 'explain':211 'fail':182 'far':13,117 'forc':97 'general':61 'get':62,83 'govern':59,91 'gpg':52 'grant':112 'guarante':125 'happen':37,142,192,213 'hard':27 'hasn':109 'human':44 'input':45 'key':53 'know':16,120 'least':115 'like':46 'm':162 'make':66 'mean':190 'might':155 'natur':153 'nda':204 'new':209 'noth':147 'password':48 'point':5,168 'product':88 'releas':201,207 'request':68 'requir':42 'reset':178 'result':32 'rule':95 'say':29 'schedul':188 'seek':93 'serv':136 'someth':141,191 'sometim':57 'sure':164 'system':89 'thing':108 'total':20 'trigger':173 'turn':77 'understand':166 'unlock':50 'untest':21,152 'updat':38,101,184 'user':73,139 'warrant':10,133 'would':33,60 'wouldn':81 'xyz':72 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3561886"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696868872 {#4482
      date: 2023-10-09 18:27:52.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Wikipedia does claim that patriot act subpeonas can penalise any disclosure of the subpeona. But i am not a lawyer, and afaik this is untested (or at least undisclosed :/ )\n
    \n
    [en.m.wikipedia.org/wiki/Warrant_canary](https://en.m.wikipedia.org/wiki/Warrant_canary)\n
    \n
    > Some subpoenas, such as those covered under 18 U.S.C. §2709© (enacted as part of the USA Patriot Act), provide criminal penalties for disclosing the existence of the subpoena to any third party, including the service provider’s users.\n
    \n
    > In September 2014, U.S. security researcher Moxie Marlinspike wrote that “every lawyer I’ve spoken to has indicated that having a ‘canary’ you remove or choose not to update would likely have the same legal consequences as simply posting something that explicitly says you’ve received something.”\n
    \n
    I think my point is that a gag order with a long time out essentially kills the canary, even if it doesnt affect the vast majority of the services users.\n
    \n
    Thanks for your response though, I appreciate the additional information.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696894524 {#4522
    date: 2023-10-10 01:35:24.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4518 …}
  +nested: Doctrine\ORM\PersistentCollection {#4514 …}
  +votes: Doctrine\ORM\PersistentCollection {#4512 …}
  +reports: Doctrine\ORM\PersistentCollection {#4527 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4529 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4531 …}
  -id: 39406
  -bodyTs: "'/wiki/warrant_canary](https://en.m.wikipedia.org/wiki/warrant_canary)':32 '18':40 '2014':73 '2709':42 'act':6,50 'addit':156 'afaik':22 'affect':140 'appreci':154 'canari':92,135 'choos':96 'claim':3 'consequ':106 'cover':38 'crimin':52 'disclos':55 'disclosur':11 'doesnt':139 'en.m.wikipedia.org':31 'en.m.wikipedia.org/wiki/warrant_canary](https://en.m.wikipedia.org/wiki/warrant_canary)':30 'enact':43 'essenti':132 'even':136 'everi':81 'exist':57 'explicit':112 'gag':125 'includ':65 'indic':88 'inform':157 'kill':133 'lawyer':20,82 'least':28 'legal':105 'like':101 'long':129 'major':143 'marlinspik':78 'moxi':77 'order':126 'part':45 'parti':64 'patriot':5,49 'penalis':9 'penalti':53 'point':121 'post':109 'provid':51,68 'receiv':116 'remov':94 'research':76 'respons':151 'say':113 'secur':75 'septemb':72 'servic':67,146 'simpli':108 'someth':110,117 'spoken':85 'subpeona':7,14 'subpoena':34,60 'thank':148 'think':119 'third':63 'though':152 'time':130 'u.s':74 'u.s.c':41 'undisclos':29 'untest':25 'updat':99 'usa':48 'user':70,147 'vast':142 've':84,115 'wikipedia':1 'would':100 'wrote':79"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3738697"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696894524 {#4525
    date: 2023-10-10 01:35:24.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
33 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
34 DENIED moderate
App\Entity\EntryComment {#4430
  +user: Proxies\__CG__\App\Entity\User {#4431 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    I wonder where mandated sonograms and *abortions are bad* disclaimers to patients seeking abortions falls.\n
    \n
    That speecch is mandated, yet SCOTUS barred California from mandating crisis pregancy centers reporting to patients *you cannot get an abortion here but instead call these numbers to schedule one*\n
    \n
    Lots of controversies outside the topic of the thread, but certainly examples of mandated speech and rulings to prevent mandated speech.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696801267 {#4427
    date: 2023-10-08 23:41:07.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4432 …}
  +nested: Doctrine\ORM\PersistentCollection {#4434 …}
  +votes: Doctrine\ORM\PersistentCollection {#4436 …}
  +reports: Doctrine\ORM\PersistentCollection {#4438 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4440 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4442 …}
  -id: 37996
  -bodyTs: "'abort':7,14,36 'bad':9 'bar':22 'california':23 'call':40 'cannot':33 'center':28 'certain':56 'controversi':48 'crisi':26 'disclaim':10 'exampl':57 'fall':15 'get':34 'instead':39 'lot':46 'mandat':4,19,25,59,65 'number':42 'one':45 'outsid':49 'patient':12,31 'preganc':27 'prevent':64 'report':29 'rule':62 'schedul':44 'scotus':21 'seek':13 'sonogram':5 'speecch':17 'speech':60,66 'thread':54 'topic':51 'wonder':2 'yet':20"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/3391256"
  +editedAt: DateTimeImmutable @1697070034 {#4428
    date: 2023-10-12 02:20:34.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696801267 {#4429
    date: 2023-10-08 23:41:07.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
35 DENIED edit
App\Entity\EntryComment {#4430
  +user: Proxies\__CG__\App\Entity\User {#4431 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    I wonder where mandated sonograms and *abortions are bad* disclaimers to patients seeking abortions falls.\n
    \n
    That speecch is mandated, yet SCOTUS barred California from mandating crisis pregancy centers reporting to patients *you cannot get an abortion here but instead call these numbers to schedule one*\n
    \n
    Lots of controversies outside the topic of the thread, but certainly examples of mandated speech and rulings to prevent mandated speech.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696801267 {#4427
    date: 2023-10-08 23:41:07.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4432 …}
  +nested: Doctrine\ORM\PersistentCollection {#4434 …}
  +votes: Doctrine\ORM\PersistentCollection {#4436 …}
  +reports: Doctrine\ORM\PersistentCollection {#4438 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4440 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4442 …}
  -id: 37996
  -bodyTs: "'abort':7,14,36 'bad':9 'bar':22 'california':23 'call':40 'cannot':33 'center':28 'certain':56 'controversi':48 'crisi':26 'disclaim':10 'exampl':57 'fall':15 'get':34 'instead':39 'lot':46 'mandat':4,19,25,59,65 'number':42 'one':45 'outsid':49 'patient':12,31 'preganc':27 'prevent':64 'report':29 'rule':62 'schedul':44 'scotus':21 'seek':13 'sonogram':5 'speecch':17 'speech':60,66 'thread':54 'topic':51 'wonder':2 'yet':20"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/3391256"
  +editedAt: DateTimeImmutable @1697070034 {#4428
    date: 2023-10-12 02:20:34.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696801267 {#4429
    date: 2023-10-08 23:41:07.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
36 DENIED moderate
App\Entity\EntryComment {#4430
  +user: Proxies\__CG__\App\Entity\User {#4431 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4328
    +user: Proxies\__CG__\App\Entity\User {#4329 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: """
      The idea is that there is no such action as “triggering the canary” that the government can stop them from taking. Instead they refrain from updating it, thus alerting people that something has occurred. However, since the point of a canary is that not updating it raises concerns, I’m not sure how this service makes any sense (alerts on new canaries?).\n
      \n
      The idea is that there is a big difference between the government saying “don’t tell anyone about this” and saying “you must make a false statement (the canary) every X amount of time indefinitely.” In the past courts in the US have taken a fairly dim view of the government trying to compel speech. There are some example cases at [en.m.wikipedia.org/wiki/Compelled_speech#United_S…](https://en.m.wikipedia.org/wiki/Compelled_speech#United_States).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 22
    +score: 0
    +lastActive: DateTime @1696773520 {#4326
      date: 2023-10-08 15:58:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4330 …}
    +nested: Doctrine\ORM\PersistentCollection {#4332 …}
    +votes: Doctrine\ORM\PersistentCollection {#4334 …}
    +reports: Doctrine\ORM\PersistentCollection {#4336 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4338 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4340 …}
    -id: 37438
    -bodyTs: "'/wiki/compelled_speech#united_s':126 '/wiki/compelled_speech#united_states).':129 'action':9 'alert':29,59 'amount':94 'anyon':79 'big':70 'canari':13,41,62,91 'case':122 'compel':116 'concern':48 'court':101 'differ':71 'dim':109 'en.m.wikipedia.org':125,128 'en.m.wikipedia.org/wiki/compelled_speech#united_s':124 'en.m.wikipedia.org/wiki/compelled_speech#united_states).':127 'everi':92 'exampl':121 'fair':108 'fals':88 'govern':16,74,113 'howev':35 'idea':2,64 'indefinit':97 'instead':22 'm':50 'make':56,86 'must':85 'new':61 'occur':34 'past':100 'peopl':30 'point':38 'rais':47 'refrain':24 'say':75,83 'sens':58 'servic':55 'sinc':36 'someth':32 'speech':117 'statement':89 'stop':18 'sure':52 'take':21 'taken':106 'tell':78 'thus':28 'time':96 'tri':114 'trigger':11 'updat':26,45 'us':104 'view':110 'x':93"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://midwest.social/comment/3491850"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696773520 {#4327
      date: 2023-10-08 15:58:40.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    I wonder where mandated sonograms and *abortions are bad* disclaimers to patients seeking abortions falls.\n
    \n
    That speecch is mandated, yet SCOTUS barred California from mandating crisis pregancy centers reporting to patients *you cannot get an abortion here but instead call these numbers to schedule one*\n
    \n
    Lots of controversies outside the topic of the thread, but certainly examples of mandated speech and rulings to prevent mandated speech.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696801267 {#4427
    date: 2023-10-08 23:41:07.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@explore_broaden@midwest.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4432 …}
  +nested: Doctrine\ORM\PersistentCollection {#4434 …}
  +votes: Doctrine\ORM\PersistentCollection {#4436 …}
  +reports: Doctrine\ORM\PersistentCollection {#4438 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4440 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4442 …}
  -id: 37996
  -bodyTs: "'abort':7,14,36 'bad':9 'bar':22 'california':23 'call':40 'cannot':33 'center':28 'certain':56 'controversi':48 'crisi':26 'disclaim':10 'exampl':57 'fall':15 'get':34 'instead':39 'lot':46 'mandat':4,19,25,59,65 'number':42 'one':45 'outsid':49 'patient':12,31 'preganc':27 'prevent':64 'report':29 'rule':62 'schedul':44 'scotus':21 'seek':13 'sonogram':5 'speecch':17 'speech':60,66 'thread':54 'topic':51 'wonder':2 'yet':20"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/3391256"
  +editedAt: DateTimeImmutable @1697070034 {#4428
    date: 2023-10-12 02:20:34.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696801267 {#4429
    date: 2023-10-08 23:41:07.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
37 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
38 DENIED moderate
App\Entity\EntryComment {#4344
  +user: Proxies\__CG__\App\Entity\User {#4345 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "I think that’s the purpose of the “next update” part. As long as the ability to refresh that timestamp is gated behind a passphrase (for 5A protection) then it functions as a deadman switch for the canary."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1696770112 {#4342
    date: 2023-10-08 15:01:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4346 …}
  +nested: Doctrine\ORM\PersistentCollection {#4348 …}
  +votes: Doctrine\ORM\PersistentCollection {#4350 …}
  +reports: Doctrine\ORM\PersistentCollection {#4352 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4354 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4356 …}
  -id: 37357
  -bodyTs: "'5a':27 'abil':16 'behind':23 'canari':38 'deadman':34 'function':31 'gate':22 'long':13 'next':9 'part':11 'passphras':25 'protect':28 'purpos':6 'refresh':18 'switch':35 'think':2 'timestamp':20 'updat':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/4646702"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696770112 {#4343
    date: 2023-10-08 15:01:52.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
39 DENIED edit
App\Entity\EntryComment {#4344
  +user: Proxies\__CG__\App\Entity\User {#4345 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "I think that’s the purpose of the “next update” part. As long as the ability to refresh that timestamp is gated behind a passphrase (for 5A protection) then it functions as a deadman switch for the canary."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1696770112 {#4342
    date: 2023-10-08 15:01:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4346 …}
  +nested: Doctrine\ORM\PersistentCollection {#4348 …}
  +votes: Doctrine\ORM\PersistentCollection {#4350 …}
  +reports: Doctrine\ORM\PersistentCollection {#4352 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4354 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4356 …}
  -id: 37357
  -bodyTs: "'5a':27 'abil':16 'behind':23 'canari':38 'deadman':34 'function':31 'gate':22 'long':13 'next':9 'part':11 'passphras':25 'protect':28 'purpos':6 'refresh':18 'switch':35 'think':2 'timestamp':20 'updat':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/4646702"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696770112 {#4343
    date: 2023-10-08 15:01:52.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
40 DENIED moderate
App\Entity\EntryComment {#4344
  +user: Proxies\__CG__\App\Entity\User {#4345 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "I think that’s the purpose of the “next update” part. As long as the ability to refresh that timestamp is gated behind a passphrase (for 5A protection) then it functions as a deadman switch for the canary."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1696770112 {#4342
    date: 2023-10-08 15:01:52.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4346 …}
  +nested: Doctrine\ORM\PersistentCollection {#4348 …}
  +votes: Doctrine\ORM\PersistentCollection {#4350 …}
  +reports: Doctrine\ORM\PersistentCollection {#4352 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4354 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4356 …}
  -id: 37357
  -bodyTs: "'5a':27 'abil':16 'behind':23 'canari':38 'deadman':34 'function':31 'gate':22 'long':13 'next':9 'part':11 'passphras':25 'protect':28 'purpos':6 'refresh':18 'switch':35 'think':2 'timestamp':20 'updat':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/4646702"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696770112 {#4343
    date: 2023-10-08 15:01:52.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
41 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
42 DENIED moderate
App\Entity\EntryComment {#4385
  +user: Proxies\__CG__\App\Entity\User {#4381 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4344
    +user: Proxies\__CG__\App\Entity\User {#4345 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: "I think that’s the purpose of the “next update” part. As long as the ability to refresh that timestamp is gated behind a passphrase (for 5A protection) then it functions as a deadman switch for the canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1696770112 {#4342
      date: 2023-10-08 15:01:52.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4346 …}
    +nested: Doctrine\ORM\PersistentCollection {#4348 …}
    +votes: Doctrine\ORM\PersistentCollection {#4350 …}
    +reports: Doctrine\ORM\PersistentCollection {#4352 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4354 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4356 …}
    -id: 37357
    -bodyTs: "'5a':27 'abil':16 'behind':23 'canari':38 'deadman':34 'function':31 'gate':22 'long':13 'next':9 'part':11 'passphras':25 'protect':28 'purpos':6 'refresh':18 'switch':35 'think':2 'timestamp':20 'updat':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/4646702"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696770112 {#4343
      date: 2023-10-08 15:01:52.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Passphrases only work in locales with 5a or similar protection, and either have to be managed by a single person or have the potential to be leaked.\n
    \n
    Great for small businesses, but unworkable at the enterprise level.\n
    \n
    But having a canary mechanism for smaller businesses is crucial, because they can’t afford to put a wall of lawyers between them and potential government overreach.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696776215 {#4386
    date: 2023-10-08 16:43:35.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@felbane@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4377 …}
  +nested: Doctrine\ORM\PersistentCollection {#4375 …}
  +votes: Doctrine\ORM\PersistentCollection {#4379 …}
  +reports: Doctrine\ORM\PersistentCollection {#4391 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4393 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4395 …}
  -id: 37486
  -bodyTs: "'5a':7 'afford':52 'busi':31,45 'canari':41 'crucial':47 'either':12 'enterpris':36 'govern':63 'great':28 'lawyer':58 'leak':27 'level':37 'local':5 'manag':16 'mechan':42 'overreach':64 'passphras':1 'person':20 'potenti':24,62 'protect':10 'put':54 'similar':9 'singl':19 'small':30 'smaller':44 'unwork':33 'wall':56 'work':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/3770772"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696776215 {#4389
    date: 2023-10-08 16:43:35.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
43 DENIED edit
App\Entity\EntryComment {#4385
  +user: Proxies\__CG__\App\Entity\User {#4381 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4344
    +user: Proxies\__CG__\App\Entity\User {#4345 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: "I think that’s the purpose of the “next update” part. As long as the ability to refresh that timestamp is gated behind a passphrase (for 5A protection) then it functions as a deadman switch for the canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1696770112 {#4342
      date: 2023-10-08 15:01:52.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4346 …}
    +nested: Doctrine\ORM\PersistentCollection {#4348 …}
    +votes: Doctrine\ORM\PersistentCollection {#4350 …}
    +reports: Doctrine\ORM\PersistentCollection {#4352 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4354 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4356 …}
    -id: 37357
    -bodyTs: "'5a':27 'abil':16 'behind':23 'canari':38 'deadman':34 'function':31 'gate':22 'long':13 'next':9 'part':11 'passphras':25 'protect':28 'purpos':6 'refresh':18 'switch':35 'think':2 'timestamp':20 'updat':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/4646702"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696770112 {#4343
      date: 2023-10-08 15:01:52.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Passphrases only work in locales with 5a or similar protection, and either have to be managed by a single person or have the potential to be leaked.\n
    \n
    Great for small businesses, but unworkable at the enterprise level.\n
    \n
    But having a canary mechanism for smaller businesses is crucial, because they can’t afford to put a wall of lawyers between them and potential government overreach.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696776215 {#4386
    date: 2023-10-08 16:43:35.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@felbane@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4377 …}
  +nested: Doctrine\ORM\PersistentCollection {#4375 …}
  +votes: Doctrine\ORM\PersistentCollection {#4379 …}
  +reports: Doctrine\ORM\PersistentCollection {#4391 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4393 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4395 …}
  -id: 37486
  -bodyTs: "'5a':7 'afford':52 'busi':31,45 'canari':41 'crucial':47 'either':12 'enterpris':36 'govern':63 'great':28 'lawyer':58 'leak':27 'level':37 'local':5 'manag':16 'mechan':42 'overreach':64 'passphras':1 'person':20 'potenti':24,62 'protect':10 'put':54 'similar':9 'singl':19 'small':30 'smaller':44 'unwork':33 'wall':56 'work':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/3770772"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696776215 {#4389
    date: 2023-10-08 16:43:35.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
44 DENIED moderate
App\Entity\EntryComment {#4385
  +user: Proxies\__CG__\App\Entity\User {#4381 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4344
    +user: Proxies\__CG__\App\Entity\User {#4345 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4096
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1696894526 {#4105
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4094 …}
      +nested: Doctrine\ORM\PersistentCollection {#4092 …}
      +votes: Doctrine\ORM\PersistentCollection {#4090 …}
      +reports: Doctrine\ORM\PersistentCollection {#4088 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
      -id: 37335
      -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3647025"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696768979 {#4041
        date: 2023-10-08 14:42:59.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4096}
    +body: "I think that’s the purpose of the “next update” part. As long as the ability to refresh that timestamp is gated behind a passphrase (for 5A protection) then it functions as a deadman switch for the canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1696770112 {#4342
      date: 2023-10-08 15:01:52.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4346 …}
    +nested: Doctrine\ORM\PersistentCollection {#4348 …}
    +votes: Doctrine\ORM\PersistentCollection {#4350 …}
    +reports: Doctrine\ORM\PersistentCollection {#4352 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4354 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4356 …}
    -id: 37357
    -bodyTs: "'5a':27 'abil':16 'behind':23 'canari':38 'deadman':34 'function':31 'gate':22 'long':13 'next':9 'part':11 'passphras':25 'protect':28 'purpos':6 'refresh':18 'switch':35 'think':2 'timestamp':20 'updat':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/4646702"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696770112 {#4343
      date: 2023-10-08 15:01:52.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: """
    Passphrases only work in locales with 5a or similar protection, and either have to be managed by a single person or have the potential to be leaked.\n
    \n
    Great for small businesses, but unworkable at the enterprise level.\n
    \n
    But having a canary mechanism for smaller businesses is crucial, because they can’t afford to put a wall of lawyers between them and potential government overreach.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1696776215 {#4386
    date: 2023-10-08 16:43:35.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
    "@felbane@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4377 …}
  +nested: Doctrine\ORM\PersistentCollection {#4375 …}
  +votes: Doctrine\ORM\PersistentCollection {#4379 …}
  +reports: Doctrine\ORM\PersistentCollection {#4391 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4393 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4395 …}
  -id: 37486
  -bodyTs: "'5a':7 'afford':52 'busi':31,45 'canari':41 'crucial':47 'either':12 'enterpris':36 'govern':63 'great':28 'lawyer':58 'leak':27 'level':37 'local':5 'manag':16 'mechan':42 'overreach':64 'passphras':1 'person':20 'potenti':24,62 'protect':10 'put':54 'similar':9 'singl':19 'small':30 'smaller':44 'unwork':33 'wall':56 'work':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/3770772"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696776215 {#4389
    date: 2023-10-08 16:43:35.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
45 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
46 DENIED moderate
App\Entity\EntryComment {#4360
  +user: Proxies\__CG__\App\Entity\User {#4361 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "The canary is triggered through inaction, not action. The government would have to compel the target of the subpoena to keep updating the canary on schedule."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696794364 {#4358
    date: 2023-10-08 21:46:04.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4362 …}
  +nested: Doctrine\ORM\PersistentCollection {#4364 …}
  +votes: Doctrine\ORM\PersistentCollection {#4366 …}
  +reports: Doctrine\ORM\PersistentCollection {#4368 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
  -id: 37810
  -bodyTs: "'action':8 'canari':2,24 'compel':14 'govern':10 'inact':6 'keep':21 'schedul':26 'subpoena':19 'target':16 'trigger':4 'updat':22 'would':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://burggit.moe/comment/115548"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696794364 {#4359
    date: 2023-10-08 21:46:04.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
47 DENIED edit
App\Entity\EntryComment {#4360
  +user: Proxies\__CG__\App\Entity\User {#4361 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "The canary is triggered through inaction, not action. The government would have to compel the target of the subpoena to keep updating the canary on schedule."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696794364 {#4358
    date: 2023-10-08 21:46:04.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4362 …}
  +nested: Doctrine\ORM\PersistentCollection {#4364 …}
  +votes: Doctrine\ORM\PersistentCollection {#4366 …}
  +reports: Doctrine\ORM\PersistentCollection {#4368 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
  -id: 37810
  -bodyTs: "'action':8 'canari':2,24 'compel':14 'govern':10 'inact':6 'keep':21 'schedul':26 'subpoena':19 'target':16 'trigger':4 'updat':22 'would':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://burggit.moe/comment/115548"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696794364 {#4359
    date: 2023-10-08 21:46:04.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
48 DENIED moderate
App\Entity\EntryComment {#4360
  +user: Proxies\__CG__\App\Entity\User {#4361 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4096
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "Someone please correct me if I am wrong, but I was under the impression that warrent canaries were a broken concept. Anyone with the power to submit a warrant to a company also has the ability to prevent the company from triggering their canary."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1696894526 {#4105
      date: 2023-10-10 01:35:26.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4094 …}
    +nested: Doctrine\ORM\PersistentCollection {#4092 …}
    +votes: Doctrine\ORM\PersistentCollection {#4090 …}
    +reports: Doctrine\ORM\PersistentCollection {#4088 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4056 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4060 …}
    -id: 37335
    -bodyTs: "'abil':36 'also':33 'anyon':22 'broken':20 'canari':17,44 'compani':32,40 'concept':21 'correct':3 'impress':14 'pleas':2 'power':25 'prevent':38 'someon':1 'submit':27 'trigger':42 'warrant':29 'warrent':16 'wrong':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3647025"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696768979 {#4041
      date: 2023-10-08 14:42:59.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4096}
  +body: "The canary is triggered through inaction, not action. The government would have to compel the target of the subpoena to keep updating the canary on schedule."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696794364 {#4358
    date: 2023-10-08 21:46:04.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4362 …}
  +nested: Doctrine\ORM\PersistentCollection {#4364 …}
  +votes: Doctrine\ORM\PersistentCollection {#4366 …}
  +reports: Doctrine\ORM\PersistentCollection {#4368 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
  -id: 37810
  -bodyTs: "'action':8 'canari':2,24 'compel':14 'govern':10 'inact':6 'keep':21 'schedul':26 'subpoena':19 'target':16 'trigger':4 'updat':22 'would':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://burggit.moe/comment/115548"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696794364 {#4359
    date: 2023-10-08 21:46:04.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
49 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
50 DENIED moderate
App\Entity\EntryComment {#4128
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1696901316 {#4134
    date: 2023-10-10 03:28:36.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4133 …}
  +nested: Doctrine\ORM\PersistentCollection {#4132 …}
  +votes: Doctrine\ORM\PersistentCollection {#4123 …}
  +reports: Doctrine\ORM\PersistentCollection {#4126 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
  -id: 37293
  -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3646164"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696765931 {#4139
    date: 2023-10-08 13:52:11.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
51 DENIED edit
App\Entity\EntryComment {#4128
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1696901316 {#4134
    date: 2023-10-10 03:28:36.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4133 …}
  +nested: Doctrine\ORM\PersistentCollection {#4132 …}
  +votes: Doctrine\ORM\PersistentCollection {#4123 …}
  +reports: Doctrine\ORM\PersistentCollection {#4126 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
  -id: 37293
  -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3646164"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696765931 {#4139
    date: 2023-10-08 13:52:11.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
52 DENIED moderate
App\Entity\EntryComment {#4128
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1696901316 {#4134
    date: 2023-10-10 03:28:36.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4133 …}
  +nested: Doctrine\ORM\PersistentCollection {#4132 …}
  +votes: Doctrine\ORM\PersistentCollection {#4123 …}
  +reports: Doctrine\ORM\PersistentCollection {#4126 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
  -id: 37293
  -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3646164"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696765931 {#4139
    date: 2023-10-08 13:52:11.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
53 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
54 DENIED moderate
App\Entity\EntryComment {#4298
  +user: Proxies\__CG__\App\Entity\User {#4295 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4128
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1696901316 {#4134
      date: 2023-10-10 03:28:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4133 …}
    +nested: Doctrine\ORM\PersistentCollection {#4132 …}
    +votes: Doctrine\ORM\PersistentCollection {#4123 …}
    +reports: Doctrine\ORM\PersistentCollection {#4126 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
    -id: 37293
    -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3646164"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696765931 {#4139
      date: 2023-10-08 13:52:11.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "Maybe it was updated after your comment, but the demo site has that notice prominently at the top for me"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696832259 {#4299
    date: 2023-10-09 08:17:39.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4292 …}
  +nested: Doctrine\ORM\PersistentCollection {#4290 …}
  +votes: Doctrine\ORM\PersistentCollection {#4294 …}
  +reports: Doctrine\ORM\PersistentCollection {#4305 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4307 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4309 …}
  -id: 38346
  -bodyTs: "'comment':7 'demo':10 'mayb':1 'notic':14 'promin':15 'site':11 'top':18 'updat':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/4593909"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696832259 {#4302
    date: 2023-10-09 08:17:39.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
55 DENIED edit
App\Entity\EntryComment {#4298
  +user: Proxies\__CG__\App\Entity\User {#4295 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4128
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1696901316 {#4134
      date: 2023-10-10 03:28:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4133 …}
    +nested: Doctrine\ORM\PersistentCollection {#4132 …}
    +votes: Doctrine\ORM\PersistentCollection {#4123 …}
    +reports: Doctrine\ORM\PersistentCollection {#4126 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
    -id: 37293
    -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3646164"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696765931 {#4139
      date: 2023-10-08 13:52:11.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "Maybe it was updated after your comment, but the demo site has that notice prominently at the top for me"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696832259 {#4299
    date: 2023-10-09 08:17:39.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4292 …}
  +nested: Doctrine\ORM\PersistentCollection {#4290 …}
  +votes: Doctrine\ORM\PersistentCollection {#4294 …}
  +reports: Doctrine\ORM\PersistentCollection {#4305 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4307 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4309 …}
  -id: 38346
  -bodyTs: "'comment':7 'demo':10 'mayb':1 'notic':14 'promin':15 'site':11 'top':18 'updat':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/4593909"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696832259 {#4302
    date: 2023-10-09 08:17:39.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
56 DENIED moderate
App\Entity\EntryComment {#4298
  +user: Proxies\__CG__\App\Entity\User {#4295 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4128
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1696901316 {#4134
      date: 2023-10-10 03:28:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4133 …}
    +nested: Doctrine\ORM\PersistentCollection {#4132 …}
    +votes: Doctrine\ORM\PersistentCollection {#4123 …}
    +reports: Doctrine\ORM\PersistentCollection {#4126 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
    -id: 37293
    -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3646164"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696765931 {#4139
      date: 2023-10-08 13:52:11.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "Maybe it was updated after your comment, but the demo site has that notice prominently at the top for me"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696832259 {#4299
    date: 2023-10-09 08:17:39.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4292 …}
  +nested: Doctrine\ORM\PersistentCollection {#4290 …}
  +votes: Doctrine\ORM\PersistentCollection {#4294 …}
  +reports: Doctrine\ORM\PersistentCollection {#4305 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4307 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4309 …}
  -id: 38346
  -bodyTs: "'comment':7 'demo':10 'mayb':1 'notic':14 'promin':15 'site':11 'top':18 'updat':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/4593909"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696832259 {#4302
    date: 2023-10-09 08:17:39.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
57 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
58 DENIED moderate
App\Entity\EntryComment {#4313
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4128
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1696901316 {#4134
      date: 2023-10-10 03:28:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4133 …}
    +nested: Doctrine\ORM\PersistentCollection {#4132 …}
    +votes: Doctrine\ORM\PersistentCollection {#4123 …}
    +reports: Doctrine\ORM\PersistentCollection {#4126 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
    -id: 37293
    -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3646164"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696765931 {#4139
      date: 2023-10-08 13:52:11.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696858064 {#4311
    date: 2023-10-09 15:27:44.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4314 …}
  +nested: Doctrine\ORM\PersistentCollection {#4316 …}
  +votes: Doctrine\ORM\PersistentCollection {#4318 …}
  +reports: Doctrine\ORM\PersistentCollection {#4320 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
  -id: 38702
  -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3712445"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696858064 {#4312
    date: 2023-10-09 15:27:44.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
59 DENIED edit
App\Entity\EntryComment {#4313
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4128
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1696901316 {#4134
      date: 2023-10-10 03:28:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4133 …}
    +nested: Doctrine\ORM\PersistentCollection {#4132 …}
    +votes: Doctrine\ORM\PersistentCollection {#4123 …}
    +reports: Doctrine\ORM\PersistentCollection {#4126 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
    -id: 37293
    -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3646164"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696765931 {#4139
      date: 2023-10-08 13:52:11.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696858064 {#4311
    date: 2023-10-09 15:27:44.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4314 …}
  +nested: Doctrine\ORM\PersistentCollection {#4316 …}
  +votes: Doctrine\ORM\PersistentCollection {#4318 …}
  +reports: Doctrine\ORM\PersistentCollection {#4320 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
  -id: 38702
  -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3712445"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696858064 {#4312
    date: 2023-10-09 15:27:44.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
60 DENIED moderate
App\Entity\EntryComment {#4313
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4128
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: null
    +root: null
    +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1696901316 {#4134
      date: 2023-10-10 03:28:36.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4133 …}
    +nested: Doctrine\ORM\PersistentCollection {#4132 …}
    +votes: Doctrine\ORM\PersistentCollection {#4123 …}
    +reports: Doctrine\ORM\PersistentCollection {#4126 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
    -id: 37293
    -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3646164"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696765931 {#4139
      date: 2023-10-08 13:52:11.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1696858064 {#4311
    date: 2023-10-09 15:27:44.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4314 …}
  +nested: Doctrine\ORM\PersistentCollection {#4316 …}
  +votes: Doctrine\ORM\PersistentCollection {#4318 …}
  +reports: Doctrine\ORM\PersistentCollection {#4320 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
  -id: 38702
  -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3712445"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696858064 {#4312
    date: 2023-10-09 15:27:44.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
61 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
62 DENIED moderate
App\Entity\EntryComment {#4446
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4313
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4128
      +user: App\Entity\User {#4117 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1696901316 {#4134
        date: 2023-10-10 03:28:36.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4133 …}
      +nested: Doctrine\ORM\PersistentCollection {#4132 …}
      +votes: Doctrine\ORM\PersistentCollection {#4123 …}
      +reports: Doctrine\ORM\PersistentCollection {#4126 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
      -id: 37293
      -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3646164"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696765931 {#4139
        date: 2023-10-08 13:52:11.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1696858064 {#4311
      date: 2023-10-09 15:27:44.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4314 …}
    +nested: Doctrine\ORM\PersistentCollection {#4316 …}
    +votes: Doctrine\ORM\PersistentCollection {#4318 …}
    +reports: Doctrine\ORM\PersistentCollection {#4320 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
    -id: 38702
    -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3712445"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696858064 {#4312
      date: 2023-10-09 15:27:44.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: """
    What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
    \n
    For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
    \n
    Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696867833 {#4444
    date: 2023-10-09 18:10:33.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4447 …}
  +nested: Doctrine\ORM\PersistentCollection {#4449 …}
  +votes: Doctrine\ORM\PersistentCollection {#4451 …}
  +reports: Doctrine\ORM\PersistentCollection {#4453 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
  -id: 38914
  -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3720379"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696867833 {#4445
    date: 2023-10-09 18:10:33.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
63 DENIED edit
App\Entity\EntryComment {#4446
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4313
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4128
      +user: App\Entity\User {#4117 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1696901316 {#4134
        date: 2023-10-10 03:28:36.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4133 …}
      +nested: Doctrine\ORM\PersistentCollection {#4132 …}
      +votes: Doctrine\ORM\PersistentCollection {#4123 …}
      +reports: Doctrine\ORM\PersistentCollection {#4126 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
      -id: 37293
      -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3646164"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696765931 {#4139
        date: 2023-10-08 13:52:11.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1696858064 {#4311
      date: 2023-10-09 15:27:44.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4314 …}
    +nested: Doctrine\ORM\PersistentCollection {#4316 …}
    +votes: Doctrine\ORM\PersistentCollection {#4318 …}
    +reports: Doctrine\ORM\PersistentCollection {#4320 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
    -id: 38702
    -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3712445"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696858064 {#4312
      date: 2023-10-09 15:27:44.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: """
    What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
    \n
    For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
    \n
    Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696867833 {#4444
    date: 2023-10-09 18:10:33.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4447 …}
  +nested: Doctrine\ORM\PersistentCollection {#4449 …}
  +votes: Doctrine\ORM\PersistentCollection {#4451 …}
  +reports: Doctrine\ORM\PersistentCollection {#4453 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
  -id: 38914
  -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3720379"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696867833 {#4445
    date: 2023-10-09 18:10:33.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
64 DENIED moderate
App\Entity\EntryComment {#4446
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4313
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4128
      +user: App\Entity\User {#4117 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: null
      +root: null
      +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1696901316 {#4134
        date: 2023-10-10 03:28:36.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4133 …}
      +nested: Doctrine\ORM\PersistentCollection {#4132 …}
      +votes: Doctrine\ORM\PersistentCollection {#4123 …}
      +reports: Doctrine\ORM\PersistentCollection {#4126 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
      -id: 37293
      -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3646164"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696765931 {#4139
        date: 2023-10-08 13:52:11.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1696858064 {#4311
      date: 2023-10-09 15:27:44.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4314 …}
    +nested: Doctrine\ORM\PersistentCollection {#4316 …}
    +votes: Doctrine\ORM\PersistentCollection {#4318 …}
    +reports: Doctrine\ORM\PersistentCollection {#4320 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
    -id: 38702
    -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3712445"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696858064 {#4312
      date: 2023-10-09 15:27:44.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: """
    What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
    \n
    For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
    \n
    Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696867833 {#4444
    date: 2023-10-09 18:10:33.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4447 …}
  +nested: Doctrine\ORM\PersistentCollection {#4449 …}
  +votes: Doctrine\ORM\PersistentCollection {#4451 …}
  +reports: Doctrine\ORM\PersistentCollection {#4453 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
  -id: 38914
  -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3720379"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696867833 {#4445
    date: 2023-10-09 18:10:33.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
65 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
66 DENIED moderate
App\Entity\EntryComment {#4498
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4446
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4313
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4128
        +user: App\Entity\User {#4117 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 5
        +score: 0
        +lastActive: DateTime @1696901316 {#4134
          date: 2023-10-10 03:28:36.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4133 …}
        +nested: Doctrine\ORM\PersistentCollection {#4132 …}
        +votes: Doctrine\ORM\PersistentCollection {#4123 …}
        +reports: Doctrine\ORM\PersistentCollection {#4126 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
        -id: 37293
        -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3646164"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696765931 {#4139
          date: 2023-10-08 13:52:11.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4128}
      +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1696858064 {#4311
        date: 2023-10-09 15:27:44.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@stifle867@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4314 …}
      +nested: Doctrine\ORM\PersistentCollection {#4316 …}
      +votes: Doctrine\ORM\PersistentCollection {#4318 …}
      +reports: Doctrine\ORM\PersistentCollection {#4320 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
      -id: 38702
      -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3712445"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696858064 {#4312
        date: 2023-10-09 15:27:44.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: """
      What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
      \n
      For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
      \n
      Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1696867833 {#4444
      date: 2023-10-09 18:10:33.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4447 …}
    +nested: Doctrine\ORM\PersistentCollection {#4449 …}
    +votes: Doctrine\ORM\PersistentCollection {#4451 …}
    +reports: Doctrine\ORM\PersistentCollection {#4453 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
    -id: 38914
    -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3720379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696867833 {#4445
      date: 2023-10-09 18:10:33.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "They typically have a date for the message and the date for the next update. If they miss their update, they have failed."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696894628 {#4496
    date: 2023-10-10 01:37:08.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4499 …}
  +nested: Doctrine\ORM\PersistentCollection {#4501 …}
  +votes: Doctrine\ORM\PersistentCollection {#4503 …}
  +reports: Doctrine\ORM\PersistentCollection {#4505 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4507 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4509 …}
  -id: 39409
  -bodyTs: "'date':5,11 'fail':23 'messag':8 'miss':18 'next':14 'typic':2 'updat':15,20"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3738762"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696894628 {#4497
    date: 2023-10-10 01:37:08.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
67 DENIED edit
App\Entity\EntryComment {#4498
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4446
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4313
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4128
        +user: App\Entity\User {#4117 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 5
        +score: 0
        +lastActive: DateTime @1696901316 {#4134
          date: 2023-10-10 03:28:36.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4133 …}
        +nested: Doctrine\ORM\PersistentCollection {#4132 …}
        +votes: Doctrine\ORM\PersistentCollection {#4123 …}
        +reports: Doctrine\ORM\PersistentCollection {#4126 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
        -id: 37293
        -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3646164"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696765931 {#4139
          date: 2023-10-08 13:52:11.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4128}
      +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1696858064 {#4311
        date: 2023-10-09 15:27:44.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@stifle867@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4314 …}
      +nested: Doctrine\ORM\PersistentCollection {#4316 …}
      +votes: Doctrine\ORM\PersistentCollection {#4318 …}
      +reports: Doctrine\ORM\PersistentCollection {#4320 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
      -id: 38702
      -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3712445"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696858064 {#4312
        date: 2023-10-09 15:27:44.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: """
      What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
      \n
      For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
      \n
      Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1696867833 {#4444
      date: 2023-10-09 18:10:33.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4447 …}
    +nested: Doctrine\ORM\PersistentCollection {#4449 …}
    +votes: Doctrine\ORM\PersistentCollection {#4451 …}
    +reports: Doctrine\ORM\PersistentCollection {#4453 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
    -id: 38914
    -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3720379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696867833 {#4445
      date: 2023-10-09 18:10:33.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "They typically have a date for the message and the date for the next update. If they miss their update, they have failed."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696894628 {#4496
    date: 2023-10-10 01:37:08.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4499 …}
  +nested: Doctrine\ORM\PersistentCollection {#4501 …}
  +votes: Doctrine\ORM\PersistentCollection {#4503 …}
  +reports: Doctrine\ORM\PersistentCollection {#4505 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4507 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4509 …}
  -id: 39409
  -bodyTs: "'date':5,11 'fail':23 'messag':8 'miss':18 'next':14 'typic':2 'updat':15,20"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3738762"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696894628 {#4497
    date: 2023-10-10 01:37:08.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
68 DENIED moderate
App\Entity\EntryComment {#4498
  +user: App\Entity\User {#4044 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4446
    +user: App\Entity\User {#4117 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4313
      +user: App\Entity\User {#4044 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4128
        +user: App\Entity\User {#4117 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: null
        +root: null
        +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 5
        +score: 0
        +lastActive: DateTime @1696901316 {#4134
          date: 2023-10-10 03:28:36.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4133 …}
        +nested: Doctrine\ORM\PersistentCollection {#4132 …}
        +votes: Doctrine\ORM\PersistentCollection {#4123 …}
        +reports: Doctrine\ORM\PersistentCollection {#4126 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
        -id: 37293
        -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3646164"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696765931 {#4139
          date: 2023-10-08 13:52:11.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4128}
      +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1696858064 {#4311
        date: 2023-10-09 15:27:44.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@stifle867@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4314 …}
      +nested: Doctrine\ORM\PersistentCollection {#4316 …}
      +votes: Doctrine\ORM\PersistentCollection {#4318 …}
      +reports: Doctrine\ORM\PersistentCollection {#4320 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
      -id: 38702
      -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3712445"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696858064 {#4312
        date: 2023-10-09 15:27:44.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: """
      What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
      \n
      For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
      \n
      Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1696867833 {#4444
      date: 2023-10-09 18:10:33.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4447 …}
    +nested: Doctrine\ORM\PersistentCollection {#4449 …}
    +votes: Doctrine\ORM\PersistentCollection {#4451 …}
    +reports: Doctrine\ORM\PersistentCollection {#4453 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
    -id: 38914
    -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3720379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696867833 {#4445
      date: 2023-10-09 18:10:33.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: "They typically have a date for the message and the date for the next update. If they miss their update, they have failed."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696894628 {#4496
    date: 2023-10-10 01:37:08.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4499 …}
  +nested: Doctrine\ORM\PersistentCollection {#4501 …}
  +votes: Doctrine\ORM\PersistentCollection {#4503 …}
  +reports: Doctrine\ORM\PersistentCollection {#4505 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4507 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4509 …}
  -id: 39409
  -bodyTs: "'date':5,11 'fail':23 'messag':8 'miss':18 'next':14 'typic':2 'updat':15,20"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3738762"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696894628 {#4497
    date: 2023-10-10 01:37:08.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
69 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
70 DENIED moderate
App\Entity\EntryComment {#4535
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4498
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4446
      +user: App\Entity\User {#4117 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4313
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4128
          +user: App\Entity\User {#4117 …}
          +entry: App\Entity\Entry {#1791}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 5
          +score: 0
          +lastActive: DateTime @1696901316 {#4134
            date: 2023-10-10 03:28:36.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Ward@lemmy.nz"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4133 …}
          +nested: Doctrine\ORM\PersistentCollection {#4132 …}
          +votes: Doctrine\ORM\PersistentCollection {#4123 …}
          +reports: Doctrine\ORM\PersistentCollection {#4126 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
          -id: 37293
          -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/3646164"
          +editedAt: null
          +createdAt: DateTimeImmutable @1696765931 {#4139
            date: 2023-10-08 13:52:11.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#4128}
        +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1696858064 {#4311
          date: 2023-10-09 15:27:44.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
          "@stifle867@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4314 …}
        +nested: Doctrine\ORM\PersistentCollection {#4316 …}
        +votes: Doctrine\ORM\PersistentCollection {#4318 …}
        +reports: Doctrine\ORM\PersistentCollection {#4320 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
        -id: 38702
        -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3712445"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696858064 {#4312
          date: 2023-10-09 15:27:44.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4128}
      +body: """
        What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
        \n
        For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
        \n
        Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1696867833 {#4444
        date: 2023-10-09 18:10:33.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@stifle867@programming.dev"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4447 …}
      +nested: Doctrine\ORM\PersistentCollection {#4449 …}
      +votes: Doctrine\ORM\PersistentCollection {#4451 …}
      +reports: Doctrine\ORM\PersistentCollection {#4453 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
      -id: 38914
      -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3720379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696867833 {#4445
        date: 2023-10-09 18:10:33.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: "They typically have a date for the message and the date for the next update. If they miss their update, they have failed."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1696894628 {#4496
      date: 2023-10-10 01:37:08.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4499 …}
    +nested: Doctrine\ORM\PersistentCollection {#4501 …}
    +votes: Doctrine\ORM\PersistentCollection {#4503 …}
    +reports: Doctrine\ORM\PersistentCollection {#4505 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4507 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4509 …}
    -id: 39409
    -bodyTs: "'date':5,11 'fail':23 'messag':8 'miss':18 'next':14 'typic':2 'updat':15,20"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3738762"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696894628 {#4497
      date: 2023-10-10 01:37:08.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: """
    While you can find examples of companies doing it correctly, it’s also easy to find companies who do not. Also, some update theirs seemingly daily but don’t actually state this. Sure, you can check and see that it was updated “today”, but what if it doesn’t get updated and you don’t know its “typically” updated daily. Again, no date for the next update.\n
    \n
    These are all examples of companies who do not explicitly specify when the next update will be: kagi.com/privacy nordvpn.com/security-efforts/ cloudflare.com/transparency/
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696901314 {#4533
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4536 …}
  +nested: Doctrine\ORM\PersistentCollection {#4538 …}
  +votes: Doctrine\ORM\PersistentCollection {#4540 …}
  +reports: Doctrine\ORM\PersistentCollection {#4542 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4544 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4546 …}
  -id: 39526
  -bodyTs: "'/privacy':87 '/security-efforts/':90 '/transparency/':93 'actual':30 'also':13,21 'check':36 'cloudflare.com':92 'cloudflare.com/transparency/':91 'compani':7,17,73 'correct':10 'daili':26,60 'date':63 'doesn':48 'easi':14 'exampl':5,71 'explicit':77 'find':4,16 'get':50 'kagi.com':86 'kagi.com/privacy':85 'know':56 'next':66,81 'nordvpn.com':89 'nordvpn.com/security-efforts/':88 'see':38 'seem':25 'specifi':78 'state':31 'sure':33 'today':43 'typic':58 'updat':23,42,51,59,67,82"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3742742"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696901314 {#4534
    date: 2023-10-10 03:28:34.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
71 DENIED edit
App\Entity\EntryComment {#4535
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4498
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4446
      +user: App\Entity\User {#4117 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4313
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4128
          +user: App\Entity\User {#4117 …}
          +entry: App\Entity\Entry {#1791}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 5
          +score: 0
          +lastActive: DateTime @1696901316 {#4134
            date: 2023-10-10 03:28:36.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Ward@lemmy.nz"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4133 …}
          +nested: Doctrine\ORM\PersistentCollection {#4132 …}
          +votes: Doctrine\ORM\PersistentCollection {#4123 …}
          +reports: Doctrine\ORM\PersistentCollection {#4126 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
          -id: 37293
          -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/3646164"
          +editedAt: null
          +createdAt: DateTimeImmutable @1696765931 {#4139
            date: 2023-10-08 13:52:11.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#4128}
        +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1696858064 {#4311
          date: 2023-10-09 15:27:44.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
          "@stifle867@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4314 …}
        +nested: Doctrine\ORM\PersistentCollection {#4316 …}
        +votes: Doctrine\ORM\PersistentCollection {#4318 …}
        +reports: Doctrine\ORM\PersistentCollection {#4320 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
        -id: 38702
        -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3712445"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696858064 {#4312
          date: 2023-10-09 15:27:44.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4128}
      +body: """
        What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
        \n
        For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
        \n
        Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1696867833 {#4444
        date: 2023-10-09 18:10:33.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@stifle867@programming.dev"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4447 …}
      +nested: Doctrine\ORM\PersistentCollection {#4449 …}
      +votes: Doctrine\ORM\PersistentCollection {#4451 …}
      +reports: Doctrine\ORM\PersistentCollection {#4453 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
      -id: 38914
      -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3720379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696867833 {#4445
        date: 2023-10-09 18:10:33.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: "They typically have a date for the message and the date for the next update. If they miss their update, they have failed."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1696894628 {#4496
      date: 2023-10-10 01:37:08.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4499 …}
    +nested: Doctrine\ORM\PersistentCollection {#4501 …}
    +votes: Doctrine\ORM\PersistentCollection {#4503 …}
    +reports: Doctrine\ORM\PersistentCollection {#4505 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4507 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4509 …}
    -id: 39409
    -bodyTs: "'date':5,11 'fail':23 'messag':8 'miss':18 'next':14 'typic':2 'updat':15,20"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3738762"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696894628 {#4497
      date: 2023-10-10 01:37:08.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: """
    While you can find examples of companies doing it correctly, it’s also easy to find companies who do not. Also, some update theirs seemingly daily but don’t actually state this. Sure, you can check and see that it was updated “today”, but what if it doesn’t get updated and you don’t know its “typically” updated daily. Again, no date for the next update.\n
    \n
    These are all examples of companies who do not explicitly specify when the next update will be: kagi.com/privacy nordvpn.com/security-efforts/ cloudflare.com/transparency/
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696901314 {#4533
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4536 …}
  +nested: Doctrine\ORM\PersistentCollection {#4538 …}
  +votes: Doctrine\ORM\PersistentCollection {#4540 …}
  +reports: Doctrine\ORM\PersistentCollection {#4542 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4544 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4546 …}
  -id: 39526
  -bodyTs: "'/privacy':87 '/security-efforts/':90 '/transparency/':93 'actual':30 'also':13,21 'check':36 'cloudflare.com':92 'cloudflare.com/transparency/':91 'compani':7,17,73 'correct':10 'daili':26,60 'date':63 'doesn':48 'easi':14 'exampl':5,71 'explicit':77 'find':4,16 'get':50 'kagi.com':86 'kagi.com/privacy':85 'know':56 'next':66,81 'nordvpn.com':89 'nordvpn.com/security-efforts/':88 'see':38 'seem':25 'specifi':78 'state':31 'sure':33 'today':43 'typic':58 'updat':23,42,51,59,67,82"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3742742"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696901314 {#4534
    date: 2023-10-10 03:28:34.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
72 DENIED moderate
App\Entity\EntryComment {#4535
  +user: App\Entity\User {#4117 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: App\Entity\EntryComment {#4498
    +user: App\Entity\User {#4044 …}
    +entry: App\Entity\Entry {#1791}
    +magazine: App\Entity\Magazine {#264}
    +image: null
    +parent: App\Entity\EntryComment {#4446
      +user: App\Entity\User {#4117 …}
      +entry: App\Entity\Entry {#1791}
      +magazine: App\Entity\Magazine {#264}
      +image: null
      +parent: App\Entity\EntryComment {#4313
        +user: App\Entity\User {#4044 …}
        +entry: App\Entity\Entry {#1791}
        +magazine: App\Entity\Magazine {#264}
        +image: null
        +parent: App\Entity\EntryComment {#4128
          +user: App\Entity\User {#4117 …}
          +entry: App\Entity\Entry {#1791}
          +magazine: App\Entity\Magazine {#264}
          +image: null
          +parent: null
          +root: null
          +body: "This is a great idea! I wish more websites did warrant canaries, and those that do often fail to maintain them or plan for the case when a gag order prevents them from updating an existing canary. The only thing I would suggest is making it more clear that being in an alpha stage means that the product should not be relied upon in critical situations."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 5
          +score: 0
          +lastActive: DateTime @1696901316 {#4134
            date: 2023-10-10 03:28:36.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Ward@lemmy.nz"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4133 …}
          +nested: Doctrine\ORM\PersistentCollection {#4132 …}
          +votes: Doctrine\ORM\PersistentCollection {#4123 …}
          +reports: Doctrine\ORM\PersistentCollection {#4126 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4121 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4119 …}
          -id: 37293
          -bodyTs: "'alpha':53 'canari':12,37 'case':26 'clear':48 'critic':65 'exist':36 'fail':18 'gag':29 'great':4 'idea':5 'maintain':20 'make':45 'mean':55 'often':17 'order':30 'plan':23 'prevent':31 'product':58 'reli':62 'situat':66 'stage':54 'suggest':43 'thing':40 'updat':34 'upon':63 'warrant':11 'websit':9 'wish':7 'would':42"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://programming.dev/comment/3646164"
          +editedAt: null
          +createdAt: DateTimeImmutable @1696765931 {#4139
            date: 2023-10-08 13:52:11.0 +02:00
          }
        }
        +root: App\Entity\EntryComment {#4128}
        +body: "A failed warrant canary is effectively a triggered warrant canary. If its triggered, you have to assume the company has been issued a warrant, and is therefore vulnerable."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1696858064 {#4311
          date: 2023-10-09 15:27:44.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Ward@lemmy.nz"
          "@stifle867@programming.dev"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4314 …}
        +nested: Doctrine\ORM\PersistentCollection {#4316 …}
        +votes: Doctrine\ORM\PersistentCollection {#4318 …}
        +reports: Doctrine\ORM\PersistentCollection {#4320 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4322 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4324 …}
        -id: 38702
        -bodyTs: "'assum':17 'canari':4,10 'compani':19 'effect':6 'fail':2 'issu':22 'therefor':27 'trigger':8,13 'vulner':28 'warrant':3,9,24"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/3712445"
        +editedAt: null
        +createdAt: DateTimeImmutable @1696858064 {#4312
          date: 2023-10-09 15:27:44.0 +02:00
        }
      }
      +root: App\Entity\EntryComment {#4128}
      +body: """
        What do you mean by a failed warrant canary? In most cases there is no clear failure because there’s no clear plan in place to maintain them.\n
        \n
        For example, if a website has a statement “we have received 0 warrants”. When was that published? Yesterday? A year ago? More? Even if it has a date, say 6 months ago. What does that mean? That they only update it every year? Or maybe there were meant to update it they just forgot, maybe they aren’t allowed to update it due to a gag order.\n
        \n
        Due to the way each website does things differently with no clear guidelines, there isn’t actually a defined failure case.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1696867833 {#4444
        date: 2023-10-09 18:10:33.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
        "@stifle867@programming.dev"
        "@CameronDev@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4447 …}
      +nested: Doctrine\ORM\PersistentCollection {#4449 …}
      +votes: Doctrine\ORM\PersistentCollection {#4451 …}
      +reports: Doctrine\ORM\PersistentCollection {#4453 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4455 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4457 …}
      -id: 38914
      -bodyTs: "'0':40 '6':58 'actual':112 'ago':49,60 'allow':87 'aren':85 'canari':9 'case':12,116 'clear':16,22,107 'date':56 'defin':114 'differ':104 'due':91,96 'even':51 'everi':70 'exampl':30 'fail':7 'failur':17,115 'forgot':82 'gag':94 'guidelin':108 'isn':110 'maintain':27 'mayb':73,83 'mean':4,64 'meant':76 'month':59 'order':95 'place':25 'plan':23 'publish':45 'receiv':39 'say':57 'statement':36 'thing':103 'updat':68,78,89 'warrant':8,41 'way':99 'websit':33,101 'year':48,71 'yesterday':46"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/3720379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1696867833 {#4445
        date: 2023-10-09 18:10:33.0 +02:00
      }
    }
    +root: App\Entity\EntryComment {#4128}
    +body: "They typically have a date for the message and the date for the next update. If they miss their update, they have failed."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1696894628 {#4496
      date: 2023-10-10 01:37:08.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Ward@lemmy.nz"
      "@stifle867@programming.dev"
      "@CameronDev@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4499 …}
    +nested: Doctrine\ORM\PersistentCollection {#4501 …}
    +votes: Doctrine\ORM\PersistentCollection {#4503 …}
    +reports: Doctrine\ORM\PersistentCollection {#4505 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4507 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4509 …}
    -id: 39409
    -bodyTs: "'date':5,11 'fail':23 'messag':8 'miss':18 'next':14 'typic':2 'updat':15,20"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/3738762"
    +editedAt: null
    +createdAt: DateTimeImmutable @1696894628 {#4497
      date: 2023-10-10 01:37:08.0 +02:00
    }
  }
  +root: App\Entity\EntryComment {#4128}
  +body: """
    While you can find examples of companies doing it correctly, it’s also easy to find companies who do not. Also, some update theirs seemingly daily but don’t actually state this. Sure, you can check and see that it was updated “today”, but what if it doesn’t get updated and you don’t know its “typically” updated daily. Again, no date for the next update.\n
    \n
    These are all examples of companies who do not explicitly specify when the next update will be: kagi.com/privacy nordvpn.com/security-efforts/ cloudflare.com/transparency/
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696901314 {#4533
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
    "@stifle867@programming.dev"
    "@CameronDev@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4536 …}
  +nested: Doctrine\ORM\PersistentCollection {#4538 …}
  +votes: Doctrine\ORM\PersistentCollection {#4540 …}
  +reports: Doctrine\ORM\PersistentCollection {#4542 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4544 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4546 …}
  -id: 39526
  -bodyTs: "'/privacy':87 '/security-efforts/':90 '/transparency/':93 'actual':30 'also':13,21 'check':36 'cloudflare.com':92 'cloudflare.com/transparency/':91 'compani':7,17,73 'correct':10 'daili':26,60 'date':63 'doesn':48 'easi':14 'exampl':5,71 'explicit':77 'find':4,16 'get':50 'kagi.com':86 'kagi.com/privacy':85 'know':56 'next':66,81 'nordvpn.com':89 'nordvpn.com/security-efforts/':88 'see':38 'seem':25 'specifi':78 'state':31 'sure':33 'today':43 'typic':58 'updat':23,42,51,59,67,82"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/3742742"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696901314 {#4534
    date: 2023-10-10 03:28:34.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
73 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
74 DENIED moderate
App\Entity\EntryComment {#4213
  +user: App\Entity\User {#4226 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "Purplix.io looks cool, I don’t make surveys but If I do I’d probably use it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1696764988 {#4208
    date: 2023-10-08 13:36:28.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4214 …}
  +nested: Doctrine\ORM\PersistentCollection {#4216 …}
  +votes: Doctrine\ORM\PersistentCollection {#4218 …}
  +reports: Doctrine\ORM\PersistentCollection {#4220 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4222 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4224 …}
  -id: 37284
  -bodyTs: "'cool':3 'd':14 'look':2 'make':7 'probabl':15 'purplix.io':1 'survey':8 'use':16"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://aussie.zone/comment/3302840"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696764988 {#4209
    date: 2023-10-08 13:36:28.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
75 DENIED edit
App\Entity\EntryComment {#4213
  +user: App\Entity\User {#4226 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "Purplix.io looks cool, I don’t make surveys but If I do I’d probably use it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1696764988 {#4208
    date: 2023-10-08 13:36:28.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4214 …}
  +nested: Doctrine\ORM\PersistentCollection {#4216 …}
  +votes: Doctrine\ORM\PersistentCollection {#4218 …}
  +reports: Doctrine\ORM\PersistentCollection {#4220 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4222 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4224 …}
  -id: 37284
  -bodyTs: "'cool':3 'd':14 'look':2 'make':7 'probabl':15 'purplix.io':1 'survey':8 'use':16"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://aussie.zone/comment/3302840"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696764988 {#4209
    date: 2023-10-08 13:36:28.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
76 DENIED moderate
App\Entity\EntryComment {#4213
  +user: App\Entity\User {#4226 …}
  +entry: App\Entity\Entry {#1791
    +user: Proxies\__CG__\App\Entity\User {#1950 …}
    +magazine: App\Entity\Magazine {#264
      +icon: null
      +name: "privacyguides@lemmy.one"
      +title: "privacyguides"
      +description: """
        *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
        \n
        This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
        \n
        ---\n
        \n
        You can subscribe to this community from any Kbin or Lemmy instance:\n
        \n
        - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
        - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
        - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
        - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
        \n
        [Learn more…](https://lemmy.one/post/355)\n
        \n
        ---\n
        \n
        Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
        \n
        Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
        \n
        ---\n
        \n
        **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
        \n
        ---\n
        \n
        **Moderation Rules:**\n
        \n
        1. We prefer posting about open-source software whenever possible.\n
        2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
        3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
        4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
        5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
        6. Don’t repost topics which have already been covered here.\n
        7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
        8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
        9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
        10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
        11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
        12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
        \n
        ---\n
        \n
        Additional Resources:\n
        \n
        - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
        - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
        - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
        - [r/Privacy](https://www.reddit.com/r/Privacy)\n
        - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 259
      +entryCommentCount: 2490
      +postCount: 5
      +postCommentCount: 29
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729537882 {#274
        date: 2024-10-21 21:11:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#252 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
      +entries: Doctrine\ORM\PersistentCollection {#195 …}
      +posts: Doctrine\ORM\PersistentCollection {#153 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
      +bans: Doctrine\ORM\PersistentCollection {#132 …}
      +reports: Doctrine\ORM\PersistentCollection {#118 …}
      +badges: Doctrine\ORM\PersistentCollection {#96 …}
      +logs: Doctrine\ORM\PersistentCollection {#86 …}
      +awards: Doctrine\ORM\PersistentCollection {#75 …}
      +categories: Doctrine\ORM\PersistentCollection {#62 …}
      -id: 39
      +apId: "privacyguides@lemmy.one"
      +apProfileId: "https://lemmy.one/c/privacyguides"
      +apPublicUrl: "https://lemmy.one/c/privacyguides"
      +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
      +apInboxUrl: "https://lemmy.one/inbox"
      +apDomain: "lemmy.one"
      +apPreferredUsername: "privacyguides"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729576084 {#268
        date: 2024-10-22 07:48:04.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1696630878 {#270
        date: 2023-10-07 00:21:18.0 +02:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1878 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1914 …}
    +slug: "Simplifying-warrant-canaries-Purplix-canary"
    +title: "Simplifying warrant canaries - Purplix canary"
    +url: "https://lemmy.nz/pictrs/image/d7df6f62-2b4f-4a1d-8b9b-2ed7a398f31a.png"
    +body: """
      Github: [github.com/WardPearce/Purplix.io](https://github.com/WardPearce/Purplix.io)\n
      \n
      View our canary: [purplix.io/…/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwL…](https://purplix.io/c/purplix.io/3ZjhTlZRWv8iqa6sn9yJ3TRiIkVbwITOOlwLjJD36jQ)\n
      \n
      What is Purplix Canary?\n
      -----------------------\n
      \n
      Purplix Canary is a free & open source warrant canary tool what helps you to build trust with your users.\n
      \n
      It allows you to inform users cryptographically if your site has been compromised, seized or raided by anyone.\n
      \n
      ### How does it work?\n
      \n
      #### Site verification\n
      \n
      Purplix uses DNS records to verify the domain the canary is for, giving your users confidence they are trusting the right people.\n
      \n
      #### Canary signatures\n
      \n
      Each domain is associated with a unique key pair. The private key is generated locally and securely stored within the owner’s keychain. When a user visits a canary from a specific domain for the first time, their private key is used to sign the public key. This signed version of the public key is then automatically employed for subsequent visits, effectively mitigating man-in-the-middle attacks and ensuring the trustworthiness of canary statements from the respective domain.\n
      \n
      #### Files\n
      \n
      Canaries can include signed documents to help users further understand a situation.\n
      \n
      #### Notifications\n
      \n
      Users are automatically notified on the event of a new statement being published.\n
      \n
      ![](https://lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)\n
      \n
      ![](https://lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 18
    +favouriteCount: 85
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1696901314 {#1817
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1955 …}
    +votes: Doctrine\ORM\PersistentCollection {#1930 …}
    +reports: Doctrine\ORM\PersistentCollection {#1973 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1399 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2440 …}
    +badges: Doctrine\ORM\PersistentCollection {#2436 …}
    +children: []
    -id: 3570
    -titleTs: "'canari':3,5 'purplix':4 'simplifi':1 'warrant':2"
    -bodyTs: "'/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwl':9 '/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':12 '/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':199 '/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':193 '/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':196 '/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':4 'allow':37 'anyon':53 'associ':87 'attack':152 'automat':140,180 'build':31 'canari':7,16,18,25,69,82,112,158,165 'compromis':48 'confid':75 'cryptograph':42 'dns':62 'document':169 'domain':67,85,116,163 'effect':145 'employ':141 'ensur':154 'event':184 'file':164 'first':119 'free':21 'generat':97 'github':1 'github.com':3 'github.com/wardpearce/purplix.io](https://github.com/wardpearce/purplix.io)':2 'give':72 'help':28,171 'includ':167 'inform':40 'key':91,95,123,130,137 'keychain':106 'lemmy.nz':192,195,198 'lemmy.nz/pictrs/image/c0162d33-83c7-4824-ab1c-fbf57972887d.png)':197 'lemmy.nz/pictrs/image/dcf1257b-b26c-4526-8586-e64cdd80e87e.png)':191 'lemmy.nz/pictrs/image/dd1ce480-90ab-46cb-bc66-cf0167dcff83.png)':194 'local':98 'man':148 'man-in-the-middl':147 'middl':151 'mitig':146 'new':187 'notif':177 'notifi':181 'open':22 'owner':104 'pair':92 'peopl':81 'privat':94,122 'public':129,136 'publish':190 'purplix':15,17,60 'purplix.io':8,11 'purplix.io/c/purplix.io/3zjhtlzrwv8iqa6sn9yj3triikvbwitoolwljjd36jq)':10 'raid':51 'record':63 'respect':162 'right':80 'secur':100 'seiz':49 'sign':127,132,168 'signatur':83 'site':45,58 'situat':176 'sourc':23 'specif':115 'statement':159,188 'store':101 'subsequ':143 'time':120 'tool':26 'trust':32,78 'trustworthi':156 'understand':174 'uniqu':90 'use':61,125 'user':35,41,74,109,172,178 'verif':59 'verifi':65 'version':133 'view':5 'visit':110,144 'warrant':24 'within':102 'work':57"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1696847965
    +visibility: "visible             "
    +apId: "https://lemmy.nz/post/2235407"
    +editedAt: DateTimeImmutable @1696761700 {#1854
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#2406
      date: 2023-10-08 12:39:25.0 +02:00
    }
  }
  +magazine: App\Entity\Magazine {#264}
  +image: null
  +parent: null
  +root: null
  +body: "Purplix.io looks cool, I don’t make surveys but If I do I’d probably use it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1696764988 {#4208
    date: 2023-10-08 13:36:28.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4214 …}
  +nested: Doctrine\ORM\PersistentCollection {#4216 …}
  +votes: Doctrine\ORM\PersistentCollection {#4218 …}
  +reports: Doctrine\ORM\PersistentCollection {#4220 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4222 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4224 …}
  -id: 37284
  -bodyTs: "'cool':3 'd':14 'look':2 'make':7 'probabl':15 'purplix.io':1 'survey':8 'use':16"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://aussie.zone/comment/3302840"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696764988 {#4209
    date: 2023-10-08 13:36:28.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
77 DENIED edit
App\Entity\Magazine {#264
  +icon: null
  +name: "privacyguides@lemmy.one"
  +title: "privacyguides"
  +description: """
    *In the digital age, protecting your personal information might seem like an impossible task. We’re here to help.*\n
    \n
    This is a community for sharing news about privacy, posting information about cool privacy tools and services, and getting advice about your privacy journey.\n
    \n
    ---\n
    \n
    You can subscribe to this community from any Kbin or Lemmy instance:\n
    \n
    - [Subscribe on Kbin.social](https://kbin.social/m/privacyguides@lemmy.one)\n
    - [Subscribe on Lemmy.one](https://lemmy.one/c/privacyguides)\n
    - [Subscribe on Lemmy.ml](https://lemmy.ml/c/privacyguides@lemmy.one)\n
    - [Subscribe on Beehaw.org](https://beehaw.org/c/privacyguides@lemmy.one)\n
    \n
    [Learn more…](https://lemmy.one/post/355)\n
    \n
    ---\n
    \n
    Check out our website at [privacyguides.org](https://www.privacyguides.org) before asking your questions here. We’ve tried answering the common questions and recommendations there!\n
    \n
    Want to get involved? The website is [open-source on GitHub](https://github.com/privacyguides/privacyguides.org), and your help would be appreciated!\n
    \n
    ---\n
    \n
    **This community is the “official” Privacy Guides community on Lemmy, which can be [verified here](https://www.reddit.com/r/PrivacyGuides/comments/13x7oe3/who_wants_to_try_out_lemmy_privacyguideslemmyone/). Other “Privacy Guides” communities on other Lemmy servers are not moderated by this team or associated with the website.**\n
    \n
    ---\n
    \n
    **Moderation Rules:**\n
    \n
    1. We prefer posting about open-source software whenever possible.\n
    2. This is not the place for self-promotion if you are not listed on privacyguides.org. If you want to be listed, [make a suggestion on our forum first](https://discuss.privacyguides.net/c/site-development/suggestions/6).\n
    3. No soliciting engagement: Don’t ask for upvotes, follows, etc.\n
    4. Surveys, Fundraising, and Petitions must be **pre**-approved by the mod team.\n
    5. Be civil, no violence, hate speech. Assume people here are posting in good faith.\n
    6. Don’t repost topics which have already been covered here.\n
    7. News posts must be related to privacy and security, and **your post title must match the article headline exactly.** Do not editorialize titles, you can post your opinions in the post body or a comment.\n
    8. Memes/images/video posts that could be summarized as text explanations should not be posted. Infographics and conference talks from reputable sources are acceptable.\n
    9. **No help vampires:** This is not a tech support subreddit, don’t abuse our community’s willingness to help. Questions related to privacy, security or privacy/security related software and their configurations are acceptable.\n
    10. No misinformation: Extraordinary claims must be matched with **evidence.**\n
    11. Do not post about VPNs or cryptocurrencies which are not listed on [privacyguides.org](https://www.privacyguides.org/en/tools/). See Rule 2 for info on adding new recommendations to the website.\n
    12. General guides or software lists are not permitted. Original sources and research about specific topics are allowed as long as they are high quality and factual. **We are not providing a platform for poorly-vetted, out-of-date or conflicting recommendations.**\n
    \n
    ---\n
    \n
    Additional Resources:\n
    \n
    - [EFF: Surveillance Self-Defense](https://ssd.eff.org/)\n
    - [Consumer Reports Security Planner](https://securityplanner.consumerreports.org/)\n
    - [Jonah Aragon](https://www.jonaharagon.com) ([YouTube](https://youtube.com/@jonaharagon))\n
    - [r/Privacy](https://www.reddit.com/r/Privacy)\n
    - [Big Ass Data Broker Opt-Out List](https://github.com/yaelwrites/Big-Ass-Data-Broker-Opt-Out-List)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 259
  +entryCommentCount: 2490
  +postCount: 5
  +postCommentCount: 29
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729537882 {#274
    date: 2024-10-21 21:11:22.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#252 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#248 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#237 …}
  +entries: Doctrine\ORM\PersistentCollection {#195 …}
  +posts: Doctrine\ORM\PersistentCollection {#153 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#215 …}
  +bans: Doctrine\ORM\PersistentCollection {#132 …}
  +reports: Doctrine\ORM\PersistentCollection {#118 …}
  +badges: Doctrine\ORM\PersistentCollection {#96 …}
  +logs: Doctrine\ORM\PersistentCollection {#86 …}
  +awards: Doctrine\ORM\PersistentCollection {#75 …}
  +categories: Doctrine\ORM\PersistentCollection {#62 …}
  -id: 39
  +apId: "privacyguides@lemmy.one"
  +apProfileId: "https://lemmy.one/c/privacyguides"
  +apPublicUrl: "https://lemmy.one/c/privacyguides"
  +apFollowersUrl: "https://lemmy.one/c/privacyguides/followers"
  +apInboxUrl: "https://lemmy.one/inbox"
  +apDomain: "lemmy.one"
  +apPreferredUsername: "privacyguides"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729576084 {#268
    date: 2024-10-22 07:48:04.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1696630878 {#270
    date: 2023-10-07 00:21:18.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details