GET https://kbin.spritesserver.nl/u/@rinkan@burggit.moe/newest/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 …}
}
2.42 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.23 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.08 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 {#1579
  +user: Proxies\__CG__\App\Entity\User {#2471 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: Proxies\__CG__\App\Entity\Image {#2448 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1737 …}
  +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 {#1554
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1734 …}
  +votes: Doctrine\ORM\PersistentCollection {#1727 …}
  +reports: Doctrine\ORM\PersistentCollection {#1729 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2385 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1795 …}
  +badges: Doctrine\ORM\PersistentCollection {#2364 …}
  +children: [
    App\Entity\EntryComment {#1614
      +user: App\Entity\User {#261 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1579 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
      +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 {#1438
        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 {#1651 …}
      +nested: Doctrine\ORM\PersistentCollection {#1652 …}
      +votes: Doctrine\ORM\PersistentCollection {#1650 …}
      +reports: Doctrine\ORM\PersistentCollection {#1671 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1560 …}
      -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 {#1700
        date: 2023-10-08 21:46:04.0 +02:00
      }
      +"title": 37810
    }
  ]
  -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 {#1606
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#1620
    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 {#1579
  +user: Proxies\__CG__\App\Entity\User {#2471 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: Proxies\__CG__\App\Entity\Image {#2448 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1737 …}
  +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 {#1554
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1734 …}
  +votes: Doctrine\ORM\PersistentCollection {#1727 …}
  +reports: Doctrine\ORM\PersistentCollection {#1729 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2385 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1795 …}
  +badges: Doctrine\ORM\PersistentCollection {#2364 …}
  +children: [
    App\Entity\EntryComment {#1614
      +user: App\Entity\User {#261 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1579 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
      +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 {#1438
        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 {#1651 …}
      +nested: Doctrine\ORM\PersistentCollection {#1652 …}
      +votes: Doctrine\ORM\PersistentCollection {#1650 …}
      +reports: Doctrine\ORM\PersistentCollection {#1671 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1560 …}
      -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 {#1700
        date: 2023-10-08 21:46:04.0 +02:00
      }
      +"title": 37810
    }
  ]
  -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 {#1606
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#1620
    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 {#1579
  +user: Proxies\__CG__\App\Entity\User {#2471 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: Proxies\__CG__\App\Entity\Image {#2448 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1737 …}
  +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 {#1554
    date: 2023-10-10 03:28:34.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1734 …}
  +votes: Doctrine\ORM\PersistentCollection {#1727 …}
  +reports: Doctrine\ORM\PersistentCollection {#1729 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2385 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1795 …}
  +badges: Doctrine\ORM\PersistentCollection {#2364 …}
  +children: [
    App\Entity\EntryComment {#1614
      +user: App\Entity\User {#261 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1579 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
      +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 {#1438
        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 {#1651 …}
      +nested: Doctrine\ORM\PersistentCollection {#1652 …}
      +votes: Doctrine\ORM\PersistentCollection {#1650 …}
      +reports: Doctrine\ORM\PersistentCollection {#1671 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1560 …}
      -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 {#1700
        date: 2023-10-08 21:46:04.0 +02:00
      }
      +"title": 37810
    }
  ]
  -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 {#1606
    date: 2023-10-08 12:41:40.0 +02:00
  }
  +createdAt: DateTimeImmutable @1696761565 {#1620
    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 {#1614
  +user: App\Entity\User {#261 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1579
    +user: Proxies\__CG__\App\Entity\User {#2471 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: Proxies\__CG__\App\Entity\Image {#2448 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1737 …}
    +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 {#1554
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1734 …}
    +votes: Doctrine\ORM\PersistentCollection {#1727 …}
    +reports: Doctrine\ORM\PersistentCollection {#1729 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2385 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1795 …}
    +badges: Doctrine\ORM\PersistentCollection {#2364 …}
    +children: [
      App\Entity\EntryComment {#1614}
    ]
    -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 {#1606
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#1620
      date: 2023-10-08 12:39:25.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
  +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 {#1438
    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 {#1651 …}
  +nested: Doctrine\ORM\PersistentCollection {#1652 …}
  +votes: Doctrine\ORM\PersistentCollection {#1650 …}
  +reports: Doctrine\ORM\PersistentCollection {#1671 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1560 …}
  -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 {#1700
    date: 2023-10-08 21:46:04.0 +02:00
  }
  +"title": 37810
}
"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 {#1614
  +user: App\Entity\User {#261 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1579
    +user: Proxies\__CG__\App\Entity\User {#2471 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: Proxies\__CG__\App\Entity\Image {#2448 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1737 …}
    +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 {#1554
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1734 …}
    +votes: Doctrine\ORM\PersistentCollection {#1727 …}
    +reports: Doctrine\ORM\PersistentCollection {#1729 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2385 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1795 …}
    +badges: Doctrine\ORM\PersistentCollection {#2364 …}
    +children: [
      App\Entity\EntryComment {#1614}
    ]
    -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 {#1606
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#1620
      date: 2023-10-08 12:39:25.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
  +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 {#1438
    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 {#1651 …}
  +nested: Doctrine\ORM\PersistentCollection {#1652 …}
  +votes: Doctrine\ORM\PersistentCollection {#1650 …}
  +reports: Doctrine\ORM\PersistentCollection {#1671 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1560 …}
  -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 {#1700
    date: 2023-10-08 21:46:04.0 +02:00
  }
  +"title": 37810
}
"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 {#1614
  +user: App\Entity\User {#261 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1579
    +user: Proxies\__CG__\App\Entity\User {#2471 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: Proxies\__CG__\App\Entity\Image {#2448 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1737 …}
    +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 {#1554
      date: 2023-10-10 03:28:34.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1734 …}
    +votes: Doctrine\ORM\PersistentCollection {#1727 …}
    +reports: Doctrine\ORM\PersistentCollection {#1729 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2385 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1795 …}
    +badges: Doctrine\ORM\PersistentCollection {#2364 …}
    +children: [
      App\Entity\EntryComment {#1614}
    ]
    -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 {#1606
      date: 2023-10-08 12:41:40.0 +02:00
    }
    +createdAt: DateTimeImmutable @1696761565 {#1620
      date: 2023-10-08 12:39:25.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1653 …}
  +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 {#1438
    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 {#1651 …}
  +nested: Doctrine\ORM\PersistentCollection {#1652 …}
  +votes: Doctrine\ORM\PersistentCollection {#1650 …}
  +reports: Doctrine\ORM\PersistentCollection {#1671 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1568 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1560 …}
  -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 {#1700
    date: 2023-10-08 21:46:04.0 +02:00
  }
  +"title": 37810
}
"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