Redirect 302 redirect from GET @entry_comment_create (d70659)

GET https://kbin.spritesserver.nl/u/@CameronDev@programming.dev/top/2023-10-08::2023-10-08

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 …}
}
0.77 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.03 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
Proxies\__CG__\App\Entity\Entry {#1582
  +user: Proxies\__CG__\App\Entity\User {#2455 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: Proxies\__CG__\App\Entity\Image {#2040 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#2327 …}
  +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 {#1621
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2325 …}
  +votes: Doctrine\ORM\PersistentCollection {#2326 …}
  +reports: Doctrine\ORM\PersistentCollection {#2314 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2071 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2069 …}
  +badges: Doctrine\ORM\PersistentCollection {#2055 …}
  +children: [
    App\Entity\EntryComment {#1709
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +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 {#1435
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1572 …}
      +nested: Doctrine\ORM\PersistentCollection {#1581 …}
      +votes: Doctrine\ORM\PersistentCollection {#1579 …}
      +reports: Doctrine\ORM\PersistentCollection {#1577 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
      -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 {#1438
        date: 2023-10-08 14:42:59.0 +02:00
      }
      +"title": 37335
    }
  ]
  -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 {#1696
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#1680
    date: 2023-10-08 12:39:25.0 +02:00
  }
  +__isInitialized__: true
   …2
}
"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
Proxies\__CG__\App\Entity\Entry {#1582
  +user: Proxies\__CG__\App\Entity\User {#2455 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: Proxies\__CG__\App\Entity\Image {#2040 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#2327 …}
  +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 {#1621
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2325 …}
  +votes: Doctrine\ORM\PersistentCollection {#2326 …}
  +reports: Doctrine\ORM\PersistentCollection {#2314 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2071 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2069 …}
  +badges: Doctrine\ORM\PersistentCollection {#2055 …}
  +children: [
    App\Entity\EntryComment {#1709
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +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 {#1435
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1572 …}
      +nested: Doctrine\ORM\PersistentCollection {#1581 …}
      +votes: Doctrine\ORM\PersistentCollection {#1579 …}
      +reports: Doctrine\ORM\PersistentCollection {#1577 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
      -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 {#1438
        date: 2023-10-08 14:42:59.0 +02:00
      }
      +"title": 37335
    }
  ]
  -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 {#1696
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#1680
    date: 2023-10-08 12:39:25.0 +02:00
  }
  +__isInitialized__: true
   …2
}
"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
Proxies\__CG__\App\Entity\Entry {#1582
  +user: Proxies\__CG__\App\Entity\User {#2455 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: Proxies\__CG__\App\Entity\Image {#2040 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#2327 …}
  +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 {#1621
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2325 …}
  +votes: Doctrine\ORM\PersistentCollection {#2326 …}
  +reports: Doctrine\ORM\PersistentCollection {#2314 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2071 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2069 …}
  +badges: Doctrine\ORM\PersistentCollection {#2055 …}
  +children: [
    App\Entity\EntryComment {#1709
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +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 {#1435
        date: 2023-10-10 01:35:26.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Ward@lemmy.nz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1572 …}
      +nested: Doctrine\ORM\PersistentCollection {#1581 …}
      +votes: Doctrine\ORM\PersistentCollection {#1579 …}
      +reports: Doctrine\ORM\PersistentCollection {#1577 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
      -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 {#1438
        date: 2023-10-08 14:42:59.0 +02:00
      }
      +"title": 37335
    }
  ]
  -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 {#1696
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#1680
    date: 2023-10-08 12:39:25.0 +02:00
  }
  +__isInitialized__: true
   …2
}
"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 {#1709
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#2455 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2040 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2327 …}
    +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 {#1621
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2325 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2314 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2071 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2069 …}
    +badges: Doctrine\ORM\PersistentCollection {#2055 …}
    +children: [
      App\Entity\EntryComment {#1709}
    ]
    -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 {#1696
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#1680
      date: 2023-10-08 12:39:25.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +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 {#1435
    date: 2023-10-10 01:35:26.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1572 …}
  +nested: Doctrine\ORM\PersistentCollection {#1581 …}
  +votes: Doctrine\ORM\PersistentCollection {#1579 …}
  +reports: Doctrine\ORM\PersistentCollection {#1577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
  -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 {#1438
    date: 2023-10-08 14:42:59.0 +02:00
  }
  +"title": 37335
}
"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 {#1709
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#2455 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2040 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2327 …}
    +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 {#1621
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2325 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2314 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2071 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2069 …}
    +badges: Doctrine\ORM\PersistentCollection {#2055 …}
    +children: [
      App\Entity\EntryComment {#1709}
    ]
    -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 {#1696
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#1680
      date: 2023-10-08 12:39:25.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +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 {#1435
    date: 2023-10-10 01:35:26.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1572 …}
  +nested: Doctrine\ORM\PersistentCollection {#1581 …}
  +votes: Doctrine\ORM\PersistentCollection {#1579 …}
  +reports: Doctrine\ORM\PersistentCollection {#1577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
  -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 {#1438
    date: 2023-10-08 14:42:59.0 +02:00
  }
  +"title": 37335
}
"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 {#1709
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: Proxies\__CG__\App\Entity\User {#2455 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: Proxies\__CG__\App\Entity\Image {#2040 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#2327 …}
    +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 {#1621
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2325 …}
    +votes: Doctrine\ORM\PersistentCollection {#2326 …}
    +reports: Doctrine\ORM\PersistentCollection {#2314 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2071 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2069 …}
    +badges: Doctrine\ORM\PersistentCollection {#2055 …}
    +children: [
      App\Entity\EntryComment {#1709}
    ]
    -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 {#1696
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#1680
      date: 2023-10-08 12:39:25.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +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 {#1435
    date: 2023-10-10 01:35:26.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Ward@lemmy.nz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1572 …}
  +nested: Doctrine\ORM\PersistentCollection {#1581 …}
  +votes: Doctrine\ORM\PersistentCollection {#1579 …}
  +reports: Doctrine\ORM\PersistentCollection {#1577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
  -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 {#1438
    date: 2023-10-08 14:42:59.0 +02:00
  }
  +"title": 37335
}
"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_ADMIN
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 ROLE_MODERATOR
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