Self-hosted AI

Keep the AI control plane in customer-controlled infrastructure.

Self-hosting means your organisation runs the server, the database, identity integration, the model endpoints, storage, backups, and monitoring. Glyph Private is the self-hosted deployment of Glyph: a server the customer operates, an OpenAI-compatible gateway that routes employees’ requests to the models you approve, and desktop clients that enrol against it. It does not require Fortaify cloud access to operate.

Discuss a scoped pilot

Reviewed 2026-09-13 against the current Glyph release and deployment documentation.

What the customer operates

A production Glyph Private deployment is a conventional server stack, and the operational ownership is deliberately conventional too. Nothing in it depends on a Fortaify-operated service at runtime; the only vendor-directed traffic is an optional deployment heartbeat that carries metadata, and it is off in air-gapped mode.

Components of a self-hosted Glyph Private deployment and who owns them
ComponentRoleOperated by
Glyph ServerAPI, admin console, gateway, policy delivery, auditCustomer (container image supplied)
PostgreSQLUsers, devices, policy, usage records, audit logCustomer; at-rest encryption is the database platform’s
TLS terminationHTTPS for clients and the admin consoleCustomer (nginx configuration provided)
Identity providerOIDC sign-in, optional SCIM provisioningCustomer’s existing IdP
Model backendsOllama, supervised llama.cpp, or OpenAI-compatible serversCustomer; sized to the models in use
Storage and backupsModel artifacts, database dumps, restore procedureCustomer
Logging and monitoringHealth endpoints, audit export, optional Splunk HECCustomer

Deployment shapes

Docker Compose is the starting point: the server, PostgreSQL, and an optional Ollama profile come up together, which is enough for a pilot or a small team on one host with a GPU. Kubernetes is the shape for larger installations; the server is stateless apart from the database, so it scales behind an ingress while the database, migrations, and persistent volumes are operated by the platform team.

Air-gapped environments use the same images with GLYPH_PRIVATE_AIR_GAPPED set. The flag blocks vendor and cloud model egress, Hugging Face search and downloads, queued external downloads, and the heartbeat. It does not disable an OIDC issuer, a Splunk endpoint, or a cloud model base URL that an operator has explicitly configured — leave those unset for strict zero egress. The air-gapped AI page covers the offline supply chain this requires.

Identity, devices, and access lifecycle

Employees sign in through your OIDC provider; there is no separate Glyph password store to manage. SCIM provisioning creates and deactivates users from the directory, roles separate administrators from members, and desktop clients enrol as devices that can be reviewed and revoked. Revocation is the test that matters in a pilot: disable a user in the directory, confirm the desktop loses access to the gateway and stops receiving policy, and record the evidence.

Administrative mutations in the enterprise console are recorded in an append-only audit log that can be exported. Treat organisational controls — access reviews, break-glass procedures — as processes you run, not as something the software enforces for you.

The model gateway

Clients never talk to a model backend directly. Every request passes through the gateway: authentication, device check, the user’s effective policy, alias routing, data-loss-prevention rules, the backend call, and a usage record. Aliases let you publish a stable model name such as “company-coding” and change the backing model, add fallbacks, or put a backend into maintenance without touching a single desktop.

Backends are pluggable. The Ollama adapter uses Ollama’s native API including pull progress and embeddings; the llama.cpp supervisor manages a local process with GPU layers, health probes, and vision projectors; the OpenAI-compatible adapter fronts vLLM, TGI, LM Studio, or any server that speaks the OpenAI wire format. Multi-node scheduling across several inference hosts exists at the table level and is still being completed, so plan capacity per backend for now.

Data protection and what to configure

Transport encryption to clients is whatever your TLS termination provides. The server connects to PostgreSQL with sslmode=require by default, which encrypts the connection but does not verify the server certificate; use verify-full where policy demands it. There is no application-level field encryption — at-rest protection is the database and disk layer you operate. Gateway logs and usage records hold operational metadata, not prompt or document text, and support bundles are redacted before they leave your environment.

The Trust Center states these defaults in full, including the mobile LAN exception, so that security reviews are working from the actual behaviour rather than a summary.

Licensing without a vendor call-home

Glyph Private uses an offline, Ed25519-signed licence file. A tampered, corrupt, or wrong-key licence fails closed; an expired one is non-destructive and moves the deployment to read-only enforcement for administrative and provisioning changes. Set GLYPH_PRIVATE_LICENSE_STRICT=1 and pin GLYPH_PRIVATE_DEPLOYMENT_ID in production so a licence cannot be replayed across deployments, and back the licence file up with the database.

Plan the pilot before installing

Assign owners for certificates, DNS, identity, database recovery, model capacity, and upgrades. A scoped pilot should prove sign-in, device enrolment and revocation, policy delivery to a desktop, model health through the gateway, backup and restore, and support-bundle collection — before a second team is added. The readiness checklist turns that into an owner-and-evidence list, and sales can help scope it.

Frequently asked questions

Does Fortaify need access to our environment to support us?

No. Support works through redacted diagnostic bundles and documented procedures. There is no vendor master credential and no standing account in the customer deployment.

Can employees still use cloud models like OpenAI or Anthropic?

Only if the administrator allows it. Policy delivered from the server restricts which destinations a desktop may use; a strict deployment can limit users to the gateway’s approved models.

Do we need a GPU server?

Not necessarily. Small teams can point the gateway at an existing model server, run Ollama on a workstation-class host, or start with employees’ own desktops running local models and add a shared backend later.

Is Glyph Private certified for any compliance framework?

Fortaify does not currently claim certifications or audit opinions. The Trust Center documents implemented controls, configuration-dependent behaviour, and planned work so your own assessment can proceed from evidence.