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.38 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.06 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

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

Access Decision

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

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1369
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#323
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#317
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#316
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    EDIT: sorry, I read it wrong, I thought the reply says the addon **“doesn’t”** use the remote API.\n
    \n
    I digged a bit on the code, and every command indeed go through the cloud. So even if you use this addon, Haire can still collect a fair bit of data about you, since there is no way to communicate locally and directly to the AC.\n
    \n
    But the addon only sends the minimum amount of data to achieve functionality, so definitely not as much data as using Haire’s app.\n
    \n
    ---\n
    \n
    Can you link to where the documentation that specify they don’t use API?\n
    \n
    Because I am looking at pyhOn (dependency of hon, and also being taken down), it seems like when executing a command, they do contact the cloud. Specefically\n
    \n
    ```\n
    \n
    <span style="color:#323232;">url: str = f"{const.API_URL}/commands/v1/send"\n
    </span><span style="color:#323232;">    async with self._hon.post(url, json=data) as response:\n
    </span><span style="color:#323232;">        ...\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/api.py#L215](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#L215) . The call to API is later used to send command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">result = await self.api.send_command(\n
    </span><span style="color:#323232;">                self._appliance,\n
    </span><span style="color:#323232;">                self._name,\n
    </span><span style="color:#323232;">                params,\n
    </span><span style="color:#323232;">                ancillary_params,\n
    </span><span style="color:#323232;">                self._category_name,\n
    </span><span style="color:#323232;">            )\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/commands.py#L14…](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#L142)\n
    \n
    And the `API_URL` indeed points to a remote API:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">API_URL = "https://api-iot.he.services"\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/const.py#L2](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#L2)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1705675340 {#1605
    date: 2024-01-19 15:42:20.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 322841
  -bodyTs: "'/andre0512/pyhon/blob/':147,175,196 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#l142)':180 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#l215)':152 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#l2)':201 '/api.py':148 '/commands.py':176 '/commands/v1/send':136 '/const.py':197 'ac':65 'achiev':77 'addon':13,41,68 'also':114 'amount':73 'ancillari':170 'api':19,103,156,183,190,191 'api-iot.he.services':193 'app':89 'async':137 'await':164 'bit':23,48 'call':154 'cloud':34,129 'code':26 'collect':45 'command':29,124,162,166 'communic':59 'const.api':134 'contact':127 'data':50,75,84,142 'definit':80 'depend':110 'dig':21 'direct':62 'document':96 'doesn':14 'edit':1 'even':36 'everi':28 'execut':122 'f':133 'fair':47 'function':78 'github.com':146,151,174,179,195,200 'github.com/andre0512/pyhon/blob/':145,173,194 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#l142)':178 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#l215)':150 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#l2)':199 'go':31 'hair':42,87 'hon':112 'inde':30,185 'json':141 'l14':177 'l2':198 'l215':149 'later':158 'like':120 'link':92 'local':60 'look':107 'minimum':72 'much':83 'param':169,171 'point':186 'pyhon':109 'read':4 'remot':18,189 'repli':10 'respons':144 'result':163 'say':11 'seem':119 'self._appliance':167 'self._category_name':172 'self._hon.post':139 'self._name':168 'self.api.send':165 'send':70,161 'sinc':53 'sorri':2 'specef':130 'specifi':98 'still':44 'str':132 'taken':116 'thought':8 'url':131,135,140,184,192 'use':16,39,86,102,159 'way':57 'wrong':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://mander.xyz/comment/6947297"
  +editedAt: DateTimeImmutable @1726799009 {#1945
    date: 2024-09-20 04:23:29.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705675340 {#1368
    date: 2024-01-19 15:42:20.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1369
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#323
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#317
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#316
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    EDIT: sorry, I read it wrong, I thought the reply says the addon **“doesn’t”** use the remote API.\n
    \n
    I digged a bit on the code, and every command indeed go through the cloud. So even if you use this addon, Haire can still collect a fair bit of data about you, since there is no way to communicate locally and directly to the AC.\n
    \n
    But the addon only sends the minimum amount of data to achieve functionality, so definitely not as much data as using Haire’s app.\n
    \n
    ---\n
    \n
    Can you link to where the documentation that specify they don’t use API?\n
    \n
    Because I am looking at pyhOn (dependency of hon, and also being taken down), it seems like when executing a command, they do contact the cloud. Specefically\n
    \n
    ```\n
    \n
    <span style="color:#323232;">url: str = f"{const.API_URL}/commands/v1/send"\n
    </span><span style="color:#323232;">    async with self._hon.post(url, json=data) as response:\n
    </span><span style="color:#323232;">        ...\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/api.py#L215](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#L215) . The call to API is later used to send command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">result = await self.api.send_command(\n
    </span><span style="color:#323232;">                self._appliance,\n
    </span><span style="color:#323232;">                self._name,\n
    </span><span style="color:#323232;">                params,\n
    </span><span style="color:#323232;">                ancillary_params,\n
    </span><span style="color:#323232;">                self._category_name,\n
    </span><span style="color:#323232;">            )\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/commands.py#L14…](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#L142)\n
    \n
    And the `API_URL` indeed points to a remote API:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">API_URL = "https://api-iot.he.services"\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/const.py#L2](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#L2)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1705675340 {#1605
    date: 2024-01-19 15:42:20.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 322841
  -bodyTs: "'/andre0512/pyhon/blob/':147,175,196 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#l142)':180 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#l215)':152 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#l2)':201 '/api.py':148 '/commands.py':176 '/commands/v1/send':136 '/const.py':197 'ac':65 'achiev':77 'addon':13,41,68 'also':114 'amount':73 'ancillari':170 'api':19,103,156,183,190,191 'api-iot.he.services':193 'app':89 'async':137 'await':164 'bit':23,48 'call':154 'cloud':34,129 'code':26 'collect':45 'command':29,124,162,166 'communic':59 'const.api':134 'contact':127 'data':50,75,84,142 'definit':80 'depend':110 'dig':21 'direct':62 'document':96 'doesn':14 'edit':1 'even':36 'everi':28 'execut':122 'f':133 'fair':47 'function':78 'github.com':146,151,174,179,195,200 'github.com/andre0512/pyhon/blob/':145,173,194 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#l142)':178 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#l215)':150 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#l2)':199 'go':31 'hair':42,87 'hon':112 'inde':30,185 'json':141 'l14':177 'l2':198 'l215':149 'later':158 'like':120 'link':92 'local':60 'look':107 'minimum':72 'much':83 'param':169,171 'point':186 'pyhon':109 'read':4 'remot':18,189 'repli':10 'respons':144 'result':163 'say':11 'seem':119 'self._appliance':167 'self._category_name':172 'self._hon.post':139 'self._name':168 'self.api.send':165 'send':70,161 'sinc':53 'sorri':2 'specef':130 'specifi':98 'still':44 'str':132 'taken':116 'thought':8 'url':131,135,140,184,192 'use':16,39,86,102,159 'way':57 'wrong':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://mander.xyz/comment/6947297"
  +editedAt: DateTimeImmutable @1726799009 {#1945
    date: 2024-09-20 04:23:29.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705675340 {#1368
    date: 2024-01-19 15:42:20.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1369
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "opensource@lemmy.ml"
    +title: "opensource"
    +description: """
      All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
      \n
      Useful Links\n
      ============\n
      \n
      - [Open Source Initiative](https://opensource.org/)\n
      - [Free Software Foundation](https://www.fsf.org/)\n
      - [Electronic Frontier Foundation](https://www.eff.org/)\n
      - [Software Freedom Conservancy](https://sfconservancy.org/)\n
      - [It’s FOSS](https://itsfoss.com/)\n
      \n
      Rules\n
      =====\n
      \n
      - Posts must be relevant to the open source ideology\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      Related Communities\n
      ===================\n
      \n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      \n
      Community icon from opensource.org, but we are not affiliated with them.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 97
    +entryCommentCount: 1299
    +postCount: 2
    +postCommentCount: 5
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583535 {#323
      date: 2024-10-22 09:52:15.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 128
    +apId: "opensource@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/opensource"
    +apPublicUrl: "https://lemmy.ml/c/opensource"
    +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "opensource"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703910302 {#317
      date: 2023-12-30 05:25:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703910301 {#316
      date: 2023-12-30 05:25:01.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    EDIT: sorry, I read it wrong, I thought the reply says the addon **“doesn’t”** use the remote API.\n
    \n
    I digged a bit on the code, and every command indeed go through the cloud. So even if you use this addon, Haire can still collect a fair bit of data about you, since there is no way to communicate locally and directly to the AC.\n
    \n
    But the addon only sends the minimum amount of data to achieve functionality, so definitely not as much data as using Haire’s app.\n
    \n
    ---\n
    \n
    Can you link to where the documentation that specify they don’t use API?\n
    \n
    Because I am looking at pyhOn (dependency of hon, and also being taken down), it seems like when executing a command, they do contact the cloud. Specefically\n
    \n
    ```\n
    \n
    <span style="color:#323232;">url: str = f"{const.API_URL}/commands/v1/send"\n
    </span><span style="color:#323232;">    async with self._hon.post(url, json=data) as response:\n
    </span><span style="color:#323232;">        ...\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/api.py#L215](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#L215) . The call to API is later used to send command:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">result = await self.api.send_command(\n
    </span><span style="color:#323232;">                self._appliance,\n
    </span><span style="color:#323232;">                self._name,\n
    </span><span style="color:#323232;">                params,\n
    </span><span style="color:#323232;">                ancillary_params,\n
    </span><span style="color:#323232;">                self._category_name,\n
    </span><span style="color:#323232;">            )\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/commands.py#L14…](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#L142)\n
    \n
    And the `API_URL` indeed points to a remote API:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">API_URL = "https://api-iot.he.services"\n
    </span>\n
    ```\n
    \n
    [github.com/Andre0512/pyhOn/blob/…/const.py#L2](https://github.com/Andre0512/pyhOn/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#L2)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1705675340 {#1605
    date: 2024-01-19 15:42:20.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
    "@Dehydrated@lemmy.world"
    "@phx@lemmy.ca"
    "@MrMcGasion@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 322841
  -bodyTs: "'/andre0512/pyhon/blob/':147,175,196 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#l142)':180 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#l215)':152 '/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#l2)':201 '/api.py':148 '/commands.py':176 '/commands/v1/send':136 '/const.py':197 'ac':65 'achiev':77 'addon':13,41,68 'also':114 'amount':73 'ancillari':170 'api':19,103,156,183,190,191 'api-iot.he.services':193 'app':89 'async':137 'await':164 'bit':23,48 'call':154 'cloud':34,129 'code':26 'collect':45 'command':29,124,162,166 'communic':59 'const.api':134 'contact':127 'data':50,75,84,142 'definit':80 'depend':110 'dig':21 'direct':62 'document':96 'doesn':14 'edit':1 'even':36 'everi':28 'execut':122 'f':133 'fair':47 'function':78 'github.com':146,151,174,179,195,200 'github.com/andre0512/pyhon/blob/':145,173,194 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/commands.py#l142)':178 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/connection/api.py#l215)':150 'github.com/andre0512/pyhon/blob/327d4a181484d49ccbef25e470cfc86d2c5d91fa/pyhon/const.py#l2)':199 'go':31 'hair':42,87 'hon':112 'inde':30,185 'json':141 'l14':177 'l2':198 'l215':149 'later':158 'like':120 'link':92 'local':60 'look':107 'minimum':72 'much':83 'param':169,171 'point':186 'pyhon':109 'read':4 'remot':18,189 'repli':10 'respons':144 'result':163 'say':11 'seem':119 'self._appliance':167 'self._category_name':172 'self._hon.post':139 'self._name':168 'self.api.send':165 'send':70,161 'sinc':53 'sorri':2 'specef':130 'specifi':98 'still':44 'str':132 'taken':116 'thought':8 'url':131,135,140,184,192 'use':16,39,86,102,159 'way':57 'wrong':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://mander.xyz/comment/6947297"
  +editedAt: DateTimeImmutable @1726799009 {#1945
    date: 2024-09-20 04:23:29.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705675340 {#1368
    date: 2024-01-19 15:42:20.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#313
  +icon: Proxies\__CG__\App\Entity\Image {#294 …}
  +name: "opensource@lemmy.ml"
  +title: "opensource"
  +description: """
    All about open source! Feel free to ask questions, and share news, and interesting stuff!\n
    \n
    Useful Links\n
    ============\n
    \n
    - [Open Source Initiative](https://opensource.org/)\n
    - [Free Software Foundation](https://www.fsf.org/)\n
    - [Electronic Frontier Foundation](https://www.eff.org/)\n
    - [Software Freedom Conservancy](https://sfconservancy.org/)\n
    - [It’s FOSS](https://itsfoss.com/)\n
    \n
    Rules\n
    =====\n
    \n
    - Posts must be relevant to the open source ideology\n
    - No NSFW content\n
    - No hate speech, bigotry, etc\n
    \n
    Related Communities\n
    ===================\n
    \n
    - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
    - [!libre_software@lemmy.ml](https://lemmy.ml/c/libre_software)\n
    - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
    - [!linux@lemmy.ml](https://lemmy.ml/c/linux)\n
    - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
    \n
    Community icon from opensource.org, but we are not affiliated with them.
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 97
  +entryCommentCount: 1299
  +postCount: 2
  +postCommentCount: 5
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583535 {#323
    date: 2024-10-22 09:52:15.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#285 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
  +entries: Doctrine\ORM\PersistentCollection {#228 …}
  +posts: Doctrine\ORM\PersistentCollection {#186 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
  +bans: Doctrine\ORM\PersistentCollection {#165 …}
  +reports: Doctrine\ORM\PersistentCollection {#151 …}
  +badges: Doctrine\ORM\PersistentCollection {#129 …}
  +logs: Doctrine\ORM\PersistentCollection {#119 …}
  +awards: Doctrine\ORM\PersistentCollection {#108 …}
  +categories: Doctrine\ORM\PersistentCollection {#95 …}
  -id: 128
  +apId: "opensource@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/opensource"
  +apPublicUrl: "https://lemmy.ml/c/opensource"
  +apFollowersUrl: "https://lemmy.ml/c/opensource/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "opensource"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1703910302 {#317
    date: 2023-12-30 05:25:02.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703910301 {#316
    date: 2023-12-30 05:25:01.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details