Files
web/README.md
T
gamertan df946d888e
verify / verify (push) Successful in 2m58s
docs: make Linux the supported release platform
Sanitized snapshot of private source e6784dc71e34681eca4ac52b0f9fe9efc9ce26ca.\n\nAI-assisted implementation reviewed by Cole Speelman.

Signed-off-by: Cole Speelman <crspeelman@gmail.com>
2026-08-16 17:32:41 -04:00

59 lines
2.7 KiB
Markdown

<!-- SPDX-License-Identifier: MPL-2.0 -->
# Gamertan Web Foundations
> Status: unreleased development work toward `v0.1.0-preview.1`. No install
> coordinate is promised until the reviewed public snapshot is tagged.
Small, composable Go packages for the unglamorous boundaries of a careful web
application: request identity, structured request logs, browser security,
passwords and sessions, permissions, SQLite persistence, and private analytics.
This is a toolkit, not an application framework. Your application keeps its
router, HTTP policy, HTML, authorization decisions, cache behavior, and
deployment. Each package works with `net/http` and can be adopted independently.
The first preview targets modest Linux servers, local files, SQLite, and normal
Go binaries. It requires no Redis, message broker, hosted identity provider,
telemetry service, or JavaScript framework.
Linux is the required and supported release platform. WSL may be used as a
Linux development environment. Native Windows is not a release gate or support
promise; downstream users may evaluate the ordinary Go packages elsewhere
without turning that portability into a maintained compatibility claim.
## Packages
- `requestmeta`: trusted-proxy resolution, HTTPS/origin metadata, and request IDs.
- `requestlog`: bounded versioned records, middleware, sinks, and private JSONL.
- `websec`: headers, origin checks, CSRF, redirects, body limits, and rate limits.
- `abuse`: application-classified request abuse with pluggable persistence.
- `auth`, `authhttp`, `authsqlite`: passwords, sessions, permissions, cookies,
and a no-CGO SQLite adapter.
- `analytics`: safe and sensitive aggregate projections over request records.
The copyable starter under `starters/basic` demonstrates the packages without
turning them into a router or template system.
## Security boundary
Client addresses are accepted from forwarding headers only when the immediate
peer and every skipped proxy are explicitly trusted. Sensitive request fields
are off by default. Cryptographic entropy failures fail closed. Logs and account
databases remain private application data and never belong in source releases.
See [SECURITY.md](SECURITY.md), [docs/THREAT_MODEL.md](docs/THREAT_MODEL.md),
the [application adoption contract](docs/ADOPTION.md), and
[docs/SERVICES_ROADMAP.md](docs/SERVICES_ROADMAP.md).
## Licensing
This is a multi-license repository with exact file-level SPDX identifiers:
- embeddable packages and adapters: MPL-2.0;
- future standalone network services and operational machinery: AGPL-3.0-only;
- starters, examples, and reusable configuration: 0BSD.
See [LICENSES.md](LICENSES.md). No standalone auth or logging server is included
in this preview.