<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>CORS on SILO</title>
    <link>https://silo.pgsty.com/tags/cors/</link>
    <description>Recent content in CORS on SILO</description>
    <generator>Hugo</generator>
    <language>en</language>
    
    
    
      <lastBuildDate>Sat, 29 Aug 2026 18:43:50 +0800</lastBuildDate>
    
    
      <atom:link href="https://silo.pgsty.com/tags/cors/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Per-Bucket CORS: Making Deletes and Recovery Converge</title>
        <link>https://silo.pgsty.com/blog/design/bucket-cors-replication/</link>
        <pubDate>Fri, 28 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://silo.pgsty.com/blog/design/bucket-cors-replication/</guid>
        <description>SILO accepted per-bucket CORS through PR #71, then found that a missed or reordered site-replication event could restore a deleted browser-origin rule. This record explains the problem in plain language, the merge decision, two rounds of adversarial review, the source-timestamp and tombstone repair, S3 response cleanup, costs, rejected alternatives, historical follow-ups, and the release gate tracked by issue #75.</description>
      </item>
    <item>
        <title>Per-Bucket CORS Wire Contract: Strict XML, Checksums, and Browser Responses</title>
        <link>https://silo.pgsty.com/blog/design/bucket-cors-wire-contract/</link>
        <pubDate>Sat, 29 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://silo.pgsty.com/blog/design/bucket-cors-wire-contract/</guid>
        <description>SILO&amp;rsquo;s first per-bucket CORS implementation accepted a second XML root, counted UTF-8 bytes instead of characters in rule IDs, and normalized lowercase methods outside the S3 enum. This B3 design record fixes the wire/parser/validation contract, documents the AWS and browser evidence, records the rejected alternatives, and keeps site-replication work explicitly out of scope.</description>
      </item>
    
  </channel>
</rss>
