Skip to content
Technology

What runs, what is being built, and what is only planned

Technology pages are usually written as though everything on them already exists. This one is split into three bands so a reader can tell the difference at a glance.

Current

Deployed and serving requests today. Read from this repository and the running site.

In development

Being built now. Not available to customers and not processing anyone's data.

Planned

Architecture under evaluation. Nothing here is bought, deployed or in production use.

Current

In production today

This list was read from the repository and the running site rather than from a plan. It is short on purpose: a small stack that is fully understood beats a large one that is partly guessed at.

PHP 8

This site and the group applications. No framework; a small front controller and shared includes.

MySQL / MariaDB

Relational storage, reached through PDO with prepared statements throughout.

Apache with mod_rewrite

Clean URLs, redirect rules, compression, cache and security headers.

File-backed content registers

Corporate facts, product status and article bodies live in version-controlled PHP and Markdown, not in database rows.

Server-rendered HTML

Pages render on the server; JavaScript is progressive enhancement, not a requirement for reading the site.

Prebuilt utility CSS

A compiled stylesheet plus a small hand-written layer. No build step is required to deploy.

Transactional email

Contact and notification mail through the hosting provider mail service.

Role-based admin

Session-authenticated editorial panel with bcrypt password hashing and CSRF protection on every write.

In development

Products being built

Four products are in active development. Each one has its own page stating what it does not yet do.

Planned

Architecture under evaluation

Where the infrastructure needs to go as document workloads grow. Written as needs first and candidate services second, because the need is the decision and the vendor is not.

None of this is deployed. No service listed below is in production use. Dorsko is not currently a customer of any hyperscale cloud provider, and no page on this site claims to be built on, powered by or partnered with one.
Architecture under evaluation
Need State Candidate service What it would do
Object storage for corporate documents Migration target Amazon S3 Encrypted document storage with per-object keys, replacing local filesystem storage.
Managed relational database Migration target Amazon RDS Automated backups, point-in-time recovery and a tested restore path.
Container or VM compute Migration target Amazon ECS / EC2 Separated environments, so a release can be rehearsed before it reaches production.
CDN and web application firewall Planned Amazon CloudFront + AWS WAF Edge caching for public pages and a filtering layer in front of the applications.
Encryption key management Planned AWS KMS Key custody held separately from the storage boundary, so a storage compromise is not automatically a key compromise.
Secret management Planned AWS Secrets Manager Removing credentials from configuration files and rotating them on a schedule.
Central logging and monitoring Planned Amazon CloudWatch One place to see application, access and security events across environments.
Queue-based background processing Planned Amazon SQS + AWS Lambda Moving document processing off the request path so an upload never blocks a page.
Document OCR and extraction Architecture under evaluation Amazon Textract Turning uploaded corporate documents into structured fields for DorskoVerify.
Document classification and reasoning Architecture under evaluation Amazon Bedrock Classifying document types and reconciling conflicting values, always with human review before a result is relied on.
Backup and disaster recovery Planned Cross-region backup with tested restore Encrypted backups whose restore procedure has actually been executed and timed, not merely configured.

A vendor name appears above only as a candidate for a generic need. Naming one is not a statement of use, a partnership or a membership of any programme.

How we build

Six engineering commitments

The document is the boundary

Authentication answers who is asking. It does not answer whether this person should have this document. Every read of a corporate document is authorised at the moment it happens, and logged.

Access for a purpose, not forever

Elevated access expires by default rather than waiting for someone to remember to revoke it. Roles model what a person does, not what they are.

Build once, share across products

Verification, document handling and access control are one implementation used by several products, so a correction in one place is a correction everywhere.

Human review where it matters

Where an automated decision would affect someone's company, money or identity, a person reviews it before it is relied on. Confidence indicators exist to route work to a reviewer, not to replace one.

Restores, not just backups

A backup nobody has restored from is an assumption, not a recovery plan. The measure that counts is whether someone other than the person who configured it can run a restore from written instructions.

Say what is not built

Product status is a data field, not a marketing decision. A product that has not shipped carries a badge saying so on every surface it appears on, including this page.