Products · Cloud storage

Storage that knows
what you put in it.

S3-compatible object storage, plus everything you would otherwise bolt on: search by what a file contains rather than what it was named, tags and OCR on upload, duplicate detection, cleanup you can act on, and lifecycle rules that lower the bill by themselves.

Create a bucketSee pricing
No image CDN to addNo search index to runNo egress surprise
Buckets · 5
user-uploads412 GB
product-images88 GB
invoices14 GB
backups1.4 TB
exports6 GB
show product images with blue shoes4 matches
JPGuploads/2026/06/IMG_4482.jpgmatched: blue suede trainers on a wooden floorshoesblueproduct2.4 MB
PNGproduct-images/sku-8821-alt-3.pngmatched: navy running shoe, white soleshoesnavystudio1.1 MB
PDFinvoices/2026-06/INV-40218.pdfmatched: invoice dated 14 June 2026 · total $1,240.00invoicejune$1,24088 KB
MP4uploads/reviews/rev-8821.mp4matched: 2m 41s · blue shoes shown at 0:38video2m41sreview48 MB
searched 1.2M objectstime 310 msby content, not filenameno index to maintain
1.2 M
Objects searched
by content, in 310 ms
14 GB
Reclaimable now
duplicates and orphans
$38
Monthly saving available
from lifecycle rules
$0
Extra AI services
tagging, OCR, variants included
is this just S3 with extra steps?enter

No — it is S3-compatible first, and intelligent second.

Everything below is additive. Your existing SDK calls, backup jobs, and signed-URL flows work unchanged, and you can ignore every AI feature and still have a good bucket.

S3-compatible APIPoint any existing SDK, CLI, or backup tool at it — no rewrite, no proprietary client.
Direct uploadsSigned URLs so browsers upload straight to storage without passing through your service.
Public or privatePer-object and per-bucket visibility, with signed links that expire when you say.
VersioningKeep previous versions of an object and restore one without a support ticket.
Edge deliveryPublic objects are served from the same fifteen regions as your sites, cached and compressed.
Private networkingReachable by your own services without traversing the public internet.
Your code does not change
upload.ts
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";

const s3 = new S3Client({
  endpoint: process.env.DARWA_STORAGE_ENDPOINT,
  region: "eu-central",
  credentials: { /* injected */ },
});

await s3.send(new PutObjectCommand({
  Bucket: "user-uploads",
  Key: "2026/06/IMG_4482.jpg",
  Body: file,
}));

Tagging, OCR, variants, and indexing happen after the object lands. The upload call returns as fast as it would anywhere else.

what happened to this image after I uploaded it?enter

Every upload arrives already described.

Tags, a caption, alt text, OCR, and detected objects are produced on ingest — which is what makes the search above possible, and what saves you writing alt text by hand.

Generated for IMG_4482.jpg
CaptionA pair of blue suede trainers on a wooden floor
Alt textBlue suede trainers with white laces, side view
Tagsshoes · trainers · blue · suede · footwear · product
Objectsshoe ×2 (0.98), floor (0.91), shoelace ×2 (0.86)
OCR“AIRFLEX 220” on the tongue label
CategoryApparel ▸ Footwear ▸ Casual
SafetyNo adult, violent, or graphic content detected
Variants created automatically
original
2.4 MB
avif 1600w
188 KB
webp 800w
71 KB
thumb 240w
9 KB
blur
184 B

Request the original URL and the visitor gets the format and size their browser wants, with a blur placeholder for the first paint. No separate image service, no per-transformation fee.

Documents, too
Extract textSummaryLanguageTables → CSVInvoice fieldsReceipt fieldsContract clausesPage count
what can I safely delete?enter

Fourteen gigabytes you are paying to keep twice.

Duplicates, orphaned uploads nothing references, abandoned multipart parts, and stale temporary files — found, sized, and grouped so you can approve a deletion instead of auditing a bucket.

PNGproduct-images/hero.png2.4 MB · uploaded 12 Mar · referenced 41 times
99.8%identical
PNGproduct-images/hero-final-copy.png2.4 MB · uploaded 14 Mar · referenced 0 times
Duplicate images1,204 files with a byte-identical or near-identical twin6.2 GB
Orphaned uploads8,412 objects no database row or page references4.8 GB
Abandoned multipart partsUploads interrupted more than 7 days ago1.9 GB
Temporary filesObjects under /tmp/ older than 30 days1.1 GB
Old backup duplicatesNightly dumps identical to the previous night — review before deleting18 GB
selected14.0 GB≈ $0.28/monthReview and deleteExport the list

Nothing is deleted automatically. Every candidate shows why it was flagged and how many times it is referenced, and deletions are recorded in activity history.

why did storage costs increase?enter

Files cool down. Your bill should too.

Darwa watches access patterns per prefix and proposes the tiering rule that fits them — with the saving and the retrieval trade-off stated before you accept it.

Hot
$0.020 / GB · mo

Served from the edge, instant reads. Where objects land on upload.

after 30 days
Cold
$0.008 / GB · mo

Same API, first byte in a few hundred milliseconds. For files read a few times a year.

after 90 days
Archive
$0.002 / GB · mo

Restore takes minutes and is charged per GB. For compliance copies and old backups.

Cost review · this month+$41 vs last month
Causeuser-uploads grew 180 GBvideo reviews enabled on 14 Jul — 62% of the increasecause
CauseEgress up 2.4 TBoriginals served instead of variants on the mobile appcause
ProposalTier 1.1 TB of backups to archiveread twice in the last 12 monthsapply
ProposalServe variants on mobilesame images, 88% less egressapply
Saving$38 per monthno change to what your users can accessapply
is anything dangerous in my buckets?enter

Uploads are scanned before anyone can read them.

User-generated content is the most common way something harmful enters a product. Scanning is on by default and the results are a list you can work through.

MalwareEvery upload scanned before it becomes readableclean
Executables3 .exe files uploaded to user-uploads — quarantined3 blocked
Secrets in filesAn AWS key found inside config-backup.zip1 found
PII detection412 documents contain card numbers or national IDsreview
Adult content2 images flagged in user-uploads, held for review2 held
Violence & hate speechNo matches in the last 24 hoursclean

Content moderation and PII detection can be switched off per bucket — a backups bucket does not need either. Quarantined objects stay stored but unreadable until you release or delete them.

what is in this file I just uploaded?enter

Drop a file in and ask about it.

A log, a CSV, a JSON payload — the assistant reads the object in place instead of making you download it and open something else.

Log files

“This crashes because the worker exceeded 512 MB while parsing a 340 MB CSV in memory.”

CSV and spreadsheets

“Revenue rose 23% month over month; the growth is entirely in the DE and AE columns.”

JSON payloads

Validates against a schema you paste or infer, and names the fields that break it.

what is coming next?enter

Not shipped yet.

Video, audio, and the two features that turn a bucket into something more than storage.

01AI video processingSoonThumbnails, subtitles, transcripts, chapters, and a summary generated on upload.
02AI audio processingSoonTranscripts with speaker detection, summaries, and translations.
03AI knowledge baseSoonPoint a bucket at it and get RAG-ready search over your PDFs, docs, and markdown.
04AI dataset builderSoonLabel, categorise, and deduplicate millions of files into a training set.
what does it cost?enter

Pay for storage and egress. The intelligence is included.

Tagging, OCR, captions, variants, duplicate detection, search, and scanning are part of the price of the bucket — not a per-file charge that makes you ration them.

$0.020
per GB · month · hot
cold $0.008 · archive $0.002
$0.008
per GB egress
first 100 GB each month free
Included
AI processing on upload
tags, OCR, captions, variants, dedupe, scanning
Free
Requests and search
no per-1,000-operation charge
Side project
Stored20 GB hot
Egress40 GB
Objects~12,000
AI featuresincluded
est. monthly$0.40
Product catalogue
Stored500 GB hot
Egress1.2 TB
Objects~240,000
Variants served88% of requests
est. monthly$18.80
User uploads at scale
Stored8 TB hot + 4 TB archive
Egress6 TB
Objects~4.1M
Lifecycle appliedyes
est. monthly$214
Free tier: 5 GB stored, 20 GB egressNo charge for deleting or listingArchive retrieval $0.01 per GB, shown before you restore
Get started

Create a bucket and upload one file.

It comes back tagged, captioned, OCR’d, converted to modern formats, and searchable by what it contains — with the same S3 API you already use.

Create a bucketPair it with a database