Security

Sovereign by design.

Sovereignty is ownership of the value your operation creates: your data, the knowledge the system accumulates on it, and the freedom to change models, compute, or course without losing either. Vendors describe those choices as narrower than they are. They are not. This page states the decisions Palisade has already made to keep them yours. Where an assurance can be structural instead of contractual, it is structural.

DocumentSecurity overview Revised2026-07 Contactsecurity@palisadelabs.com

Posture

Every Palisade deployment is single-tenant. Your system runs in its own environment, with its own data stores, its own keys, and its own boundary. Nothing is pooled.

Your data is your property: it is never used to train models, never aggregated across customers, and never leaves your deployment for any purpose you did not direct. What the system learns from your operation belongs to you in the same way the data does: the structures, the patterns, the accumulated knowledge of how your work runs.

The threat model is worth stating plainly. Pooling widens the blast radius: on a pooled platform, an incident in one tenant is a question for every tenant. Here there is no shared substrate, so an incident in one deployment has no path into another. Pooling is also an incentive problem: a platform that holds many customers' data in one place has a standing reason to learn from it, and only policy stands in the way. Single tenancy removes the capability outright. What it does not solve: your own credential hygiene and your own people. Those risks stay with you, and the control model below exists to make them governable.

The control model

Every actor in a Palisade system is a named principal, and that includes software: agents authenticate as named identities with role-scoped permission, the same way staff do. Permission derives from how your organization actually runs: who may see a field, who may sign a release, who may act in whose name. Defined once, enforced everywhere, for people and for software alike. Actions that warrant a second set of eyes require two people; no single principal can carry them alone.

Every action lands in the audit trail with its principal, its object, its time, and its authority. The trail is append-only and hash-chained: each entry commits to the one before it, so any rewrite would be arithmetically visible. The record can be read and extended, never edited.

Change is reversible by design. Material changes run on branches, rehearsed and validated away from production, then promoted or discarded. Reversibility sets the limit of delegation: an agent is trusted with exactly as much as can be undone.

FIG. 02-AOne policy, every principal
The permission matrix Four principals, two human and two agent, evaluated against four object types. Cell glyphs mark write, read, masked, append-only, and none. Every principal writes the audit log append-only, and the agents hold staff-shaped scopes. Work orders Ledger Personnel Audit log H k.reyes dispatcher H m.okafor director of maintenance A agt_scheduler scheduling agent A agt_recon reconciliation agent Agents are scoped like staff, never like superusers Write Read Masked Append-only None
Permission is evaluated per principal, per object type, per field. The same policy plane answers for people and for software.
FIG. 02-BChange runs on branches
Change on branches A production mainline with two branches: one forked, proposed, validated, and promoted back into production; one forked and discarded without ever touching it. Below, an append-only trace of hash-chained entries records every fork, promote, and discard. Production the operation, uninterrupted Fork Propose Validate policy ✓ · tests ✓ · rehearsal ✓ Promote Discard · production never touched 12aa 77b0 9f2c e41a Every fork, promote, and discard lands here Append-only · hash-chained
A change is rehearsed on a branch, validated against policy, and either promoted or discarded. The record of that decision cannot be rewritten, only extended.

Sovereignty

Palisade is model-agnostic by design. No model is load-bearing: the system's knowledge lives in a layer you own, in the objects, properties, links, and actions that describe your operation, and models are interchangeable instruments that operate on it. Swap providers, run open weights, or change course entirely without losing the system or what it has learned. Swapping a model is a configuration change. Context is assembled from the ontology at call time, and Palisade persists nothing on the provider's side. What a provider itself may retain is governed by the rung you deploy on, stated plainly in section 04.

The same holds for compute: Palisade runs on shared cloud, on dedicated infrastructure, or in isolated environments under your physical control. Portability is deliberate. A customer who can leave is a customer whose terms hold.

FIG. 03-AThe stack, exploded
The Palisade stack Exploded isometric assembly of five slabs: compute at the bottom, per-deployment storage above it, interchangeable models above that, the governed control layer highlighted above them, and the operation on top. Brackets group operation and control as yours, models, storage, and compute as substrate. An arrow shows what is learned flowing out of the models band and landing in the control layer, not in the model. what is learned lands here, not in the model Yours identity · knowledge · record persists across any swap Substrate interchangeable replace without losing anything The operation the work itself Control permissions · audit · orchestration Models swappable · nothing accrues here any provider · open weights · yours Storage per-deployment stores · portable yours to take Compute any cloud · dedicated · isolated
The operation and its control plane ride above the substrate. Replace a model or a cloud and nothing above the seam is lost.

The model boundary

A model invocation runs as the identity that invoked it. The context assembled for the call is filtered through the same permission plane as the caller, field by field, so the model is never handed more than the person or agent it works for could read. Tool calls are governed the same way: every read and every action the model requests is checked against the caller's authority, not the model's.

Palisade persists nothing with a provider. Context is assembled per call, and Palisade's copy is discarded when the call returns. What a provider can retain depends on the rung, stated in the table below.

Palisade does not train models, on customer data or anything else. There is no training pipeline for your data to enter. Provider training on your data is excluded by the same terms that limit retention. Because no model is load-bearing, the roster is a configuration decision you direct: commercial APIs, endpoints in your own cloud, or open weights inside the boundary.

FIG. 04-ARetention, by rung
RungModel pathAssurance
Sharedcommercial APIs; retention and training excluded by negotiated provider termscontractual
Dedicatedmodel endpoints inside your cloud account; the path never leaves your boundary; provider retention terms still apply where the endpoint is provider-managedstructural path
contractual retention
Isolatedopen weights inside the boundary; nothing leavesstructural
What a provider can retain depends on the rung you choose, and its assurance class is stated with it.

The deployment ladder

Three rungs, one system. The software is identical on every rung. What changes is who holds the boundary, the keys, and the network. Each rung converts more of the guarantee from contractual to structural. At Isolated, all of it is.

Shared

A single-tenant environment per customer, on infrastructure Palisade operates. Shared refers to the model tier; every deployment is single-tenant. The fastest path to production.

Boundary
own environment per customer
Keys
per deployment, held by Palisade
Egress
enumerated allowlist per deployment
Models
commercial APIs, negotiated retention (contractual)
Operated by
Palisade

Dedicated

The same system in your own cloud accounts, inside your network boundary.

Boundary
your cloud account
Keys
yours, in your KMS; our role scoped, revocable
Egress
your network policy
Models
endpoints in your account; path structural, retention contractual
Operated by
Palisade, under access you control

Isolated

Environments with no external egress, for work that cannot cross a boundary at all.

Boundary
physically yours
Keys
yours
Egress
none; signed updates through your transfer point
Models
open weights in the boundary (structural)
Operated by
you, with out-of-band support
ContractualStructural

Responsible disclosure

If you believe you have found a vulnerability in a Palisade system, write to security@palisadelabs.com. Include what you found, where, and how to reproduce it. We read every report, we acknowledge reports within three business days, and we take no action against researchers who investigate in good faith and give us reasonable time to fix what they find.

Customers on dedicated or isolated deployments may run scanners against their own deployment with advance notice. Do not degrade service, do not target anything that is not yours, and do not social-engineer our people or anyone else's. There is no paid bounty program: we fix what is real, and we credit researchers who want credit.

Machine-readable contact: /.well-known/security.txt

Assurance, now and next

What the architecture already enforces, and what is being attested.

Now · structural, in production
  • Single-tenant isolation
  • Append-only, hash-chained audit
  • Named identities for humans and agents
  • Branch-gated change
  • Per-deployment keys
  • Model-agnostic routing
Next · attestation, in progress as of 2026-07
  • SOC 1 + SOC 2Type I, then Type IIIn progress
  • ISO 27001information security managementIn progress
  • Penetration testindependent, report under NDAIn progress

Certifications attest to what an architecture already does. The controls above do not wait on them.