Object storagesince 2016
Object storage that stays in Norway.
S3-compatible object storage in four Norwegian regions. Your data is written, replicated and read inside Norwegian jurisdiction. The first 100 GB of egress each month is free.
- Founded 2016
- Oslo, Stavanger, Trondheim
- 4 regions in service
- 41,3 PB stored
- 1 940 customers
- ISO/IEC 27001
Regions4 in service
Four regions, one jurisdiction.
Every region is inside Norway. There is no failover to Frankfurt, no replica in Ireland, and no third country in the path.
| Region | Site | Default class | In service | PUE1 | Power |
|---|---|---|---|---|---|
| no-osl-1 | Oslo, Økern | Standard, multi-zone | 2016 | 1,21 | Hydro |
| no-osl-2 | Oslo, Økern | Standard, single zone | 2019 | 1,21 | Hydro |
| no-svg-1 | Stavanger, Rennesøy | Standard, multi-zone | 2020 | 1,12 | Hydro |
| no-trd-1 | Trondheim, Lade | Archive (Sval) | 2022 | 1,15 | Hydro, heat recovery |
| no-tos-1 | Tromsø | Archive (Sval) | Q2 2027 | – | Hydro |
1 Twelve-month rolling average reported by the site operator, measured to EN 50600-4-2. Tromsø is contracted but not built; we will move the date on this page rather than quietly drop it.
Classes and priceNOK, eks. mva.
Four classes. One price list.
Classes are named after the landscape, not after a marketing tier. Move objects between them with a lifecycle rule or a single API call.
GB, one region, per month
| Class | Built for | Minimum | First byte | kr / GB / mnd | Your cost |
|---|---|---|---|---|---|
| Berg | Working data on NVMe | none | < 15 ms | 0,42 | – |
| Fjord | Default. Warm objects | none | < 40 ms | 0,14 | – |
| Skjær | Backups, infrequent reads | 30 days | < 40 ms | 0,07 | – |
| Sval | Long archive, retention | 90 days | 4 to 12 h | 0,021 | – |
Egress: the first 100 GB each calendar month is free, then kr 0,09 per GB. Requests are not billed, so PUT, GET, LIST and DELETE cost nothing. Replication between Norwegian regions is billed as storage in both, and not as egress. All prices in NOK eks. mva., billed per started GB-hour. Berg is available in no-osl-1 and no-svg-1 only.
CapabilitiesS3 API, sigv4
What the service actually does.
Seven things, listed plainly. If something is missing from this list, we do not have it.
- S3 APIsignature v4
- Anything that already speaks S3 works without a plugin: aws-cli, rclone, restic, Veeam, Terraform, boto3, MinIO client. Where our behaviour differs from AWS, the difference is written down in the docs rather than discovered in production.
- Object lockGleipnir
- Write once, read many, in governance or compliance mode. A locked object cannot be removed by anyone until its retention expires, and that includes us with a court order in hand. Gleipnir was the fetter that held Fenrir: thin, and it did not break.
- Cross-region replicationDraupnir
- Asynchronous replication between any two Norwegian regions, per bucket or per prefix, with a replication-lag metric you can alert on. Draupnir was Odin's ring, which dripped eight more of equal weight every ninth night.
- Versioning and lifecycleUrd · Verdandi · Skuld
- Previous versions, the current object, and the rules that will act on it later. Lifecycle rules move objects between classes or expire them on a schedule, and can be dry-run against a prefix before you commit them.
- EncryptionSSE-S3, SSE-C, SSE-KMS
- AES-256 at rest on every object, always. Supply your own key per request, or hold keys in our KMS and get an audit line for every decrypt. Keys in the Norwegian KMS never leave the region they were created in.
- Event notificationswebhook, AMQP 0-9-1
- Object created, removed or restored, delivered to an HTTPS endpoint or a queue. At-least-once delivery, exponential backoff, and a dead-letter bucket for anything that never got through.
- Public download endpointdl1.techviking.cc
- Buckets marked public can be served over the download host with HTTP range requests and resumable transfers. Most of the traffic there is release artefacts, Linux mirrors and research datasets.
Gleipnir, Draupnir and the three Norns are the internal names, and they appear in API responses and on your invoice. We picked them because each one is accurate, not because they are Norse.
Endpointseu / no
S3-compatible. No new SDK.
Point your existing tool at a Norwegian endpoint and keep the rest of your pipeline.
# ~/.aws/config [profile techviking] region = no-osl-1 endpoint_url = https://s3.no-osl-1.techviking.cc # upload an archive straight into the Sval class aws --profile techviking s3 cp arkiv-2026-07.tar.zst \ s3://nordkyst-backup/2026/07/ \ --storage-class SVAL
# rclone.conf [techviking] type = s3 provider = Other endpoint = https://s3.no-svg-1.techviking.cc region = no-svg-1 storage_class = FJORD # mirror a directory, 8 streams, keep timestamps rclone sync ./datasett techviking:forskning/2026 \ --transfers 8 --checksum --progress
import boto3 s3 = boto3.client( "s3", endpoint_url="https://s3.no-osl-1.techviking.cc", region_name="no-osl-1", ) # lock an object for seven years, compliance mode s3.put_object( Bucket="journal", Key="2026/pasientlogg.parquet", Body=data, ObjectLockMode="COMPLIANCE", ObjectLockRetainUntilDate="2033-08-04T00:00:00Z", )
resource "aws_s3_bucket" "arkiv" { bucket = "nordkyst-arkiv" } resource "aws_s3_bucket_replication_configuration" "draupnir" { bucket = aws_s3_bucket.arkiv.id rule { id = "osl-to-trd" status = "Enabled" destination { bucket = "arn:aws:s3:::nordkyst-arkiv-trd" storage_class = "SVAL" } } }
| Host | Purpose | TLS | Addressing |
|---|---|---|---|
| s3.<region>.techviking.cc | S3 API, one host per region | 1.2, 1.3 | virtual-hosted and path |
| dl1.techviking.cc | Public objects, range requests | 1.2, 1.3 | path only |
| kms.no-osl-1.techviking.cc | Key management, SSE-KMS | 1.3 | path only |
Full reference in the documentation. Incident history and planned maintenance are on the status page.
Power and lawOslo tingrett
Where the power comes from, and which court has jurisdiction.
Norway produced 88 % of its electricity from hydropower in 2025. Our sites draw from that grid, and we buy guarantees of origin for the balance. The Trondheim site sends waste heat into the Lade district heating loop, which is the reason its PUE is lower than Oslo despite running older hardware.
Jurisdiction is the shorter answer. TechViking AS is a Norwegian company with Norwegian owners. The hardware sits in Norway, the contract is governed by Norwegian law, and the venue is Oslo tingrett. There is no US parent and no US subsidiary, so there is nothing for the CLOUD Act to reach through.
The data processing agreement follows GDPR article 28 and is signed before the first byte is written, not after the trial ends. We publish a sub-processor list and give 30 days notice before it changes.
«Vi flyttet 340 TB fra en amerikansk leverandør på fire uker. Spørsmålene fra Datatilsynet forsvant over natten.»
Getting startedsame day
Open an account, or ask us something first.
Accounts are opened the same working day. There is no sales call unless you ask for one, and no minimum term. If you are moving more than 50 TB across, we will help with the transfer and waive the first month.