LINESERVE

Object Storage — Kampala, ug-1a

S3-Compatible Object Storage in Uganda

S3-compatible storage that plays nice with your tools — and your budget.

A bucket is the most concrete thing a regulator can point at. It has a location, it has contents, and in Uganda the Personal Data Protection Office has already asked a foreign company to account for both. Point the AWS CLI, rclone, boto3, s3cmd or any S3 SDK at your Kampala region endpoint and the objects you write are in Uganda, priced and billed in shillings, from UGX 130.38 per GB per month at scale. Nothing in your application changes except the endpoint.

FromUGX 130.38per GB / month· generous free egress
  • S3-compatible API — the AWS CLI, boto3, rclone, s3cmd and any S3 SDK
  • Data residency for Uganda's Data Protection and Privacy Act — your data stays in-country
  • Priced and billed in shillings — from UGX 228.16 per GB/month, falling with volume
  • You pay for what you store — transfer in, transfer out and API requests are free
  • Encrypted at rest by default, versioning and lifecycle rules, 99.9% availability SLA

No credit card required · Billed in UGX

Pricing

Cheaper the more you store

Tiered storage that drops as you grow, with free data transfer and free API requests — you only ever pay for what you store, so serving your own files never triggers a shock bill.

Starter

Up to 1 TB

UGX 228.16/GB/mo

Hosted in Nairobi, Dar es Salaam, Lagos & Kampala

Side projects and small apps.

Create a bucket
Most popular

Growth

Up to 5 TB

UGX 195.56/GB/mo

Hosted in Nairobi, Dar es Salaam, Lagos & Kampala

Growing products and teams.

Create a bucket

Business

Up to 10 TB

UGX 162.97/GB/mo

Hosted in Nairobi, Dar es Salaam, Lagos & Kampala

Data-heavy production workloads.

Create a bucket

Enterprise

10 TB+

UGX 130.38/GB/mo

Hosted in Nairobi, Dar es Salaam, Lagos & Kampala

Custom quote for scale.

Contact sales

Transfer & requests — same at every tier

Data transfer out (egress)FreeNo egress fees — serving your files never triggers a bill.
Data transfer inFreeUploading to Lineserve is always free.
API requestsFreePUT, POST, LIST, and GET are all included.

Prices exclude VAT. Storage is billed on average monthly usage, and the per-GB rate follows your total stored volume. Data transfer and requests are free. Local currency figures are indicative and settled at checkout.

Network & egress

Serving Kampala from Europe means crossing two borders and an ocean

Uganda is landlocked, and object storage is where that bites hardest. There is no submarine cable landing station in the country, so every byte arriving from outside has already been hauled overland — east across Kenya from the Mombasa landings, or south across Tanzania from Dar es Salaam — before it reaches Kampala. That is roughly 900 to 1,000 kilometres of terrestrial fibre through a neighbouring state, on top of whatever the file did to get to the coast. A photograph served from a bucket in Frankfurt to a claims officer in Kampala crosses a European carrier network, an ocean, a coastal landing station and a thousand kilometres of somebody else's country. Then the next photograph does it again.

Which is why egress is the line that grows quietly. Storage is a number you chose; egress is a number your users choose for you. A logistics operator whose drivers upload delivery photographs all day pays for the upload once and for the download every time someone opens one. A programme office that collects field submissions from six districts pays again each time a coordinator reviews them. On Lineserve object storage that line does not exist: transfer in, transfer out and API requests are free at every tier, and you pay for what you store.

There is also no large public cloud region in Uganda, and the nearest one is a long way off. The full regions sit in Cape Town and Johannesburg; the nearest edge locations are in Nairobi, which is another country and on the far side of a border crossing at Malaba or Busia. A Ugandan business serving its own documents, photographs and site media out of one of those is serving Uganda from abroad and paying international egress for it, on every read, indefinitely.

Inside the country the picture is better than most buyers expect. The UCC put the national fibre optic network at 80,257 kilometres as of June 2026, up from 71,740 three months earlier, and NITA-U's National Backbone Infrastructure links Kampala to regional centres and the border posts. A bucket in Kampala reaches a programme office in Gulu, a contractor in Hoima, a cooperative in Mbale and a lodge near Fort Portal over Ugandan fibre. The same files served from Europe reach them over Ugandan fibre plus the overland haul plus the subsea path — and the last two are the parts somebody bills for.

0

Submarine cables landing in Uganda

0

Large public cloud regions in Uganda

80,257 km

National fibre optic network (UCC, June 2026)

Free

Transfer in, transfer out and API requests, at every tier

Where Ugandan networks meet each other

UIXP, the Uganda Internet Exchange Point, has run since 2001 as a non-profit and is reachable from two interconnected locations in greater Kampala, with its switch at Communications House. PeeringDB records 26 peer networks, 29 connections and 380 Gbps of connected capacity at around 86% IPv6, with Akamai and Meta at 100G each and MTN Uganda, Liquid, Tangerine, Paratus and RENU connected. Traffic between two networks on that fabric is exchanged inside Kampala rather than carried to the coast and back.

Two networks, and a lot of feature phones

MTN Uganda and Airtel Uganda hold more than 90% of mobile subscriptions between them, and the UCC counted 19.7 million active mobile internet subscriptions in the quarter ending June 2026 at 3.7 GB per user per month. Roughly a third of 58.3 million active device connections are smartphones. Your reader is on a mid-range Android on a cell, and every image you can avoid pulling across an ocean is one they do not wait for.

If your audience is overseas, build for it

Plenty of Ugandan businesses — tour operators above all, with roughly 1.65 million international arrivals and USD 1.7 billion in receipts behind them — serve mostly foreign visitors. The right shape there is an origin bucket in ug-1a with a CDN in front. The origin keeps booking records and guest data in Uganda; the cache handles the distance. That is a normal architecture, not a compromise.

Payments

Paying for a bucket in shillings

Uganda is mobile-money-first, and unlike its neighbours it is a two-wallet country. The UCC counted 37.8 million active mobile money users in the quarter ending June 2026, from a registered base of 58.7 million, moving 2.55 billion transactions in three months — split between MTN Mobile Money and Airtel Money rather than concentrated in one brand. Behind them sit the Bank of Uganda's rails: UNISS for high-value interbank settlement and the Kampala Automated Clearing House for electronic funds transfers and direct debits. Lineserve takes MTN Mobile Money, Airtel Money, bank transfer and card from Ugandan customers, all in shillings.

MTN Mobile Money and Airtel Money

Both wallets, in shillings. A storage bill is a small recurring charge and a wallet is the shortest route from decision to working bucket — access key issued, endpoint set, first object written. Two networks hold more than 90% of Ugandan subscriptions between them, so supporting one of them would be supporting about half the country.

Bank transfer

The rail a Kampala finance office reaches for on anything invoiced, and the natural choice for an annual commitment or a bucket measured in terabytes. Billed in shillings throughout, with a reference your accounts team can reconcile.

Card

Visa and Mastercard work if that is how your team buys, in shillings — so no international transaction lands on the statement and no bank adds a foreign-transaction fee. Card use in Uganda concentrates in the urban banked segment; it is here for the finance teams that prefer it.

Prices exclude VAT; Ugandan VAT of 18% is added at checkout.

The platform

Everything the S3 ecosystem expects

A complete, compatible object store — the endpoints, semantics, and controls your existing tools already know how to talk to.

S3-compatible API

Standard S3 endpoints and semantics. Point your existing SDKs and tools at us and go.

Access keys & policies

Issue scoped access keys and bucket policies to control exactly who reaches what.

Encrypted at rest

Objects are encrypted at rest by default, with TLS in transit on every request.

Versioning

Keep object history and recover from accidental overwrites and deletes.

Lifecycle rules

Expire or transition objects automatically on a schedule you set per bucket.

Presigned URLs

Grant temporary, time-limited access to a single object without sharing keys.

Static website hosting

Serve a static site or SPA straight from a bucket, no server required.

Generous free egress

Serve your own data without the runaway transfer bills global clouds are known for.

Regional endpoints

Store data in the region closest to your users and keep it on the continent.

Regions & endpoints

Store where your users are

Put your data in the region closest to the people reading it. Every region exposes its own S3 endpoint — single-digit latency within the metro, data kept on the continent.

Live

Kenya

ke-1a.s3.lineserve.net

ke-1a.s3.lineserve.net

Nairobi metro

Live

Tanzania

tz-1a.s3.lineserve.net

tz-1a.s3.lineserve.net

Dar es Salaam metro

Live

Nigeria

ng-1a.s3.lineserve.net

ng-1a.s3.lineserve.net

Lagos metro

Expansion zonesSouth Africa · za-1aGhana · gh-1a

Drop-in compatible

Keep the tools you already use

Because the API is S3-compatible, nothing in your stack has to change. Set the endpoint, keep your code. The AWS CLI, boto3, rclone, s3cmd, and any S3 SDK work out of the box.

AWS CLIboto3rclones3cmdMinIO Clientany S3 SDK
terminal
# Point the AWS CLI at your region endpoint — that's the only change.
aws s3 --endpoint-url https://ke-1a.s3.lineserve.net \
  cp ./backup.tar.gz s3://my-bucket/backups/

Same commands, same SDKs. Just a different endpoint.

Use cases

What people store with us

Backups & archives

Offsite backups and long-term archives, priced so keeping data is never the problem.

Media & static assets

Images, video, and downloads served fast from the region nearest your audience.

App & user uploads

A durable home for everything your application writes — attachments, exports, logs.

Data lakes & analytics

Land raw data for pipelines and analytics, close to the compute that reads it.

How it works

Storing data in three steps

1

Create a bucket

Choose a region and name your bucket from the console or the API.

2

Get your access keys

Issue a scoped access key and secret for your app or tool.

3

Upload with any S3 tool

Point your existing SDK or CLI at the endpoint and start reading and writing.

Availability SLA

99.9%

  • Objects stored redundantly and encrypted at rest
  • Service credits applied automatically when we miss the SLA
  • Tier III colocation facilities across all live regions

Reliability

99.9%, and the half of it that stays yours

Your objects are stored redundantly and encrypted at rest, served from Tier III facilities, and backed by a 99.9% availability SLA. Reach a real engineer in your region and timezone when you need one.

Why Lineserve

The costs that actually add up

CapabilityLineserveGlobal cloud
Predictable, generous free egress
Billing in UGX
Single-digit local latency
S3-compatible API
Support in your timezone
Pay in your currency — no forex
Data stays in Uganda

Pricing & invoicing

A shilling rate on a bill that grows on its own

Object storage is the charge most likely to be denominated in a foreign currency and least likely to be reviewed, because it starts small. It also grows without anyone deciding anything: a bucket holding 400 GB of field submissions this year holds two terabytes next year. A monthly charge that both grows and moves with the exchange rate is the definition of a line item nobody can forecast — and in Uganda, where nominal shilling values are large and budgets are set in them, the drift is visible to the accounts team long before it is visible to you.

The rate is tiered on total stored volume: UGX 228.16 per GB per month up to 1 TB, UGX 195.56 up to 5 TB, UGX 162.97 up to 10 TB, and UGX 130.38 above 10 TB on a custom quote. Crossing a tier boundary lowers the rate on the whole volume, billing is on average monthly usage, and transfer and API requests stay free at every tier. So the direction of travel on a growing bucket is downwards, in the currency you earn in. Prices exclude VAT; Ugandan VAT of 18% is calculated and shown at checkout.

URA names web hosting, so there is nothing to argue about

Uganda's standard VAT rate is 18%, administered by the Uganda Revenue Authority, with a registration threshold of UGX 150 million in annual taxable turnover. Most tax authorities leave you to reason by analogy about whether a hosting product is an electronic service. URA does not: its published list of taxable electronic services opens with web hosting, ahead of software, streaming and online advertising. Displayed prices exclude VAT and the tax is shown separately at checkout.

EFRIS, and what your accounts department should have ready

EFRIS is URA's real-time e-invoicing system, and it binds every VAT-registered business plus twelve designated sectors whether VAT-registered or not — information technology and communications among them. An EFRIS e-invoice carries a Fiscal Document Number, an Invoice Identification Number, a verification code and a QR code, and identifies the buyer by TIN, Business Registration Number or National Identification Number. URA treats a VAT credit claimed on purchases unsupported by an e-invoice as non-compliance, which is why supplier documentation is a procurement question rather than an accounting one. Send [email protected] your TIN and your registered name exactly as URA holds it before the first billing run.

Withholding, on a line that recurs indefinitely

Sections 83 and 84 of the Income Tax Act charge 15% on the gross of certain international payments and of payments to non-resident service providers, subject to treaty relief, and from 1 July 2025 a 15% final withholding tax applies to income non-residents derive from digital services supplied to users in Uganda. A VAT-registered buyer also accounts for VAT on imported services itself, under the reverse charge, rather than paying it to the supplier. Lineserve invoices Uganda from LINESERVE, INC. On a storage line these are small percentages of a bill that never stops, which is exactly the sort of thing to settle with your tax adviser at account opening.

Tax treatment depends on your own registration and circumstances; your adviser is the one who signs it off.

Data residency

Uganda has already asked a foreign company where the data went

Uganda's Data Protection and Privacy Act, 2019 — now Chapter 97 of the Laws of Uganda — commenced on 3 May 2019, with implementing Regulations from March 2021. The regulator is the Personal Data Protection Office, which sits inside NITA-U and has been operational since August 2021. Section 29 and the Regulations require every data collector, data processor and data controller to register with the Office. Registration lasts one year and is renewed within three months of expiry, and failing to register is an offence rather than an administrative slip.

The part that makes Uganda different from every other market on this site is who that duty reaches. The obligation is written to bind entities in Uganda and entities outside Uganda that collect or process the personal data of Ugandan citizens — and it has been enforced against exactly that. On 18 July 2025 the Office decided a complaint against a foreign technology company with no Ugandan establishment and found it in breach on two counts: failure to register, and failure to evidence a lawful basis or a compliance framework for transferring the complainants' personal data outside Uganda. It ordered the company to register within thirty days and to produce evidence of a compliant cross-border transfer arrangement. The Office afterwards clarified that the obligations attach to any entity handling Ugandan citizens' personal data, present in the country or not, until a specific exemption is gazetted.

Read that against a storage bucket, because a bucket is where the evidence problem actually lives. Section 19 permits personal data to leave Uganda where the destination country offers protection at least equivalent to the Act, or where the data subject has consented, and Regulation 30 requires consent for onward transfers. There is no per-transfer permit to file — but the Office expects you to hold records of the legal basis, the safeguards and the justification for each cross-border transfer, and to produce them during an audit, a compliance check or an investigation. For a bucket that means a file describing the destination, the recipient, the categories of data and the security arrangements at the far end, maintained for as long as the objects exist. Write to ug-1a instead and that file does not need building for the objects in it. Your data is held in Kampala, under Ugandan law, where your regulator can see it.

Documented, not declared

Practitioner guidance on Uganda is blunt that pointing at a global corporate privacy policy will not answer the question. What the Office asks for is transfer-specific: this data, to this recipient, in this country, on this basis. A bucket in another jurisdiction is a standing answer you have to keep current. A bucket in Kampala is one you never have to write.

Files are where the personal data usually is

If your buckets hold ODK or KoboToolbox submissions with photographs and GPS traces attached, DHIS2 attachments, KYC documents, rider or driver photographs, loan files or membership records, they hold personal data about identifiable Ugandans. That is precisely the category section 19 is written for, and it is the category most likely to sit in object storage rather than in a database — because it arrives as files.

What is yours and what is ours

Compliance belongs to you as the controller: registration with the Office and its annual renewal, notices, lawful basis, and breach notification under section 23, which the Act requires immediately on reasonable belief of unauthorised access. Penalties reach 245 currency points, or up to 2% of annual gross turnover for a corporation. Residency is what Lineserve supplies — objects written to ug-1a are held in Kampala and are not moved out of Uganda without your instruction.

Who stores here

What Ugandan teams keep in ug-1a

NGOs and donor programmes

The strongest storage story in the country, and the one where the regulation lands hardest. Kampala hosts UN country and regional entities and a large international NGO presence, and their storage is field data: ODK and KoboToolbox submissions with photographs and GPS attached, DHIS2 attachments, Nextcloud shares teams sync when they come back into coverage, donor reporting exports kept for the life of the grant and long after. Almost all of it is personal data about identifiable Ugandans — and the NGO Bureau has itself reminded organisations that they must register under the Data Protection and Privacy Act.

Mobile money, fintech and digital lending

Roughly 196 fintech startups, all of them accumulating files: KYC documents and identity photographs, loan agreements, agent onboarding packs, statement archives, and reconciliation exports run against two wallet providers rather than one. Retention is long because disputes and audits are long, and the people opening those files are in Kampala. The Bank of Uganda's cyber and technology risk guidelines have bound supervised institutions since 1 December 2024, which puts where the archive sits inside a supervised question.

Oil, gas and the Albertine contractor economy

Tilenga in Buliisa, Kingfisher in Kikuube and the pipeline to Tanga have built a contractor economy headquartered in Kampala and working out of Hoima. What it stores is document control at volume: HSE and incident reporting with photographs, survey and environmental datasets, tender and procurement packs, local-content records, and telematics history from vehicle and equipment fleets. Large files written once from a site on a constrained link, then read many times from an office in Kampala.

Coffee, agri-export and cooperatives

Coffee export earnings reached USD 2.2 billion in the twelve months to June 2026. The files are traceability and geolocation datasets for EU-bound consignments, warehouse receipt scans, quality-grading records, cooperative membership documents and farmer payout evidence. Traceability data is the definition of an archive you must be able to produce years later — and much of it identifies individual growers, which puts it inside the Act.

ISPs and network operators

Two large mobile networks, a set of enterprise carriers and a research network. Their storage is RADIUS and billing database dumps, DNS zone backups, NetFlow and monitoring retention, router configuration archives, and records kept for as long as a licence requires. Bulk, unglamorous, and awkward to hold in another country.

Agencies, ISVs and the .ug long tail

Kampala's agency and freelance developer scene, anchored by hubs like Hive Colab, The Innovation Village and Outbox, is the main reseller channel: one buyer, many client sites. The pattern is one bucket per client — WordPress and Laravel media offloaded off the VPS disk, nightly site backups written by rclone, staging snapshots, asset handover at the end of a project. Free egress matters most here, because an agency's buckets are read by the public rather than by the agency.

Anyone still backing up to a drive in a desk

A great deal of Ugandan document storage lives on an office NAS with an external disk beside it, behind a distribution network still working through an inherited backlog. Moving it to ug-1a adds versioning, lifecycle rules, scoped access keys and an availability SLA without leaving the country — and gets the archive off a machine that depends on the office being open, powered and dry.

Moving

Getting your objects into Kampala

From an overseas bucket

Both ends speak S3, so the move is an rclone sync and a configuration change — the endpoint and the credentials. Nothing in your application logic changes, and the AWS CLI, boto3, s3cmd, the MinIO client and any S3 SDK keep working as they are. Three things change commercially. The bill arrives in shillings, so a charge that grows with your data stops moving with the exchange rate as well. Reading your own objects stops being metered. And the objects come inside Uganda, which is the section 19 point above — no transfer file to build, nothing to produce at an audit for the data in that bucket. One thing to price before you begin: your current provider may bill you egress to read your own archive out, and five terabytes of data is five terabytes of their egress. That cost is theirs rather than ours, but it is real, and it is better known on day one than on the final invoice.

From storage branded Ugandan but hosted elsewhere

Some products sold as Ugandan storage are served from Nairobi, Johannesburg or Europe with a .ug front end on them. That is a legitimate way to sell hosting and fatal only if in-country residency is the thing you are buying — which, given what the Personal Data Protection Office asked a foreign company for in July 2025, it increasingly is. The test takes a minute and you can run it without asking anyone: resolve the endpoint, run a traceroute, see where the packets stop. Ours stop in Kampala. If your data protection position depends on the location of the machine, then the location of the machine is the specification, and it is the one specification you can verify yourself before you sign anything.

Migration planning is part of onboarding. Tell [email protected] what you are moving, how much of it there is and what is reading it today, and we will plan the cutover with you.

FAQ

Questions, answered

Yes. We implement the standard S3 API, so the AWS CLI, boto3, rclone, s3cmd, and any S3 SDK work by simply pointing at your region's endpoint. No code changes needed.

There's no egress bill. Data transfer in and out — and API requests — are all free. You only pay for what you store, so serving your own files never triggers a surprise charge.

Objects are stored redundantly and encrypted at rest. Availability is backed by a 99.9% SLA. See the durability section for the specifics of the redundancy in your region.

Yes. Issue scoped access keys, set bucket policies, and generate presigned URLs for temporary, single-object access without sharing keys.

Yes. Enable static website hosting on a bucket to serve a static site or SPA directly, with no server to run.

Yes. Because we're S3-compatible, tools like rclone move data across directly. Our team will help you plan and run the migration at no charge.

You can create multiple buckets per account, and object sizes follow standard S3 multipart limits. Need a higher account limit? Just ask.

In ug-1a, our Kampala region. Objects written there are held in Uganda and stay there unless you copy them elsewhere.

Yes. Point them at your Kampala region endpoint and keep your code, your scripts and your SDK. The API is S3-compatible, so the endpoint URL and the credentials are the only things that change — the AWS CLI, boto3, rclone, s3cmd, the MinIO client and any S3 SDK all work as they are.

The rate is tiered on stored volume: UGX 228.16 per GB per month up to 1 TB, UGX 195.56 up to 5 TB, UGX 162.97 up to 10 TB, and UGX 130.38 above 10 TB on a custom quote. Displayed prices exclude VAT, and Ugandan VAT of 18% is added at checkout — URA's published list of taxable electronic services names web hosting explicitly, so there is nothing to interpret about whether the category is in scope.

Nothing. Transfer in, transfer out and API requests are free at every tier — you pay for what you store, and reading your own objects back is not a metered line.

The per-GB rate follows total stored volume, so crossing a tier boundary lowers the rate on the whole volume. Billing is on average monthly usage over the month.

Yes. Objects written to ug-1a are held in Kampala and stay in-country, which gives you data residency for Uganda's Data Protection and Privacy Act. They are not moved out of Uganda without your instruction.

Not a permit, but a justification you can produce. Section 19 allows a transfer where the destination country's protection is at least equivalent to the Act or where the data subject consents, and the Personal Data Protection Office expects records of the legal basis, the safeguards and the justification to be available for inspection during an audit or investigation. Keep the objects in Kampala and that question does not arise for them, because nothing crosses a border.

Compliance is yours as the controller — registration with the Office and its annual renewal, your notices, your lawful basis, and breach notification under section 23. What a Kampala bucket gives you is residency: the personal data in it stays in Uganda, so the cross-border analysis and the transfer records do not arise for it.

MTN Mobile Money, Airtel Money, bank transfer or card — all in shillings. Nothing converts, no international transaction appears on your statement, and your bank adds no foreign-transaction fee.

Objects are encrypted at rest by default and every request is TLS-encrypted in transit. Access is controlled with scoped access keys and bucket policies, and presigned URLs give time-limited access to a single object without sharing a key.

Enable versioning on the bucket and object history is kept, so an overwrite or a delete is recoverable. Lifecycle rules handle the other direction — automatic expiry or transition per bucket, so retention happens by policy rather than by somebody remembering.

Yes. Enable static website hosting to serve a static site or SPA, or use presigned URLs for time-limited access to individual objects. With egress free, serving public media from a bucket is a fixed cost rather than a traffic-dependent one.

Yes, with a CDN in front of it. That is the standard shape for tour operators and anyone else whose audience is abroad: the origin keeps your data in Uganda and answers the residency question, and the cache handles the distance. Origin locally, cache globally.

Yes — ug-1a in Kampala, ke-1a in Nairobi, tz-1a in Dar es Salaam and ng-1a in Lagos are live on the same account. Treat personal data deliberately when you replicate: a copy of Ugandan personal data in another country is a transfer outside Uganda under section 19, and the justification for it is something the Office may ask to see.

Yes, and it is the most common use of it. Nightly database dumps, rclone backups off a VPS or dedicated server, snapshots and archives — written to a bucket in the same region as the machine, over private networking, with no transfer charge on the way in or the way back out.

Through [email protected] and the ticket system on your account. Uganda runs on East Africa Time, UTC+3, all year with no daylight saving.

Start storing in minutes, not migrations

S3-compatible, encrypted, and close to your users — with egress that won't surprise you. Pay in local currency, no card required to start.

No credit card required · 99.9% availability SLA · Billed in UGX