22 lines
84 KiB
HTML
22 lines
84 KiB
HTML
<!DOCTYPE html><html lang="en" class="__variable_f367f3 __variable_46451f"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/723e11e5093b8e80.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/4ab7c996bdd73624.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/4c26db0c1349dd88.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f35334893209e476.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/aff42e9b1b2b5237.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/8ca93e3357ce335e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/18a033608834064b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/fd3c8bb3f3c8ee07.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-066a2198d8bb9079.js"/><script src="/_next/static/chunks/fd9d1056-6f62598f9f40c435.js" async=""></script><script src="/_next/static/chunks/2117-61fa392c0c4cf6a1.js" async=""></script><script src="/_next/static/chunks/main-app-be3d940aef6bd3eb.js" async=""></script><script src="/_next/static/chunks/2972-f9ae2e0b5fa01a52.js" async=""></script><script src="/_next/static/chunks/5547-eade42e5534f9310.js" async=""></script><script src="/_next/static/chunks/1635-fb7e49accb493c75.js" async=""></script><script src="/_next/static/chunks/7545-5148683007c1b3d1.js" async=""></script><script src="/_next/static/chunks/app/(marketing)/blog/%5Bslug%5D/not-found-8980460590b1555c.js" async=""></script><script src="/_next/static/chunks/9da6db1e-f59eaee33fee26f7.js" async=""></script><script src="/_next/static/chunks/3943-ec7de03f84b96d5c.js" async=""></script><script src="/_next/static/chunks/app/(marketing)/layout-d610f04dc01c938a.js" async=""></script><script src="/_next/static/chunks/9291-a41fd5c1c49b3370.js" async=""></script><script src="/_next/static/chunks/2441-8eca802434c3fb90.js" async=""></script><script src="/_next/static/chunks/9525-206635c80e4e03ad.js" async=""></script><script src="/_next/static/chunks/app/(marketing)/blog/%5Bslug%5D/page-7d5f25b981fd20f5.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-J0W6Q1ZBNN" as="script"/><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=GTM-WW757Q5" as="script"/><title>Incident 2023-12-04: Data leak and loss in some free tier databases</title><meta name="description" content="Data leak and loss in some free tier databases on 2023-12-04"/><link rel="canonical" href="https://turso.tech/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7"/><meta name="google-site-verification" content="yPRiFW600gtitkpstW95MwYSaeU7OSKGN7rHMTJRDew"/><meta property="og:title" content="Incident 2023-12-04: Data leak and loss in some free tier databases"/><meta property="og:description" content="Data leak and loss in some free tier databases on 2023-12-04"/><meta property="og:url" content="https://turso.tech/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7"/><meta property="og:image" content="https://turso.tech/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png"/><meta property="og:type" content="article"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Incident 2023-12-04: Data leak and loss in some free tier databases"/><meta name="twitter:description" content="Data leak and loss in some free tier databases on 2023-12-04"/><meta name="twitter:image" content="https://turso.tech/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-bunker antialiased text-white"><div><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Incident 2023-12-04: Data leak and loss in some free tier databases","datePublished":"2023-12-05","dateModified":"2023-12-05","description":"Data leak and loss in some free tier databases on 2023-12-04","image":"https://turso.tech/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png","url":"https://turso.tech/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7","author":[{"@type":"Person","name":"Glauber Costa"}],"publisher":{"@type":"Organization","name":"Turso","url":"https://turso.tech","logo":{"@type":"ImageObject","url":"https://turso.tech/logokit/turso-logo-aqua.png"}}}</script><div class="sticky top-0 z-[100] border-y border-solid border-[#283945] bg-bunker"><div class="max-w-7xl mx-auto"><div class="border-x border-solid border-[#283945]"><header class="transition-all"><nav aria-label="Global" class="flex items-center justify-between p-6 xl:rounded-3xl transition-all z-[101] " style="-webkit-backdrop-filter:none;backdrop-filter:none"><div class="flex mr-8"><a class="-m-1.5 p-1.5 flex items-center transition-all" href="/"><span class="sr-only">Turso</span><svg class="h-6 w-auto" viewBox="0 0 741 170" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M171.765 0V30.78L157.225 34.53L148.115 23.56L143.305 33.02C133.385 30.32 119.725 28.58 100.935 28.58C82.1451 28.58 68.4851 30.33 58.5651 33.02L53.7551 23.56L44.6451 34.53L30.1051 30.78V0C30.1051 0 5.61507 20.67 0.945068 48.61L33.0851 59.73C34.1351 79.16 42.8751 131.61 45.3751 136.37C48.0351 141.44 62.1551 155.93 73.2051 161.5C73.2051 161.5 77.2051 157.27 79.6451 153.54C82.7451 157.19 98.7551 169.99 100.945 169.99C103.135 169.99 119.145 157.19 122.245 153.54C124.685 157.27 128.685 161.5 128.685 161.5C139.735 155.93 153.855 141.44 156.515 136.37C159.015 131.61 167.755 79.16 168.805 59.73L200.945 48.61C196.255 20.67 171.765 0 171.765 0ZM154.725 93.36L132.975 95.3L134.885 121.97C134.885 121.97 121.655 132.92 100.925 132.92C80.1951 132.92 66.9651 121.97 66.9651 121.97L68.8751 95.3L47.1251 93.36L43.4051 63.32L79.4551 75.8L76.6551 113.19C83.3551 114.89 90.4051 116.58 100.935 116.58C111.465 116.58 118.505 114.89 125.205 113.19L122.405 75.8L158.455 63.32L154.735 93.36H154.725Z" fill="#4FF8D2"></path><path d="M240.225 49.42L271.295 53.24V142.83H299.255V53.24L330.155 49.42V27.17H240.225V49.42Z" fill="#4FF8D2"></path><path d="M406.505 96.53C406.505 109.57 400.145 118.76 386.915 118.76C373.685 118.76 366.985 109.74 366.985 96.7V27.17H339.025V96.7C339.025 125.61 353.925 145 386.585 145C419.245 145 434.475 124.44 434.475 96.53V27.17H406.515V96.53H406.505Z" fill="#4FF8D2"></path><path d="M524.555 61.6C524.555 39.71 512.325 27.17 488.055 27.17H448.205V142.82H476.005V95.35H483.545L506.315 142.82H536.285L509.825 90.01C519.205 84.33 524.565 74.47 524.565 61.6H524.555ZM485.705 72.63H475.995V51.24H485.705C491.895 51.24 495.745 55.42 495.745 61.77C495.745 68.12 492.065 72.63 485.705 72.63Z" fill="#4FF8D2"></path><path d="M588.685 74.47L574.115 68.79C566.245 65.78 563.565 62.44 563.565 57.59C563.565 52.74 566.745 48.9 573.115 48.9C579.485 48.9 583.325 53.91 583.165 61.1H608.945C610.125 40.54 600.245 25 572.945 25C550.345 25 535.605 39.04 535.605 59.26C535.605 73.3 541.795 84.66 553.525 90.68C559.885 93.86 565.745 96.03 571.605 98.37C579.135 101.21 583.825 104.39 583.825 110.9C583.825 117.41 579.135 121.1 572.775 121.1C563.565 121.1 560.715 113.91 561.055 106.56H534.595C533.595 123.44 539.615 145 572.775 145C596.045 145 612.625 131.3 612.625 107.9C612.625 90.69 603.745 80.66 588.675 74.47H588.685Z" fill="#4FF8D2"></path><path d="M678.775 25C643.115 25 618.665 51.57 618.665 85.17C618.665 118.77 641.775 145 679.615 145C717.455 145 740.235 118.43 740.235 84.67C740.235 50.91 716.625 25 678.775 25ZM679.445 118.93C660.185 118.93 647.965 104.06 647.965 85C647.965 65.94 658.855 51.07 679.275 51.07C699.695 51.07 710.925 66.11 710.925 85C710.925 103.89 699.875 118.93 679.445 118.93Z" fill="#4FF8D2"></path></svg></a></div><div class="flex sm:hidden items-center gap-4"><a target="_blank" rel="noreferrer noopener" data-attr="get-started-cta" class="rounded-full bg-[#4FF7D1] px-6 py-3 font-semibold text-black focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-green-600 inline-block text-center" href="https://app.turso.tech/signup">Start for free now</a><button type="button" class="-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-400"><span class="sr-only">Open main menu</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" class="h-6 w-6"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg></button></div><div class="hidden sm:flex sm:gap-x-6"><a class="text-sm font-semibold leading-7 text-white transition-colors hover:text-aquamarine" href="/what-is-turso">What is Turso?</a><a class="text-sm font-semibold leading-7 text-white transition-colors hover:text-aquamarine" href="https://docs.turso.tech">Docs</a><a class="text-sm font-semibold leading-7 text-white transition-colors hover:text-aquamarine" href="/pricing">Pricing</a><a class="text-sm font-semibold leading-7 text-white transition-colors hover:text-aquamarine" href="/blog">Blog</a><a class="text-sm font-semibold leading-7 text-white transition-colors hover:text-aquamarine" href="https://github.com/tursodatabase/turso/blob/main/CHANGELOG.md">Changelog</a></div><div class="hidden sm:flex sm:flex-1 sm:gap-4 sm:justify-end sm:items-center mr-4"><div class="hidden md:flex md:flex-1 md:gap-4 md:justify-end md:items-center"><a href="https://github.com/tursodatabase/turso" target="_blank" rel="noreferrer noopener" class="text-white/70 transition-colors hover:text-white/100 p-0.5 flex items-center justify-center"><span class="sr-only">Follow us on GitHub</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5"><path d="M12.001 2C6.47598 2 2.00098 6.475 2.00098 12C2.00098 16.425 4.86348 20.1625 8.83848 21.4875C9.33848 21.575 9.52598 21.275 9.52598 21.0125C9.52598 20.775 9.51348 19.9875 9.51348 19.15C7.00098 19.6125 6.35098 18.5375 6.15098 17.975C6.03848 17.6875 5.55098 16.8 5.12598 16.5625C4.77598 16.375 4.27598 15.9125 5.11348 15.9C5.90098 15.8875 6.46348 16.625 6.65098 16.925C7.55098 18.4375 8.98848 18.0125 9.56348 17.75C9.65098 17.1 9.91348 16.6625 10.201 16.4125C7.97598 16.1625 5.65098 15.3 5.65098 11.475C5.65098 10.3875 6.03848 9.4875 6.67598 8.7875C6.57598 8.5375 6.22598 7.5125 6.77598 6.1375C6.77598 6.1375 7.61348 5.875 9.52598 7.1625C10.326 6.9375 11.176 6.825 12.026 6.825C12.876 6.825 13.726 6.9375 14.526 7.1625C16.4385 5.8625 17.276 6.1375 17.276 6.1375C17.826 7.5125 17.476 8.5375 17.376 8.7875C18.0135 9.4875 18.401 10.375 18.401 11.475C18.401 15.3125 16.0635 16.1625 13.8385 16.4125C14.201 16.725 14.5135 17.325 14.5135 18.2625C14.5135 19.6 14.501 20.675 14.501 21.0125C14.501 21.275 14.6885 21.5875 15.1885 21.4875C19.259 20.1133 21.9999 16.2963 22.001 12C22.001 6.475 17.526 2 12.001 2Z"></path></svg></a><a href="https://x.com/tursodatabase" target="_blank" rel="noreferrer noopener" class="text-white/70 transition-colors hover:text-white/100 p-0.5 flex items-center justify-center"><span class="sr-only">Follow us on X</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5"><path d="M18.2048 2.25H21.5128L14.2858 10.51L22.7878 21.75H16.1308L10.9168 14.933L4.95084 21.75H1.64084L9.37084 12.915L1.21484 2.25H8.04084L12.7538 8.481L18.2048 2.25ZM17.0438 19.77H18.8768L7.04484 4.126H5.07784L17.0438 19.77Z"></path></svg></a><a href="https://tur.so/discord" target="_blank" rel="noreferrer noopener" class="text-white/70 transition-colors hover:text-white/100 p-0.5 flex items-center justify-center"><span class="sr-only">Join us on Discord</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-5"><path d="M19.3034 5.33716C17.9344 4.71103 16.4805 4.2547 14.9629 4C14.7719 4.32899 14.5596 4.77471 14.411 5.12492C12.7969 4.89144 11.1944 4.89144 9.60255 5.12492C9.45397 4.77471 9.2311 4.32899 9.05068 4C7.52251 4.2547 6.06861 4.71103 4.70915 5.33716C1.96053 9.39111 1.21766 13.3495 1.5891 17.2549C3.41443 18.5815 5.17612 19.388 6.90701 19.9187C7.33151 19.3456 7.71356 18.73 8.04255 18.0827C7.41641 17.8492 6.82211 17.5627 6.24904 17.2231C6.39762 17.117 6.5462 17.0003 6.68416 16.8835C10.1438 18.4648 13.8911 18.4648 17.3082 16.8835C17.4568 17.0003 17.5948 17.117 17.7434 17.2231C17.1703 17.5627 16.576 17.8492 15.9499 18.0827C16.2789 18.73 16.6609 19.3456 17.0854 19.9187C18.8152 19.388 20.5875 18.5815 22.4033 17.2549C22.8596 12.7341 21.6806 8.80747 19.3034 5.33716ZM8.5201 14.8459C7.48007 14.8459 6.63107 13.9014 6.63107 12.7447C6.63107 11.5879 7.45884 10.6434 8.5201 10.6434C9.57071 10.6434 10.4303 11.5879 10.4091 12.7447C10.4091 13.9014 9.57071 14.8459 8.5201 14.8459ZM15.4936 14.8459C14.4535 14.8459 13.6034 13.9014 13.6034 12.7447C13.6034 11.5879 14.4323 10.6434 15.4936 10.6434C16.5442 10.6434 17.4038 11.5879 17.3825 12.7447C17.3825 13.9014 16.5548 14.8459 15.4936 14.8459Z"></path></svg></a></div><a target="_blank" rel="noreferrer noopener" class="inline-block relative font-semibold px-4 py-2 text-center transition-colors rounded-full border-transparent bg-transparent text-white hover:bg-aquamarine/10" href="/signin">Login</a><a target="_blank" rel="noreferrer noopener" data-attr="get-started-cta" class="rounded-full bg-[#4FF7D1] px-6 py-3 font-semibold text-black focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-green-600 inline-block text-center" href="https://app.turso.tech/signup">Start for free now</a></div></nav><span hidden="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"></span></header></div></div></div><div class="border-b border-solid border-[#283945]"><div class="max-w-7xl mx-auto"><div class="border-x border-solid border-[#283945] p-4"><div class="mx-auto max-w-3xl"><div class="pt-12 md:pt-24"><div class="flex flex-col justify-center items-center space-y-3 md:space-y-6 relative"><div class="flex items-center gap-3"><p class="text-aquamarine text-sm"><time dateTime="2023-12-05T00:00:00.000Z">Dec 5, 2023</time></p></div><h1 class="font-bold text-2xl md:text-5xl text-center">Incident 2023-12-04: Data leak and loss in some free tier databases</h1><p class="text-lg md:text-xl text-center text-white/60">Data leak and loss in some free tier databases on 2023-12-04</p><div class="flex gap-3 md:gap-5"><div class="flex items-center space-x-2.5"><img alt="Glauber Costa" title="Glauber Costa" loading="lazy" width="30" height="30" decoding="async" data-nimg="1" class="rounded-full shadow" style="color:transparent" srcSet="/_next/image?url=%2Favatar%2FGlauber-Costa.jpg&w=32&q=75 1x, /_next/image?url=%2Favatar%2FGlauber-Costa.jpg&w=64&q=75 2x" src="/_next/image?url=%2Favatar%2FGlauber-Costa.jpg&w=64&q=75"/><div class="flex flex-col"><a class="text-white/70 hover:text-aquamarine transition-colors" href="/author/glauber-costa">Glauber Costa</a></div></div></div></div></div></div><div class="mx-auto max-w-5xl px-8 py-16"><div class="object-contain bg-[#26303B] aspect-video rounded-xl overflow-hidden flex items-center justify-center"><img alt="Cover image for Incident 2023-12-04: Data leak and loss in some free tier databases" loading="lazy" width="1080" height="720" decoding="async" data-nimg="1" class="w-full h-full" style="color:transparent" srcSet="/_next/image?url=%2Fimages%2Fblog%2Fincident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7%2Fcover.png&w=1080&q=100 1x, /_next/image?url=%2Fimages%2Fblog%2Fincident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7%2Fcover.png&w=3840&q=100 2x" src="/_next/image?url=%2Fimages%2Fblog%2Fincident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7%2Fcover.png&w=3840&q=100"/></div></div><div class="mx-auto max-w-3xl px-8"><div class="prose prose-hr:border-solid prose-invert prose-quoteless prose-a:text-aquamarine prose-lg max-w-none"><h2 id="what-happened-" class="relative"><a class="opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7" href="#what-happened-">#</a><a aria-hidden="true" tabindex="-1" href="#what-happened"><span class="icon icon-link"></span></a>What happened?</h2>
|
||
<p>0.07% of databases under management were incorrectly configured with an empty backup identifier, which caused a data leak. The conservative fix we applied to the leak, lead to the possible loss of the most recent data in those databases.</p>
|
||
<p>A change that made possible for the empty backup identifier to be used was made to the system on November 20th. On December 1st, internal procedures led to those backups being used to recreate the databases. This was noticed and reported on December 4th 8:10 AM UTC, and fixed on December 4th 9:17 AM UTC.</p>
|
||
<h2 id="what-was-the-root-cause-" class="relative"><a class="opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7" href="#what-was-the-root-cause-">#</a><a aria-hidden="true" tabindex="-1" href="#what-was-the-root-cause"><span class="icon icon-link"></span></a>What was the root cause?</h2>
|
||
<p>Databases on Turso's free tier may scale to zero after one hour of inactivity. They are scaled back to one automatically upon receiving a network request. Usually this is completely invisible to the users, except for added latency on the initial request.</p>
|
||
<p>However, in rare situations, our cloud provider (<a href="http://fly.io/">fly.io</a>) is unable to restore the process due to lack of resource availability in the host. In those cases, we destroy the machine and recreate it from the S3 backup. Each database has a separate backup identifier, through which we know which snapshot to restore.</p>
|
||
<p>From time to time, we migrate databases to newer version. A bug in that process caused some databases created to use an empty backup identifier. Effectively, the databases in that small set were now sharing a backup storage bucket. In effect, instead of pointing to <code>s3://bucket/backup_id/</code>, the affected databases were pointing to <code>s3://bucket//</code>.</p>
|
||
<p>When some databases failed to scale back to one, recreation happened from a shared location, the null ID. This caused both the data loss and data leak mentioned above.</p>
|
||
<p>We fixed the issue, by re-running the migration with the correct parameters and recreating the affected databases with their December 1st backup from the correct backup ID. Since we considered any data past December 1st to be shared between those databases, any writes done after that point were discarded.</p>
|
||
<h2 id="how-do-we-know-which-databases-were-affected-" class="relative"><a class="opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7" href="#how-do-we-know-which-databases-were-affected-">#</a><a aria-hidden="true" tabindex="-1" href="#how-do-we-know-which-databases-were-affected"><span class="icon icon-link"></span></a>How do we know which databases were affected?</h2>
|
||
<p>We were able to determine all databases pointing to an invalid and shared backup ID by querying metadata for databases with the faulty backup ID. We could also scan our object store buckets and verify that no other databases were affected.</p>
|
||
<h2 id="lessons-learned-and-remediation" class="relative"><a class="opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7" href="#lessons-learned-and-remediation">#</a><a aria-hidden="true" tabindex="-1" href="#lessons-learned-and-remediation"><span class="icon icon-link"></span></a>Lessons learned and Remediation</h2>
|
||
<p>While we know the root cause quite well by now, there are still a few things we must do to ensure this never happens again. Some of these things are internal processes and others are improving our current mechanisms. In both of these cases, we take this very seriously and have diverted a majority of our engineering efforts to prevent any future data loss and data leaks. Preventing these is the #0 goal for Turso.</p>
|
||
<p>While we have not fully reviewed every piece of code related to the incident we have already identified a few big ticket items that we have already fixed and/or plan on fixing ASAP. As part of that we expect the following changes:</p>
|
||
<ul>
|
||
<li>Additional internal checks from both our control plane and data plane to ensure backup's are for the correct database. This also means improving the data isolation in our backups similar to how we have data isolation for our running databases.</li>
|
||
<li>Improve our ability to check for faulting configuration and to self heal or notify a team member that there is an issue so we can fix it. Essentially have a narrower band of allowed configurations and to be more strict by default.</li>
|
||
<li>Improve our deployment methods to prevent migrations from breaking backup ID's.</li>
|
||
<li>Add better mechanisms for being notified of security incidents either via twitter or via email at (<a href="mailto:security@turso.tech">security@turso.tech</a>). Please reach out if you notice anything!</li>
|
||
</ul>
|
||
<h2 id="summary" class="relative"><a class="opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7" href="#summary">#</a><a aria-hidden="true" tabindex="-1" href="#summary"><span class="icon icon-link"></span></a>Summary</h2>
|
||
<p>We are embarrassed for this incident and the pain that it has caused our customers and our team. We have and will be implementing improved processes to prevent this in the future, but we need to be more rigorous going forward about how we handle data and the practices we use to prevent these issues. This will have my full attention and priority going into the new year as we plan to provide better features for data isolation and multi-tenancy. Thanks to <a href="https://twitter.com/galstar">Schlez</a> for notifying us and allowing us to get to a solution quickly. We hope we can regain some of the trust from the community going forward.</p></div><aside class="mt-16"><h2 id="related-posts-heading" aria-label="Continue reading" class="text-sm uppercase tracking-wider font-semibold text-aquamarine mb-8">Continue reading</h2><ul class="grid gap-6 md:grid-cols-3"><li class="flex flex-col gap-2 p-5 rounded-xl border border-solid border-[#283945] bg-gradient-to-b from-[#18222B] to-transparent transition-colors hover:border-aquamarine/50"><a class="font-semibold text-white hover:text-aquamarine leading-snug" href="/blog/running-unmodified-doom-in-the-sqlite-bytecode-language">Running unmodified Doom in the SQLite bytecode language</a><p class="text-xs text-white/50"><time dateTime="2026-07-17T00:00:00.000Z">Jul 17, 2026</time></p></li><li class="flex flex-col gap-2 p-5 rounded-xl border border-solid border-[#283945] bg-gradient-to-b from-[#18222B] to-transparent transition-colors hover:border-aquamarine/50"><a class="font-semibold text-white hover:text-aquamarine leading-snug" href="/blog/the-final-boss-of-reliability">The final boss of reliability: formal verification</a><p class="text-xs text-white/50"><time dateTime="2026-07-07T00:00:00.000Z">Jul 7, 2026</time></p></li><li class="flex flex-col gap-2 p-5 rounded-xl border border-solid border-[#283945] bg-gradient-to-b from-[#18222B] to-transparent transition-colors hover:border-aquamarine/50"><a class="font-semibold text-white hover:text-aquamarine leading-snug" href="/blog/how-we-used-quint-to-find-over-10-bugs-in-sqlite">How we used Quint to find over 10 bugs in SQLite while hardening Turso</a><p class="text-xs text-white/50"><time dateTime="2026-05-18T00:00:00.000Z">May 18, 2026</time></p></li></ul><p class="mt-10 text-lg text-white/80"><span>More posts by <a class="text-aquamarine hover:underline" href="/author/glauber-costa">Glauber Costa</a></span></p></aside><div class="pt-6 md:pt-12 lg:pt-24 flex justify-center"><div class="bg-white/5 rounded-full pr-4 py-4 pl-6 inline-flex items-center gap-3"><p class="text-white text-sm">Share <!-- -->article</p><a href="https://twitter.com/intent/tweet?text=Check%20out%20this%20awesome%20post%20on%20the%20%40tursodatabase%20blog%3A%20Incident%202023-12-04%3A%20Data%20leak%20and%20loss%20in%20some%20free%20tier%20databases%0A%0A&url=" target="_blank" rel="noreferrer noopener" class="flex justify-center items-center hover:bg-turso-aqua text-white hover:text-black rounded-full w-8 h-8 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-5 h-5 fill-current"><path d="M13.5222 10.7749L19.4785 4H18.0671L12.8952 9.88256L8.76437 4H4L10.2466 12.8955L4 20H5.41155L10.8732 13.7878L15.2356 20H20L13.5218 10.7749H13.5222ZM11.5889 12.9738L10.956 12.0881L5.92015 5.03974H8.0882L12.1522 10.728L12.7851 11.6137L18.0677 19.0075H15.8997L11.5889 12.9742V12.9738Z"></path></svg><span class="sr-only">Twitter / X</span></a><a href="https://news.ycombinator.com/submitlink?u=&t=Incident 2023-12-04: Data leak and loss in some free tier databases" target="_blank" rel="noreferrer noopener" class="flex justify-center items-center hover:bg-turso-aqua text-white hover:text-black rounded-full w-8 h-8 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" stroke="none" class="w-5 h-5"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M0 0H16V16H0V0ZM4.69024 3.8925L7.46363 9.0659V12.4258H8.53025V9.11913L11.3036 3.8925H10.1302L8.53025 7.14582C8.42355 7.30582 8.31694 7.46582 8.26363 7.62582C8.23286 7.74859 8.1845 7.83601 8.13883 7.91862C8.10515 7.97957 8.07286 8.0379 8.05024 8.10582C8.02355 8.07913 8.01017 8.03913 7.99686 7.99906C7.98355 7.95913 7.97024 7.91913 7.94355 7.89244C7.91686 7.83913 7.90348 7.79906 7.89017 7.75899C7.87686 7.71906 7.86355 7.67906 7.83694 7.62582V7.57251L7.78355 7.51913C7.76319 7.47841 7.75061 7.44546 7.73984 7.41731C7.72246 7.37171 7.70988 7.33877 7.67694 7.30582C7.62355 7.25251 7.57024 7.19913 7.57024 7.14582L5.97024 3.8925H4.69024Z"></path></svg><span class="sr-only">Hacker News</span></a><a href="mailto:?subject=Incident%202023-12-04%3A%20Data%20leak%20and%20loss%20in%20some%20free%20tier%20databases&body=Hey!%20%0A%0ACheck%20out%20this%20article%20on%20the%20Turso%20Blog%3A%20" target="_blank" rel="noreferrer noopener" class="flex justify-center items-center hover:bg-turso-aqua text-white hover:text-black rounded-full w-8 h-8 transition-colors"><svg viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 fill-current"><path d="M0.00300002 1.884L8 5.882L15.997 1.884C15.9674 1.37444 15.7441 0.895488 15.3728 0.545227C15.0016 0.194965 14.5104 -9.35847e-05 14 3.36834e-08H2C1.48958 -9.35847e-05 0.998447 0.194965 0.627178 0.545227C0.255908 0.895488 0.0326041 1.37444 0.00300002 1.884Z"></path><path d="M16 4.118L8 8.118L0 4.118V10C0 10.5304 0.210714 11.0391 0.585786 11.4142C0.960859 11.7893 1.46957 12 2 12H14C14.5304 12 15.0391 11.7893 15.4142 11.4142C15.7893 11.0391 16 10.5304 16 10V4.118Z"></path></svg><span class="sr-only">Email</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=" target="_blank" rel="noreferrer noopener" class="flex justify-center items-center hover:bg-turso-aqua text-white hover:text-black rounded-full w-8 h-8 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-5 h-5 fill-current"><path d="M18.3362 18.339H15.6707V14.1622C15.6707 13.1662 15.6505 11.8845 14.2817 11.8845C12.892 11.8845 12.6797 12.9683 12.6797 14.0887V18.339H10.0142V9.75H12.5747V10.9207H12.6092C12.967 10.2457 13.837 9.53325 15.1367 9.53325C17.8375 9.53325 18.337 11.3108 18.337 13.6245V18.339H18.3362ZM7.00373 8.57475C6.14573 8.57475 5.45648 7.88025 5.45648 7.026C5.45648 6.1725 6.14648 5.47875 7.00373 5.47875C7.85873 5.47875 8.55173 6.1725 8.55173 7.026C8.55173 7.88025 7.85798 8.57475 7.00373 8.57475ZM8.34023 18.339H5.66723V9.75H8.34023V18.339ZM19.6697 3H4.32923C3.59498 3 3.00098 3.5805 3.00098 4.29675V19.7033C3.00098 20.4202 3.59498 21 4.32923 21H19.6675C20.401 21 21.001 20.4202 21.001 19.7033V4.29675C21.001 3.5805 20.401 3 19.6675 3H19.6697Z"></path></svg><span class="sr-only">LinkedIn</span></a><button type="button" class="flex justify-center items-center hover:bg-turso-aqua text-white hover:text-black rounded-full w-8 h-8 transition-colors"><svg viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 stroke-current"><path d="M9.99188 6.24035C10.3661 6.4191 10.7167 6.66343 11.0267 6.97335C12.4911 8.43782 12.4911 10.8122 11.0267 12.2766L7.27665 16.0267C5.81218 17.4911 3.43782 17.4911 1.97335 16.0267C0.508883 14.5622 0.508883 12.1878 1.97335 10.7234L3.43749 9.25921M14.5625 8.74079L16.0267 7.27665C17.4911 5.81218 17.4911 3.43782 16.0267 1.97335C14.5622 0.508883 12.1878 0.508883 10.7234 1.97335L6.97335 5.72335C5.50888 7.18782 5.50888 9.56219 6.97335 11.0267C7.28327 11.3366 7.63394 11.5809 8.00812 11.7597" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="sr-only">Copy link</span></button></div></div></div></div></div></div><div class="border-b border-solid border-[#283945]"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Turso","legalName":"Turso, Inc","description":"Turso is an open source, SQLite-compatible database engine with concurrent writes, built-in sync, and vector search. Turso Cloud is the hosted platform for running millions of databases, one per user, agent, or tenant.","url":"https://turso.tech","logo":"https://turso.tech/logokit/turso-logo-aqua.png","email":"info@turso.tech","contactPoint":{"@type":"ContactPoint","contactType":"customer support","email":"info@turso.tech","url":"https://turso.tech/contact"},"address":{"@type":"PostalAddress","streetAddress":"2093 Philadelphia Pike #6336","addressLocality":"Claymont","addressRegion":"DE","postalCode":"19703","addressCountry":"US"},"sameAs":["https://github.com/tursodatabase","https://x.com/tursodatabase","https://www.linkedin.com/company/turso","https://tur.so/discord","https://www.youtube.com/@tursodatabase"]}</script><footer class="max-w-7xl mx-auto"><div class="border-x border-solid border-[#283945]"><div class="p-6 md:p-10 lg:p-14"><div class="grid grid-cols-2 md:grid-cols-4 gap-8"><dl class="list-none space-y-4"><dt class="font-medium text-turso-aqua text-sm mb-6">Turso Cloud</dt><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/quickstart">Quickstart</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech">Documentation</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="/pricing">Pricing</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://status.turso.tech">API Status </a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="/terms-of-use">Terms of Use</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="/privacy-policy">Privacy Policy</a></dd></dl><dl class="list-none space-y-4"><dt class="font-medium text-turso-aqua text-sm mb-6"> </dt><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/features/embedded-replicas">Embedded Replicas</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/features/branching">Database Branching</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/features/point-in-time-recovery">Backups & Recovery</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/features/platform-api">Platform API</a></dd></dl><dl class="list-none space-y-4"><dt class="font-medium text-turso-aqua text-sm mb-6">Turso Database</dt><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/introduction">Quickstart</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://github.com/tursodatabase/turso/blob/main/CHANGELOG.md">Changelog</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://github.com/tursodatabase/turso/releases">Releases</a></dd></dl><dl class="list-none space-y-4"><dt class="font-medium text-turso-aqua text-sm mb-6">Company</dt><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="/about">About</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="mailto:info@turso.tech">Contact Us</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://docs.turso.tech/support">Support</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="https://trust.turso.tech">Trust</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="/blog">Blog</a></dd><dd class="m-0"><a class="text-turso-gray-1100 transition-all hover:text-white text-sm" href="/brand">Brand</a></dd></dl></div></div><div class="p-6 md:p-10 lg:p-14"><div class="flex flex-col md:flex-row items-center justify-between text-sm"><div class="flex items-center space-x-3 md:order-3 mb-3 md:mb-0"><a href="/blog/feed.xml" class="text-turso-gray-1100 transition-all hover:text-white" target="_blank" rel="noreferrer noopener"><span class="sr-only">RSS</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-6 w-6" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M12.75 19.5v-.75a7.5 7.5 0 0 0-7.5-7.5H4.5m0-6.75h.75c7.87 0 14.25 6.38 14.25 14.25v.75M6 18.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"></path></svg></a><a href="https://www.youtube.com/@tursodatabase" class="text-turso-gray-1100 transition-all hover:text-white" target="_blank" rel="noreferrer noopener"><span class="sr-only">YouTube</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="h-6 w-6" aria-hidden="true"><path d="M12.2439 4C12.778 4.00294 14.1143 4.01586 15.5341 4.07273L16.0375 4.09468C17.467 4.16236 18.8953 4.27798 19.6037 4.4755C20.5486 4.74095 21.2913 5.5155 21.5423 6.49732C21.942 8.05641 21.992 11.0994 21.9982 11.8358L21.9991 11.9884L21.9991 11.9991C21.9991 11.9991 21.9991 12.0028 21.9991 12.0099L21.9982 12.1625C21.992 12.8989 21.942 15.9419 21.5423 17.501C21.2878 18.4864 20.5451 19.261 19.6037 19.5228C18.8953 19.7203 17.467 19.8359 16.0375 19.9036L15.5341 19.9255C14.1143 19.9824 12.778 19.9953 12.2439 19.9983L12.0095 19.9991L11.9991 19.9991C11.9991 19.9991 11.9956 19.9991 11.9887 19.9991L11.7545 19.9983C10.6241 19.9921 5.89772 19.941 4.39451 19.5228C3.4496 19.2573 2.70692 18.4828 2.45587 17.501C2.0562 15.9419 2.00624 12.8989 2 12.1625V11.8358C2.00624 11.0994 2.0562 8.05641 2.45587 6.49732C2.7104 5.51186 3.45308 4.73732 4.39451 4.4755C5.89772 4.05723 10.6241 4.00622 11.7545 4H12.2439ZM9.99911 8.49914V15.4991L15.9991 11.9991L9.99911 8.49914Z"></path></svg></a><a href="https://tur.so/discord" class="text-turso-gray-1100 transition-all hover:text-white" target="_blank" rel="noreferrer noopener"><span class="sr-only">Discord</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="h-6 w-6" aria-hidden="true"><path d="M19.3034 5.33716C17.9344 4.71103 16.4805 4.2547 14.9629 4C14.7719 4.32899 14.5596 4.77471 14.411 5.12492C12.7969 4.89144 11.1944 4.89144 9.60255 5.12492C9.45397 4.77471 9.2311 4.32899 9.05068 4C7.52251 4.2547 6.06861 4.71103 4.70915 5.33716C1.96053 9.39111 1.21766 13.3495 1.5891 17.2549C3.41443 18.5815 5.17612 19.388 6.90701 19.9187C7.33151 19.3456 7.71356 18.73 8.04255 18.0827C7.41641 17.8492 6.82211 17.5627 6.24904 17.2231C6.39762 17.117 6.5462 17.0003 6.68416 16.8835C10.1438 18.4648 13.8911 18.4648 17.3082 16.8835C17.4568 17.0003 17.5948 17.117 17.7434 17.2231C17.1703 17.5627 16.576 17.8492 15.9499 18.0827C16.2789 18.73 16.6609 19.3456 17.0854 19.9187C18.8152 19.388 20.5875 18.5815 22.4033 17.2549C22.8596 12.7341 21.6806 8.80747 19.3034 5.33716ZM8.5201 14.8459C7.48007 14.8459 6.63107 13.9014 6.63107 12.7447C6.63107 11.5879 7.45884 10.6434 8.5201 10.6434C9.57071 10.6434 10.4303 11.5879 10.4091 12.7447C10.4091 13.9014 9.57071 14.8459 8.5201 14.8459ZM15.4936 14.8459C14.4535 14.8459 13.6034 13.9014 13.6034 12.7447C13.6034 11.5879 14.4323 10.6434 15.4936 10.6434C16.5442 10.6434 17.4038 11.5879 17.3825 12.7447C17.3825 13.9014 16.5548 14.8459 15.4936 14.8459Z"></path></svg></a><a href="https://x.com/tursodatabase" class="text-turso-gray-1100 transition-all hover:text-white" target="_blank" rel="noreferrer noopener"><span class="sr-only">X</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-6 w-6" aria-hidden="true"><path d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z"></path></svg></a><a href="https://www.linkedin.com/company/turso" class="text-turso-gray-1100 transition-all hover:text-white" target="_blank" rel="noreferrer noopener"><span class="sr-only">Linkedin</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="h-6 w-6" aria-hidden="true"><path d="M18.3362 18.339H15.6707V14.1622C15.6707 13.1662 15.6505 11.8845 14.2817 11.8845C12.892 11.8845 12.6797 12.9683 12.6797 14.0887V18.339H10.0142V9.75H12.5747V10.9207H12.6092C12.967 10.2457 13.837 9.53325 15.1367 9.53325C17.8375 9.53325 18.337 11.3108 18.337 13.6245V18.339H18.3362ZM7.00373 8.57475C6.14573 8.57475 5.45648 7.88025 5.45648 7.026C5.45648 6.1725 6.14648 5.47875 7.00373 5.47875C7.85873 5.47875 8.55173 6.1725 8.55173 7.026C8.55173 7.88025 7.85798 8.57475 7.00373 8.57475ZM8.34023 18.339H5.66723V9.75H8.34023V18.339ZM19.6697 3H4.32923C3.59498 3 3.00098 3.5805 3.00098 4.29675V19.7033C3.00098 20.4202 3.59498 21 4.32923 21H19.6675C20.401 21 21.001 20.4202 21.001 19.7033V4.29675C21.001 3.5805 20.401 3 19.6675 3H19.6697Z"></path></svg></a><a href="https://github.com/tursodatabase" class="text-turso-gray-1100 transition-all hover:text-white" target="_blank" rel="noreferrer noopener"><span class="sr-only">GitHub</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-6 w-6" aria-hidden="true"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></a></div><div class="flex items-center space-x-3 mb-3 md:mb-0"><span><svg width="30" height="26" viewBox="0 0 30 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 25.75C14.6715 25.75 12.27 23.83 11.805 23.2825C11.439 23.842 10.839 24.4765 10.839 24.4765C9.18152 23.641 7.06352 21.4675 6.66452 20.707C6.27152 19.957 4.84502 11.32 4.80602 8.81195C4.75502 7.40045 5.68351 4.53845 15 4.53845C24.3165 4.53845 25.2435 7.40045 25.194 8.81195C25.1565 11.32 23.73 19.957 23.3355 20.707C22.9365 21.4675 20.8185 23.641 19.161 24.4765C19.161 24.4765 18.561 23.842 18.195 23.2825C17.73 23.83 15.3285 25.75 15 25.75Z" fill="#1EBCA1"></path><path d="M15 20.188C11.8905 20.188 9.90601 18.5455 9.90601 18.5455L10.1925 14.545L6.93001 14.254L6.34351 9.52148H23.658L23.0715 14.254L19.809 14.545L20.0955 18.5455C20.0955 18.5455 18.111 20.188 15.0015 20.188H15Z" fill="#183134"></path><path d="M18.222 11.6185L30 7.5415C29.2995 3.3505 25.626 0.25 25.626 0.25V4.867L23.445 5.4295L22.0785 3.784L20.9085 6.085L15.0015 7.609L9.0945 6.085L7.9245 3.784L6.558 5.4295L4.377 4.867V0.25C4.377 0.25 0.7005 3.3505 0 7.5415L11.778 11.6185L11.358 17.227C12.363 17.482 13.4205 17.7355 15 17.7355C16.5795 17.7355 17.6355 17.482 18.6405 17.227L18.2205 11.6185H18.222Z" fill="#4FF8D2"></path></svg></span><span class="text-turso-gray-1100 select-none">© <strong>Turso</strong> <!-- -->2026</span></div></div></div></div></footer></div></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div id="_rht_toaster" style="position:fixed;z-index:9999;top:16px;left:16px;right:16px;bottom:16px;pointer-events:none"></div><script src="/_next/static/chunks/webpack-066a2198d8bb9079.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/723e11e5093b8e80.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/css/4ab7c996bdd73624.css\",\"style\"]\n4:HL[\"/_next/static/css/4c26db0c1349dd88.css\",\"style\"]\n5:HL[\"/_next/static/css/f35334893209e476.css\",\"style\"]\n6:HL[\"/_next/static/css/aff42e9b1b2b5237.css\",\"style\"]\n7:HL[\"/_next/static/css/8ca93e3357ce335e.css\",\"style\"]\n8:HL[\"/_next/static/css/18a033608834064b.css\",\"style\"]\n9:HL[\"/_next/static/css/fd3c8bb3f3c8ee07.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"a:I[12846,[],\"\"]\nd:I[4707,[],\"\"]\nf:I[36423,[],\"\"]\n10:I[37545,[\"2972\",\"static/chunks/2972-f9ae2e0b5fa01a52.js\",\"5547\",\"static/chunks/5547-eade42e5534f9310.js\",\"1635\",\"static/chunks/1635-fb7e49accb493c75.js\",\"7545\",\"static/chunks/7545-5148683007c1b3d1.js\",\"7289\",\"static/chunks/app/(marketing)/blog/%5Bslug%5D/not-found-8980460590b1555c.js\"],\"default\"]\n11:I[88291,[\"5878\",\"static/chunks/9da6db1e-f59eaee33fee26f7.js\",\"3943\",\"static/chunks/3943-ec7de03f84b96d5c.js\",\"3041\",\"static/chunks/app/(marketing)/layout-d610f04dc01c938a.js\"],\"Analytics\"]\n12:I[48553,[\"5878\",\"static/chunks/9da6db1e-f59eaee33fee26f7.js\",\"3943\",\"static/chunks/3943-ec7de03f84b96d5c.js\",\"3041\",\"static/chunks/app/(marketing)/layout-d610f04dc01c938a.js\"],\"default\"]\n13:I[62047,[\"5878\",\"static/chunks/9da6db1e-f59eaee33fee26f7.js\",\"3943\",\"static/chunks/3943-ec7de03f84b96d5c.js\",\"3041\",\"static/chunks/app/(marketing)/layout-d610f04dc01c938a.js\"],\"default\"]\n14:I[98087,[\"5878\",\"static/chunks/9da6db1e-f59eaee33fee26f7.js\",\"3943\",\"static/chunks/3943-ec7de03f84b96d5c.js\",\"3041\",\"static/chunks/app/(marketing)/layout-d610f04dc01c938a.js\"],\"GoogleTagManager\"]\n15:I[46175,[\"5878\",\"static/chunks/9da6db1e-f59eaee33fee26f7.js\",\"3943\",\"static/chunks/3943-ec7de03f84b96d5c.js\",\"3041\",\"static/chunks/app/(marketing)/layout-d610f04dc01c938a.js\"],\"Toaster\"]\n17:I[61060,[],\"\"]\ne:[\"slug\",\"incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\",\"d\"]\n18:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$La\",null,{\"buildId\":\"PAvcVH5wYeLKqEAB32svt\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"blog\",\"incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\"],\"initialTree\":[\"\",{\"children\":[\"(marketing)\",{\"children\":[\"blog\",{\"children\":[[\"slug\",\"incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\",\"d\"],{\"children\":[\"__PAGE__?{\\\"slug\\\":\\\"incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\\\"}\",{}]}]}]},\"$undefined\",\"$undefined\",true]}],\"initialSeedData\":[\"\",{\"children\":[\"(marketing)\",{\"children\":[\"blog\",{\"children\":[[\"slug\",\"incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\",\"d\"],{\"children\":[\"__PAGE__\",{},[[\"$Lb\",\"$Lc\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f35334893209e476.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/aff42e9b1b2b5237.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8ca93e3357ce335e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/18a033608834064b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fd3c8bb3f3c8ee07.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(marketing)\",\"children\",\"blog\",\"children\",\"$e\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L10\",null,{\"title\":\"Post Not Found\",\"links\":[{\"href\":\"/blog\",\"text\":\"View All Posts\"}]}],\"notFoundStyles\":[]}]],null]},[[null,[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(marketing)\",\"children\",\"blog\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4ab7c996bdd73624.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4c26db0c1349dd88.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f367f3 __variable_46451f\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-bunker antialiased text-white\",\"children\":[[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(marketing)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"main\",null,{\"className\":\"min-h-screen flex flex-col items-center justify-center text-center px-6 py-16\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-4xl lg:text-5xl font-semibold text-white\",\"children\":\"Page Not Found\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-xl text-white/70 max-w-xl\",\"children\":\"The page you are looking for does not exist or has moved. Here is where to look next:\"}],[\"$\",\"ul\",null,{\"className\":\"mt-10 flex flex-wrap items-center justify-center gap-4 list-none\",\"children\":[[\"$\",\"li\",\"/\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"inline-block px-6 py-3 rounded-full border border-solid border-aquamarine text-aquamarine hover:bg-aquamarine hover:text-bunker transition-colors\",\"children\":\"Homepage\"}]}],[\"$\",\"li\",\"/blog\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/blog\",\"className\":\"inline-block px-6 py-3 rounded-full border border-solid border-aquamarine text-aquamarine hover:bg-aquamarine hover:text-bunker transition-colors\",\"children\":\"Blog\"}]}],[\"$\",\"li\",\"/pricing\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/pricing\",\"className\":\"inline-block px-6 py-3 rounded-full border border-solid border-aquamarine text-aquamarine hover:bg-aquamarine hover:text-bunker transition-colors\",\"children\":\"Pricing\"}]}],[\"$\",\"li\",\"https://docs.turso.tech\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://docs.turso.tech\",\"className\":\"inline-block px-6 py-3 rounded-full border border-solid border-aquamarine text-aquamarine hover:bg-aquamarine hover:text-bunker transition-colors\",\"children\":\"Documentation\"}]}],[\"$\",\"li\",\"/sitemap.xml\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/sitemap.xml\",\"className\":\"inline-block px-6 py-3 rounded-full border border-solid border-aquamarine text-aquamarine hover:bg-aquamarine hover:text-bunker transition-colors\",\"children\":\"Sitemap\"}]}],[\"$\",\"li\",\"/llms.txt\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"className\":\"inline-block px-6 py-3 rounded-full border border-solid border-aquamarine text-aquamarine hover:bg-aquamarine hover:text-bunker transition-colors\",\"children\":\"llms.txt (for AI agents)\"}]}]]}]]}],\"notFoundStyles\":[]}],[\"$\",\"$L11\",null,{}],[\"$\",\"$L12\",null,{}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{\"gtmId\":\"GTM-WW757Q5\"}],[\"$\",\"$L15\",null,{}]]}]}]],null],null]},[null,[\"$\",\"$Ld\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lf\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L16\"],\"globalErrorComponent\":\"$17\",\"missingSlots\":\"$W18\"}]\n"])</script><script>self.__next_f.push([1,"19:I[81635,[\"2972\",\"static/chunks/2972-f9ae2e0b5fa01a52.js\",\"5547\",\"static/chunks/5547-eade42e5534f9310.js\",\"9291\",\"static/chunks/9291-a41fd5c1c49b3370.js\",\"2441\",\"static/chunks/2441-8eca802434c3fb90.js\",\"1635\",\"static/chunks/1635-fb7e49accb493c75.js\",\"9525\",\"static/chunks/9525-206635c80e4e03ad.js\",\"666\",\"static/chunks/app/(marketing)/blog/%5Bslug%5D/page-7d5f25b981fd20f5.js\"],\"default\"]\n1a:I[65878,[\"2972\",\"static/chunks/2972-f9ae2e0b5fa01a52.js\",\"5547\",\"static/chunks/5547-eade42e5534f9310.js\",\"9291\",\"static/chunks/9291-a41fd5c1c49b3370.js\",\"2441\",\"static/chunks/2441-8eca802434c3fb90.js\",\"1635\",\"static/chunks/1635-fb7e49accb493c75.js\",\"9525\",\"static/chunks/9525-206635c80e4e03ad.js\",\"666\",\"static/chunks/app/(marketing)/blog/%5Bslug%5D/page-7d5f25b981fd20f5.js\"],\"Image\"]\n1b:I[72972,[\"2972\",\"static/chunks/2972-f9ae2e0b5fa01a52.js\",\"5547\",\"static/chunks/5547-eade42e5534f9310.js\",\"9291\",\"static/chunks/9291-a41fd5c1c49b3370.js\",\"2441\",\"static/chunks/2441-8eca802434c3fb90.js\",\"1635\",\"static/chunks/1635-fb7e49accb493c75.js\",\"9525\",\"static/chunks/9525-206635c80e4e03ad.js\",\"666\",\"static/chunks/app/(marketing)/blog/%5Bslug%5D/page-7d5f25b981fd20f5.js\"],\"\"]\n1c:I[58471,[\"2972\",\"static/chunks/2972-f9ae2e0b5fa01a52.js\",\"5547\",\"static/chunks/5547-eade42e5534f9310.js\",\"9291\",\"static/chunks/9291-a41fd5c1c49b3370.js\",\"2441\",\"static/chunks/2441-8eca802434c3fb90.js\",\"1635\",\"static/chunks/1635-fb7e49accb493c75.js\",\"9525\",\"static/chunks/9525-206635c80e4e03ad.js\",\"666\",\"static/chunks/app/(marketing)/blog/%5Bslug%5D/page-7d5f25b981fd20f5.js\"],\"Share\"]\n1d:T495,M19.3034 5.33716C17.9344 4.71103 16.4805 4.2547 14.9629 4C14.7719 4.32899 14.5596 4.77471 14.411 5.12492C12.7969 4.89144 11.1944 4.89144 9.60255 5.12492C9.45397 4.77471 9.2311 4.32899 9.05068 4C7.52251 4.2547 6.06861 4.71103 4.70915 5.33716C1.96053 9.39111 1.21766 13.3495 1.5891 17.2549C3.41443 18.5815 5.17612 19.388 6.90701 19.9187C7.33151 19.3456 7.71356 18.73 8.04255 18.0827C7.41641 17.8492 6.82211 17.5627 6.24904 17.2231C6.39762 17.117 6.5462 17.0003 6.68416 16.8835C10.1438 18.4"])</script><script>self.__next_f.push([1,"648 13.8911 18.4648 17.3082 16.8835C17.4568 17.0003 17.5948 17.117 17.7434 17.2231C17.1703 17.5627 16.576 17.8492 15.9499 18.0827C16.2789 18.73 16.6609 19.3456 17.0854 19.9187C18.8152 19.388 20.5875 18.5815 22.4033 17.2549C22.8596 12.7341 21.6806 8.80747 19.3034 5.33716ZM8.5201 14.8459C7.48007 14.8459 6.63107 13.9014 6.63107 12.7447C6.63107 11.5879 7.45884 10.6434 8.5201 10.6434C9.57071 10.6434 10.4303 11.5879 10.4091 12.7447C10.4091 13.9014 9.57071 14.8459 8.5201 14.8459ZM15.4936 14.8459C14.4535 14.8459 13.6034 13.9014 13.6034 12.7447C13.6034 11.5879 14.4323 10.6434 15.4936 10.6434C16.5442 10.6434 17.4038 11.5879 17.3825 12.7447C17.3825 13.9014 16.5548 14.8459 15.4936 14.8459Z"])</script><script>self.__next_f.push([1,"c:[\"$\",\"div\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"suppressHydrationWarning\":true,\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Incident 2023-12-04: Data leak and loss in some free tier databases\\\",\\\"datePublished\\\":\\\"2023-12-05\\\",\\\"dateModified\\\":\\\"2023-12-05\\\",\\\"description\\\":\\\"Data leak and loss in some free tier databases on 2023-12-04\\\",\\\"image\\\":\\\"https://turso.tech/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png\\\",\\\"url\\\":\\\"https://turso.tech/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\\\",\\\"author\\\":[{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Glauber Costa\\\"}],\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Turso\\\",\\\"url\\\":\\\"https://turso.tech\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://turso.tech/logokit/turso-logo-aqua.png\\\"}}}\"}}],[\"$\",\"$L19\",null,{}],[\"$\",\"div\",null,{\"className\":\"border-b border-solid border-[#283945]\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto\",\"children\":[\"$\",\"div\",null,{\"className\":\"border-x border-solid border-[#283945] p-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-3xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"pt-12 md:pt-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col justify-center items-center space-y-3 md:space-y-6 relative\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[false,[\"$\",\"p\",null,{\"className\":\"text-aquamarine text-sm\",\"children\":[\"$\",\"time\",null,{\"dateTime\":\"2023-12-05T00:00:00.000Z\",\"children\":\"Dec 5, 2023\"}]}]]}],[\"$\",\"h1\",null,{\"className\":\"font-bold text-2xl md:text-5xl text-center\",\"children\":\"Incident 2023-12-04: Data leak and loss in some free tier databases\"}],[\"$\",\"p\",null,{\"className\":\"text-lg md:text-xl text-center text-white/60\",\"children\":\"Data leak and loss in some free tier databases on 2023-12-04\"}],[\"$\",\"div\",null,{\"className\":\"flex gap-3 md:gap-5\",\"children\":[[\"$\",\"div\",\"Glauber Costa\",{\"className\":\"flex items-center space-x-2.5\",\"children\":[[\"$\",\"$L1a\",null,{\"src\":\"/avatar/Glauber-Costa.jpg\",\"alt\":\"Glauber Costa\",\"title\":\"Glauber Costa\",\"width\":30,\"height\":30,\"className\":\"rounded-full shadow\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"/author/glauber-costa\",\"className\":\"text-white/70 hover:text-aquamarine transition-colors\",\"children\":\"Glauber Costa\"}],\"$undefined\"]}]]}]]}]]}]}]}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-5xl px-8 py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"object-contain bg-[#26303B] aspect-video rounded-xl overflow-hidden flex items-center justify-center\",\"children\":[\"$\",\"$L1a\",null,{\"src\":\"/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png\",\"width\":1080,\"height\":720,\"quality\":100,\"alt\":\"Cover image for Incident 2023-12-04: Data leak and loss in some free tier databases\",\"className\":\"w-full h-full\"}]}]}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-3xl px-8\",\"children\":[false,[\"$\",\"div\",null,{\"className\":\"prose prose-hr:border-solid prose-invert prose-quoteless prose-a:text-aquamarine prose-lg max-w-none\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"what-happened-\",\"className\":\"relative\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"#what-happened-\",\"className\":\"opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7\",\"children\":\"#\"}],[[\"$\",\"a\",null,{\"aria-hidden\":\"true\",\"tabIndex\":\"-1\",\"href\":\"#what-happened\",\"children\":[\"$\",\"span\",null,{\"className\":\"icon icon-link\"}]}],\"What happened?\"]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"0.07% of databases under management were incorrectly configured with an empty backup identifier, which caused a data leak. The conservative fix we applied to the leak, lead to the possible loss of the most recent data in those databases.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"A change that made possible for the empty backup identifier to be used was made to the system on November 20th. On December 1st, internal procedures led to those backups being used to recreate the databases. This was noticed and reported on December 4th 8:10 AM UTC, and fixed on December 4th 9:17 AM UTC.\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"what-was-the-root-cause-\",\"className\":\"relative\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"#what-was-the-root-cause-\",\"className\":\"opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7\",\"children\":\"#\"}],[[\"$\",\"a\",null,{\"aria-hidden\":\"true\",\"tabIndex\":\"-1\",\"href\":\"#what-was-the-root-cause\",\"children\":[\"$\",\"span\",null,{\"className\":\"icon icon-link\"}]}],\"What was the root cause?\"]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"Databases on Turso's free tier may scale to zero after one hour of inactivity. They are scaled back to one automatically upon receiving a network request. Usually this is completely invisible to the users, except for added latency on the initial request.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"However, in rare situations, our cloud provider (\",[\"$\",\"a\",null,{\"href\":\"http://fly.io/\",\"children\":\"fly.io\"}],\") is unable to restore the process due to lack of resource availability in the host. In those cases, we destroy the machine and recreate it from the S3 backup. Each database has a separate backup identifier, through which we know which snapshot to restore.\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"From time to time, we migrate databases to newer version. A bug in that process caused some databases created to use an empty backup identifier. Effectively, the databases in that small set were now sharing a backup storage bucket. In effect, instead of pointing to \",[\"$\",\"code\",null,{\"children\":\"s3://bucket/backup_id/\"}],\", the affected databases were pointing to \",[\"$\",\"code\",null,{\"children\":\"s3://bucket//\"}],\".\"]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"When some databases failed to scale back to one, recreation happened from a shared location, the null ID. This caused both the data loss and data leak mentioned above.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"We fixed the issue, by re-running the migration with the correct parameters and recreating the affected databases with their December 1st backup from the correct backup ID. Since we considered any data past December 1st to be shared between those databases, any writes done after that point were discarded.\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"how-do-we-know-which-databases-were-affected-\",\"className\":\"relative\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"#how-do-we-know-which-databases-were-affected-\",\"className\":\"opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7\",\"children\":\"#\"}],[[\"$\",\"a\",null,{\"aria-hidden\":\"true\",\"tabIndex\":\"-1\",\"href\":\"#how-do-we-know-which-databases-were-affected\",\"children\":[\"$\",\"span\",null,{\"className\":\"icon icon-link\"}]}],\"How do we know which databases were affected?\"]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"We were able to determine all databases pointing to an invalid and shared backup ID by querying metadata for databases with the faulty backup ID. We could also scan our object store buckets and verify that no other databases were affected.\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"lessons-learned-and-remediation\",\"className\":\"relative\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"#lessons-learned-and-remediation\",\"className\":\"opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7\",\"children\":\"#\"}],[[\"$\",\"a\",null,{\"aria-hidden\":\"true\",\"tabIndex\":\"-1\",\"href\":\"#lessons-learned-and-remediation\",\"children\":[\"$\",\"span\",null,{\"className\":\"icon icon-link\"}]}],\"Lessons learned and Remediation\"]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"While we know the root cause quite well by now, there are still a few things we must do to ensure this never happens again. Some of these things are internal processes and others are improving our current mechanisms. In both of these cases, we take this very seriously and have diverted a majority of our engineering efforts to prevent any future data loss and data leaks. Preventing these is the #0 goal for Turso.\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"While we have not fully reviewed every piece of code related to the incident we have already identified a few big ticket items that we have already fixed and/or plan on fixing ASAP. As part of that we expect the following changes:\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Additional internal checks from both our control plane and data plane to ensure backup's are for the correct database. This also means improving the data isolation in our backups similar to how we have data isolation for our running databases.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Improve our ability to check for faulting configuration and to self heal or notify a team member that there is an issue so we can fix it. Essentially have a narrower band of allowed configurations and to be more strict by default.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Improve our deployment methods to prevent migrations from breaking backup ID's.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Add better mechanisms for being notified of security incidents either via twitter or via email at (\",[\"$\",\"a\",null,{\"href\":\"mailto:security@turso.tech\",\"children\":\"security@turso.tech\"}],\"). Please reach out if you notice anything!\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"summary\",\"className\":\"relative\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"#summary\",\"className\":\"opacity-70 hover:opacity-90 pr-2 font-semibold -ml-7\",\"children\":\"#\"}],[[\"$\",\"a\",null,{\"aria-hidden\":\"true\",\"tabIndex\":\"-1\",\"href\":\"#summary\",\"children\":[\"$\",\"span\",null,{\"className\":\"icon icon-link\"}]}],\"Summary\"]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"We are embarrassed for this incident and the pain that it has caused our customers and our team. We have and will be implementing improved processes to prevent this in the future, but we need to be more rigorous going forward about how we handle data and the practices we use to prevent these issues. This will have my full attention and priority going into the new year as we plan to provide better features for data isolation and multi-tenancy. Thanks to \",[\"$\",\"a\",null,{\"href\":\"https://twitter.com/galstar\",\"children\":\"Schlez\"}],\" for notifying us and allowing us to get to a solution quickly. We hope we can regain some of the trust from the community going forward.\"]}]]}],[\"$\",\"aside\",null,{\"className\":\"mt-16\",\"children\":[[[\"$\",\"h2\",null,{\"id\":\"related-posts-heading\",\"aria-label\":\"Continue reading\",\"className\":\"text-sm uppercase tracking-wider font-semibold text-aquamarine mb-8\",\"children\":\"Continue reading\"}],[\"$\",\"ul\",null,{\"className\":\"grid gap-6 md:grid-cols-3\",\"children\":[[\"$\",\"li\",\"running-unmodified-doom-in-the-sqlite-bytecode-language\",{\"className\":\"flex flex-col gap-2 p-5 rounded-xl border border-solid border-[#283945] bg-gradient-to-b from-[#18222B] to-transparent transition-colors hover:border-aquamarine/50\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"/blog/running-unmodified-doom-in-the-sqlite-bytecode-language\",\"className\":\"font-semibold text-white hover:text-aquamarine leading-snug\",\"children\":\"Running unmodified Doom in the SQLite bytecode language\"}],[\"$\",\"p\",null,{\"className\":\"text-xs text-white/50\",\"children\":[\"$\",\"time\",null,{\"dateTime\":\"2026-07-17T00:00:00.000Z\",\"children\":\"Jul 17, 2026\"}]}]]}],[\"$\",\"li\",\"the-final-boss-of-reliability\",{\"className\":\"flex flex-col gap-2 p-5 rounded-xl border border-solid border-[#283945] bg-gradient-to-b from-[#18222B] to-transparent transition-colors hover:border-aquamarine/50\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"/blog/the-final-boss-of-reliability\",\"className\":\"font-semibold text-white hover:text-aquamarine leading-snug\",\"children\":\"The final boss of reliability: formal verification\"}],[\"$\",\"p\",null,{\"className\":\"text-xs text-white/50\",\"children\":[\"$\",\"time\",null,{\"dateTime\":\"2026-07-07T00:00:00.000Z\",\"children\":\"Jul 7, 2026\"}]}]]}],[\"$\",\"li\",\"how-we-used-quint-to-find-over-10-bugs-in-sqlite\",{\"className\":\"flex flex-col gap-2 p-5 rounded-xl border border-solid border-[#283945] bg-gradient-to-b from-[#18222B] to-transparent transition-colors hover:border-aquamarine/50\",\"children\":[[\"$\",\"$L1b\",null,{\"href\":\"/blog/how-we-used-quint-to-find-over-10-bugs-in-sqlite\",\"className\":\"font-semibold text-white hover:text-aquamarine leading-snug\",\"children\":\"How we used Quint to find over 10 bugs in SQLite while hardening Turso\"}],[\"$\",\"p\",null,{\"className\":\"text-xs text-white/50\",\"children\":[\"$\",\"time\",null,{\"dateTime\":\"2026-05-18T00:00:00.000Z\",\"children\":\"May 18, 2026\"}]}]]}]]}]],[\"$\",\"p\",null,{\"className\":\"mt-10 text-lg text-white/80\",\"children\":[[\"$\",\"span\",\"Glauber Costa\",{\"children\":[\"More posts by \",[\"$\",\"$L1b\",null,{\"href\":\"/author/glauber-costa\",\"className\":\"text-aquamarine hover:underline\",\"children\":\"Glauber Costa\"}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"pt-6 md:pt-12 lg:pt-24 flex justify-center\",\"children\":[\"$\",\"$L1c\",null,{\"title\":\"Incident 2023-12-04: Data leak and loss in some free tier databases\"}]}]]}]]}]}]}],[\"$\",\"div\",null,{\"className\":\"border-b border-solid border-[#283945]\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"suppressHydrationWarning\":true,\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Turso\\\",\\\"legalName\\\":\\\"Turso, Inc\\\",\\\"description\\\":\\\"Turso is an open source, SQLite-compatible database engine with concurrent writes, built-in sync, and vector search. Turso Cloud is the hosted platform for running millions of databases, one per user, agent, or tenant.\\\",\\\"url\\\":\\\"https://turso.tech\\\",\\\"logo\\\":\\\"https://turso.tech/logokit/turso-logo-aqua.png\\\",\\\"email\\\":\\\"info@turso.tech\\\",\\\"contactPoint\\\":{\\\"@type\\\":\\\"ContactPoint\\\",\\\"contactType\\\":\\\"customer support\\\",\\\"email\\\":\\\"info@turso.tech\\\",\\\"url\\\":\\\"https://turso.tech/contact\\\"},\\\"address\\\":{\\\"@type\\\":\\\"PostalAddress\\\",\\\"streetAddress\\\":\\\"2093 Philadelphia Pike #6336\\\",\\\"addressLocality\\\":\\\"Claymont\\\",\\\"addressRegion\\\":\\\"DE\\\",\\\"postalCode\\\":\\\"19703\\\",\\\"addressCountry\\\":\\\"US\\\"},\\\"sameAs\\\":[\\\"https://github.com/tursodatabase\\\",\\\"https://x.com/tursodatabase\\\",\\\"https://www.linkedin.com/company/turso\\\",\\\"https://tur.so/discord\\\",\\\"https://www.youtube.com/@tursodatabase\\\"]}\"}}],[\"$\",\"footer\",null,{\"className\":\"max-w-7xl mx-auto\",\"children\":[\"$\",\"div\",null,{\"className\":\"border-x border-solid border-[#283945]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"p-6 md:p-10 lg:p-14\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 md:grid-cols-4 gap-8\",\"children\":[[\"$\",\"dl\",null,{\"className\":\"list-none space-y-4\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"font-medium text-turso-aqua text-sm mb-6\",\"children\":\"Turso Cloud\"}],[[\"$\",\"dd\",\"Quickstart\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/quickstart\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Quickstart\"}]}],[\"$\",\"dd\",\"Documentation\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Documentation\"}]}],[\"$\",\"dd\",\"Pricing\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"/pricing\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Pricing\"}]}],[\"$\",\"dd\",\"API Status \",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://status.turso.tech\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"API Status \"}]}],[\"$\",\"dd\",\"Terms of Use\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"/terms-of-use\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Terms of Use\"}]}],[\"$\",\"dd\",\"Privacy Policy\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"/privacy-policy\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Privacy Policy\"}]}]]]}],[\"$\",\"dl\",null,{\"className\":\"list-none space-y-4\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"font-medium text-turso-aqua text-sm mb-6\",\"children\":\" \"}],[[\"$\",\"dd\",\"Embedded Replicas\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/features/embedded-replicas\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Embedded Replicas\"}]}],[\"$\",\"dd\",\"Database Branching\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/features/branching\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Database Branching\"}]}],[\"$\",\"dd\",\"Backups \u0026 Recovery\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/features/point-in-time-recovery\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Backups \u0026 Recovery\"}]}],[\"$\",\"dd\",\"Platform API\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/features/platform-api\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Platform API\"}]}]]]}],[\"$\",\"dl\",null,{\"className\":\"list-none space-y-4\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"font-medium text-turso-aqua text-sm mb-6\",\"children\":\"Turso Database\"}],[[\"$\",\"dd\",\"Quickstart\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/introduction\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Quickstart\"}]}],[\"$\",\"dd\",\"Changelog\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://github.com/tursodatabase/turso/blob/main/CHANGELOG.md\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Changelog\"}]}],[\"$\",\"dd\",\"Releases\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://github.com/tursodatabase/turso/releases\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Releases\"}]}]]]}],[\"$\",\"dl\",null,{\"className\":\"list-none space-y-4\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"font-medium text-turso-aqua text-sm mb-6\",\"children\":\"Company\"}],[[\"$\",\"dd\",\"About\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"/about\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"About\"}]}],[\"$\",\"dd\",\"Contact Us\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"mailto:info@turso.tech\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Contact Us\"}]}],[\"$\",\"dd\",\"Support\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://docs.turso.tech/support\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Support\"}]}],[\"$\",\"dd\",\"Trust\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"https://trust.turso.tech\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Trust\"}]}],[\"$\",\"dd\",\"Blog\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"/blog\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Blog\"}]}],[\"$\",\"dd\",\"Brand\",{\"className\":\"m-0\",\"children\":[\"$\",\"$L1b\",null,{\"href\":\"/brand\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white text-sm\",\"children\":\"Brand\"}]}]]]}]]}]}],[\"$\",\"div\",null,{\"className\":\"p-6 md:p-10 lg:p-14\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-center justify-between text-sm\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center space-x-3 md:order-3 mb-3 md:mb-0\",\"children\":[[\"$\",\"a\",\"RSS\",{\"href\":\"/blog/feed.xml\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"RSS\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"className\":\"h-6 w-6\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12.75 19.5v-.75a7.5 7.5 0 0 0-7.5-7.5H4.5m0-6.75h.75c7.87 0 14.25 6.38 14.25 14.25v.75M6 18.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"}]}]]}],[\"$\",\"a\",\"YouTube\",{\"href\":\"https://www.youtube.com/@tursodatabase\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"YouTube\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"className\":\"h-6 w-6\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12.2439 4C12.778 4.00294 14.1143 4.01586 15.5341 4.07273L16.0375 4.09468C17.467 4.16236 18.8953 4.27798 19.6037 4.4755C20.5486 4.74095 21.2913 5.5155 21.5423 6.49732C21.942 8.05641 21.992 11.0994 21.9982 11.8358L21.9991 11.9884L21.9991 11.9991C21.9991 11.9991 21.9991 12.0028 21.9991 12.0099L21.9982 12.1625C21.992 12.8989 21.942 15.9419 21.5423 17.501C21.2878 18.4864 20.5451 19.261 19.6037 19.5228C18.8953 19.7203 17.467 19.8359 16.0375 19.9036L15.5341 19.9255C14.1143 19.9824 12.778 19.9953 12.2439 19.9983L12.0095 19.9991L11.9991 19.9991C11.9991 19.9991 11.9956 19.9991 11.9887 19.9991L11.7545 19.9983C10.6241 19.9921 5.89772 19.941 4.39451 19.5228C3.4496 19.2573 2.70692 18.4828 2.45587 17.501C2.0562 15.9419 2.00624 12.8989 2 12.1625V11.8358C2.00624 11.0994 2.0562 8.05641 2.45587 6.49732C2.7104 5.51186 3.45308 4.73732 4.39451 4.4755C5.89772 4.05723 10.6241 4.00622 11.7545 4H12.2439ZM9.99911 8.49914V15.4991L15.9991 11.9991L9.99911 8.49914Z\"}]}]]}],[\"$\",\"a\",\"Discord\",{\"href\":\"https://tur.so/discord\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"Discord\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"className\":\"h-6 w-6\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"$1d\"}]}]]}],[\"$\",\"a\",\"X\",{\"href\":\"https://x.com/tursodatabase\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"X\"}],[\"$\",\"svg\",null,{\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"className\":\"h-6 w-6\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z\"}]}]]}],[\"$\",\"a\",\"Linkedin\",{\"href\":\"https://www.linkedin.com/company/turso\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"Linkedin\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"className\":\"h-6 w-6\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M18.3362 18.339H15.6707V14.1622C15.6707 13.1662 15.6505 11.8845 14.2817 11.8845C12.892 11.8845 12.6797 12.9683 12.6797 14.0887V18.339H10.0142V9.75H12.5747V10.9207H12.6092C12.967 10.2457 13.837 9.53325 15.1367 9.53325C17.8375 9.53325 18.337 11.3108 18.337 13.6245V18.339H18.3362ZM7.00373 8.57475C6.14573 8.57475 5.45648 7.88025 5.45648 7.026C5.45648 6.1725 6.14648 5.47875 7.00373 5.47875C7.85873 5.47875 8.55173 6.1725 8.55173 7.026C8.55173 7.88025 7.85798 8.57475 7.00373 8.57475ZM8.34023 18.339H5.66723V9.75H8.34023V18.339ZM19.6697 3H4.32923C3.59498 3 3.00098 3.5805 3.00098 4.29675V19.7033C3.00098 20.4202 3.59498 21 4.32923 21H19.6675C20.401 21 21.001 20.4202 21.001 19.7033V4.29675C21.001 3.5805 20.401 3 19.6675 3H19.6697Z\"}]}]]}],[\"$\",\"a\",\"GitHub\",{\"href\":\"https://github.com/tursodatabase\",\"className\":\"text-turso-gray-1100 transition-all hover:text-white\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"GitHub\"}],[\"$\",\"svg\",null,{\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"className\":\"h-6 w-6\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"d\":\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\",\"clipRule\":\"evenodd\"}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center space-x-3 mb-3 md:mb-0\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"$\",\"svg\",null,{\"width\":\"30\",\"height\":\"26\",\"viewBox\":\"0 0 30 26\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M15 25.75C14.6715 25.75 12.27 23.83 11.805 23.2825C11.439 23.842 10.839 24.4765 10.839 24.4765C9.18152 23.641 7.06352 21.4675 6.66452 20.707C6.27152 19.957 4.84502 11.32 4.80602 8.81195C4.75502 7.40045 5.68351 4.53845 15 4.53845C24.3165 4.53845 25.2435 7.40045 25.194 8.81195C25.1565 11.32 23.73 19.957 23.3355 20.707C22.9365 21.4675 20.8185 23.641 19.161 24.4765C19.161 24.4765 18.561 23.842 18.195 23.2825C17.73 23.83 15.3285 25.75 15 25.75Z\",\"fill\":\"#1EBCA1\"}],[\"$\",\"path\",null,{\"d\":\"M15 20.188C11.8905 20.188 9.90601 18.5455 9.90601 18.5455L10.1925 14.545L6.93001 14.254L6.34351 9.52148H23.658L23.0715 14.254L19.809 14.545L20.0955 18.5455C20.0955 18.5455 18.111 20.188 15.0015 20.188H15Z\",\"fill\":\"#183134\"}],[\"$\",\"path\",null,{\"d\":\"M18.222 11.6185L30 7.5415C29.2995 3.3505 25.626 0.25 25.626 0.25V4.867L23.445 5.4295L22.0785 3.784L20.9085 6.085L15.0015 7.609L9.0945 6.085L7.9245 3.784L6.558 5.4295L4.377 4.867V0.25C4.377 0.25 0.7005 3.3505 0 7.5415L11.778 11.6185L11.358 17.227C12.363 17.482 13.4205 17.7355 15 17.7355C16.5795 17.7355 17.6355 17.482 18.6405 17.227L18.2205 11.6185H18.222Z\",\"fill\":\"#4FF8D2\"}]]}]}],[\"$\",\"span\",null,{\"className\":\"text-turso-gray-1100 select-none\",\"children\":[\"© \",[\"$\",\"strong\",null,{\"children\":\"Turso\"}],\" \",2026]}]]}]]}]}]]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Incident 2023-12-04: Data leak and loss in some free tier databases\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Data leak and loss in some free tier databases on 2023-12-04\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://turso.tech/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\"}],[\"$\",\"meta\",\"5\",{\"name\":\"google-site-verification\",\"content\":\"yPRiFW600gtitkpstW95MwYSaeU7OSKGN7rHMTJRDew\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:title\",\"content\":\"Incident 2023-12-04: Data leak and loss in some free tier databases\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:description\",\"content\":\"Data leak and loss in some free tier databases on 2023-12-04\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:url\",\"content\":\"https://turso.tech/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://turso.tech/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Incident 2023-12-04: Data leak and loss in some free tier databases\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"Data leak and loss in some free tier databases on 2023-12-04\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image\",\"content\":\"https://turso.tech/images/blog/incident-2023-12-04-data-leak-and-loss-in-some-free-tier-databases-7cba5bc7/cover.png\"}],[\"$\",\"meta\",\"15\",{\"name\":\"next-size-adjust\"}]]\nb:null\n"])</script></body></html> |