<?xml version='1.0' encoding='utf-8'?>
<rss xmlns:ns0="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Thiago Silva | Articles</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/</link><description>From infrastructure to AI security. Connecting experience, architecture and innovation.</description><language>en</language><ns0:link href="https://thiago.limaesilvatecnologia.com.br/en/feed.xml" rel="self" type="application/rss+xml" /><item><title>Cloud SQL: database location does not finish the security review</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/cloud-sql-regional-control-plane/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/cloud-sql-regional-control-plane/</guid><description>Regional administrative API endpoints raise an architecture question: where do the operations that manage your data travel?</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Access control: who decides and who executes?</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/access-control/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/access-control/</guid><description>Clear responsibilities prevent ownerless permissions.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Attack surface: include the forgotten paths</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/attack-surface/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/attack-surface/</guid><description>Reviewing only the main application misses integrations.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Authentication: design beyond login</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/authentication-journeys/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/authentication-journeys/</guid><description>Device changes and recovery also establish trust.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Authorization: turn business rules into testable decisions</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/authorization-decisions/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/authorization-decisions/</guid><description>A user role alone does not explain resource access.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>CI/CD: every stage carries a trust boundary</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/pipeline-trust/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/pipeline-trust/</guid><description>Building code and authorizing production are different decisions.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>CSP: treat adoption as a dependency migration</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/csp-migration/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/csp-migration/</guid><description>A sustainable policy needs script owners.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>CSRF: review state-changing operations</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/csrf-business-flows/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/csrf-business-flows/</guid><description>Risk depends on how the browser sends session authority.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Additional encryption: which threat does it address?</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/envelope-data-boundary/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/envelope-data-boundary/</guid><description>Application encryption changes exposure boundaries and operations.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Database roles: separate queries, maintenance and recovery</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/database-roles/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/database-roles/</guid><description>A shared credential hides distinct operational decisions.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Availability: budget expensive operations</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/availability-budgets/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/availability-budgets/</guid><description>Request counts can hide large differences in work.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>SBOM: from component list to response decision</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/sbom-operational/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/sbom-operational/</guid><description>Inventory must connect to running software.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Containers: follow the review into runtime</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/container-runtime/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/container-runtime/</guid><description>An approved image still depends on deployment permissions.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>API errors: a contract for clients and operations</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/error-contracts/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/error-contracts/</guid><description>Public responses and internal diagnostics serve different audiences.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Uploads: receiving a file does not release it</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/upload-quarantine/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/upload-quarantine/</guid><description>Model states between ingestion, inspection and use.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Account recovery: support is part of the control</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/account-recovery/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/account-recovery/</guid><description>An exceptional procedure can redefine trust.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>GitHub Actions: who can change the build tool?</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/actions-third-party/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/actions-third-party/</guid><description>Pipeline dependencies deserve code-level scrutiny.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Security headers: own the final response</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/headers-ownership/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/headers-ownership/</guid><description>CDN, proxy and application may produce different settings.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Infrastructure as code: return manual exceptions to the workflow</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/iac-drift/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/iac-drift/</guid><description>Repositories represent environments only when differences are reconciled.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Input validation: valid format does not guarantee meaning</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/input-domain/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/input-domain/</guid><description>Rules must understand the operation's domain.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>BOLA and IDOR: review the actual object</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/object-authorization/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/object-authorization/</guid><description>Knowing an identifier is not authorization evidence.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>JWT: trust extends beyond signatures</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/jwt-trust/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/jwt-trust/</guid><description>Each consumer must know which tokens it may accept.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Key management: plan retirement before rotation</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/key-retirement/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/key-retirement/</guid><description>Changing the active key does not end historical dependencies.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Kubernetes: namespaces do not finish isolation analysis</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/kubernetes-tenancy/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/kubernetes-tenancy/</guid><description>Boundaries must account for shared resources.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Prompt injection: keep authority outside retrieved text</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/prompt-injection-boundary/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/prompt-injection-boundary/</guid><description>External documents may inform answers without granting permissions.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Logs: start with the incident question</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/logging-evidence/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/logging-evidence/</guid><description>Event volume is not investigation capability.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>MCP: tool changes are trust changes</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/mcp-tool-change/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/mcp-tool-change/</guid><description>An agent's tool catalog needs governance.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Microservices: preserve decision context when delegating</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/microservice-delegation/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/microservice-delegation/</guid><description>Technical identity alone does not explain the user's request.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Multitenancy: extend isolation into the cache</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/tenant-cache-isolation/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/tenant-cache-isolation/</guid><description>Correct database and API controls cannot fix ambiguous cache keys.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>MFA: track exceptions as carefully as adoption</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/mfa-exceptions/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/mfa-exceptions/</guid><description>High coverage can conceal important alternative paths.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Segmentation: review permitted outbound traffic</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/network-egress/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/network-egress/</guid><description>Connection destinations are part of the exposure boundary.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>OAuth: distinguish clients before designing the flow</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/oauth-client-boundaries/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/oauth-client-boundaries/</guid><description>Mobile apps, browsers and backends have different boundaries.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Passwords: modernization needs a migration plan</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/password-migration/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/password-migration/</guid><description>Changing the standard does not update every account.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Dynamic queries: separate values from structure choices</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/query-contracts/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/query-contracts/</guid><description>Flexible filters need a bounded contract.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>RAG: revocation must reach retrievable content</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/rag-revocation/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/rag-revocation/</guid><description>Removing source access may leave usable copies.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>REST APIs: protect operation order</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/rest-state-machine/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/rest-state-machine/</guid><description>Individually correct endpoints can form an incorrect workflow.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>SAML SSO: rehearse trust changes</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/saml-certificate-change/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/saml-certificate-change/</guid><description>Integrations must survive certificate changes.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Secrets: emergency rotation must work under pressure</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/secret-emergency-rotation/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/secret-emergency-rotation/</guid><description>Central storage does not replace rehearsed revocation.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>AI models: record what actually changed in a release</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/model-release-evidence/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/model-release-evidence/</guid><description>Behavior depends on more than the model file.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>AWS and GCP: turn shared responsibility into tasks</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/cloud-responsibility/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/cloud-responsibility/</guid><description>Assign ownership for each control.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Code review: prioritize trust-changing modifications</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/code-review-risk/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/code-review-risk/</guid><description>Diff size does not measure security impact.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>AI-generated code: acceptance remains an engineering decision</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/ai-code-acceptance/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/ai-code-acceptance/</guid><description>Generation speed does not replace behavioral understanding.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Secure design: defaults are product decisions</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/secure-product-defaults/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/secure-product-defaults/</guid><description>The easiest path often determines actual behavior.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>SSRF: fetching a URL grants network capability</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/ssrf-fetch-service/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/ssrf-fetch-service/</guid><description>The feature needs destination and behavior boundaries.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Sessions: interface logout must match access state</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/session-revocation/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/session-revocation/</guid><description>Logout becomes distributed across multiple consumers.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Supply chain: release the artifact that was assessed</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/supply-chain-promotion/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/supply-chain-promotion/</guid><description>Rebuilding at the last step can change the trust unit.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Threat modeling: end with testable decisions</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/threat-model-decisions/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/threat-model-decisions/</guid><description>Useful diagrams connect threats to actions and owners.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Transactions: confirmation must represent execution</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/transaction-integrity/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/transaction-integrity/</guid><description>Users should authorize the parameters producing the effect.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>TLS: review the full path to the data consumer</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/tls-full-path/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/tls-full-path/</guid><description>The browser padlock describes only part of the architecture.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Privacy by architecture: remove unnecessary data</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/privacy-minimization/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/privacy-minimization/</guid><description>Minimization starts before storage protection choices.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>Vulnerabilities: prioritize the affected-system decision</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/vulnerability-priority/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/vulnerability-priority/</guid><description>Component severity is an input, not the whole context.</description><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate></item><item><title>AI agents: define the approval contract before granting autonomy</title><link>https://thiago.limaesilvatecnologia.com.br/en/artigos/agentic-security-approval-contracts/</link><guid isPermaLink="false">https://thiago-silva-cyber.vnb2kgrpj6.chatgpt.site/en/artigos/agentic-security-approval-contracts/</guid><description>The agent security debate calls for a concrete architecture decision: which changes may an agent execute without approval?</description><pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate></item></channel></rss>