{{ groupTag }}
{{ topTitle }}
{{ topSub }}
Awaiting client review
Business OS · Intelligence Platform

The JAM Safety Operating System

From whiteboard to a field-tested platform in 16 weeks — four portals, AI-assisted compliance, 

enterprise access control and live operational intelligence. The full plan and the engineering underneath it.

{{ cs.n }}
{{ cs.label }}
JAM
Implementation Proposal — June 2026

JAM Safety AI Business Operating System 

This document sets out a coherent, phased plan to deliver the platform, including the timeline, scope, the risks we'll manage together, and a full technical deep dive into the access control, AI orchestration, and intelligence layers.

Duration
16 weeks
Investment
€40,000 fixed
Target
MVP+ launch
Prepared for
Conor Rainey
The engagement in one paragraph

We deliver a working MVP+ business operating system, as outlined in these documents , by Week 16 — followed by four weeks of hypercare. The fixed scope is MVP+, sequenced so the launch date is protected even when features depend on inputs from your side.

One platform, five portals
{{ p.icon }}
{{ p.name }}
{{ p.desc }}
badge
Future SOW
JAM Recruitment
Job board, CV submission, availability and qualifications — a post-launch portal scoped as a separate engagement.
How we'll de-risk delivery
{{ a.icon }}
{{ a.title }}
{{ a.desc }}
16 weeks · 5 phases · 3 milestones

The original analysis scoped a 22-week build. We compress to 16 by running the four portals as parallel vertical slices, prioritising the three highest-value AI agents, and folding enhancement work into the live phases. MVP lands at Week 9; everything after is hardening, intelligence and the items that take us to MVP+.

MVP
Week 9
Pilot
Week 13–14
Launch
Week 16
Phase
Found.
Core ops
Field
Intelligence
Launch
1
5
9
13
16
{{ g.label }}
{{ g.text }}
Milestones
flagMVP
flagPilot
rocket_launchLaunch
Week-by-week delivery plan

Every sprint named, every deliverable listed. Milestone gates shown against the week they fall.

Phase {{ ph.phaseNum }} {{ ph.phaseName }}
{{ w.w }}
{{ w.title }}
check_circle{{ d.text }}
flag{{ w.milestone }}
{{ ph.num }}

{{ ph.title }}

{{ ph.weeks }}

{{ ph.objective }}

{{ d }}
flag Milestone: {{ ph.milestone }}
Portal deep-dive

Every feature from your whiteboards, explained — what it does, why it matters and how it connects to the rest of the platform. Colour-coded to delivery tier.

MVP — by Week 9 MVP+ — Weeks 10–16 MVP++ — Future SOW
{{ portal.icon }}
{{ portal.name }}
{{ portal.sub }}
{{ f.name }} {{ f.badgeTxt }}
{{ f.desc }}
Investment structure

€40,000 flat fee. 16 weeks. Everything delivered.

We priced this as a time-based engagement — not a feature list. A platform of this scale has too many unknowns to quote by deliverable without building in risk premiums and change-order triggers on both sides. €10,000 payable in advance every 4 weeks — a clean, honest structure. Every week, your team works. Everything we can build in 16 weeks, you get.

Why time-based pricing
{{ r.icon }}
{{ r.title }}
{{ r.desc }}
€10,000
every 4 weeks · fixed
Covers the full Heaventree team: senior developer, project management, design, DevOps, QA — plus a dedicated Microsoft Teams channel, email and WhatsApp throughout.
€40,000total
4 payments × €10,000 — payable in advance every 4 weeks
Payment schedule: advance before Week 1 · advance before Week 5 · advance before Week 9 · advance before Week 13
Phase investment allocation

A €-per-phase view — not feature pricing, but a reflection of where effort concentrates across the 16 weeks.

{{ p.phase }}
{{ p.weeks }}
{{ p.barW }} effort
Total investment €40,000
payments
Included in the fixed fee vs. separate costs
Included
check_circle{{ it }}
Billed separately
remove_circle{{ it }}
info

Scope is defined by the Portal Deep-Dive, not by conversation. Features discussed in meetings or emails that do not appear in the Portal Deep-Dive are not in scope. Any addition requires a written change request signed by both parties before work begins. Additional work is billed at €85 + VAT/hr or agreed as a new SOW.

JAM
AI OS MAPPING
Green is MVP   (Core functions)  
Blue is MVP+    (Best effort committed stretch)        
Rose is MVP++(Future statement of work).

MVP — core launch
Phases 1–3 · by Week 9
MVP+ — committed stretch
Phases 4–5 · Weeks 10–16
MVP++ — future SOW
Post-launch · separate engagement
JAMSafety.com   Public landing & role-based portal selector
MVP
Routes to 5 portals
hub
JAM Ops Portal
{{ opsTot }}
MVP · by Week 9
{{ m }}
MVP+ · Weeks 10–16
{{ m }}
MVP++ · Future
{{ m }}
corporate_fare
Client Portal
{{ clientTot }}
MVP · by Week 9
{{ m }}
Every client-facing module is MVP — clients see value from launch.
engineering
Subcontractor Portal
{{ subTot }}
MVP · by Week 9
{{ m }}
MVP+ · Weeks 10–16
{{ m }}
MVP++ · Future
{{ m }}
smartphone
Staff Field Portal
{{ fieldTot }}
MVP · by Week 9
{{ m }}
MVP+ · Weeks 10–16
{{ m }}
MVP++ · Future
{{ m }}
badge
JAM Recruitment
{{ recruitTot }}
MVP++ · Future SOW
{{ m }}
An entirely post-launch portal — scoped as a separate engagement.
insights
Stitched to the timeline
{{ smMvpCount }}MVP · by Wk 9
{{ smPlusCount }}MVP+ · Wk 10–16
{{ smPpCount }}MVP++ · future
INVESTMENT DELIVERABLES 

The fixed scope is MVP+: the complete core platform (the must-have features across four portals) plus the highest-value enhancement work the 16 weeks can safely absorb. Below is an honest split of what is committed, what is delivered if time allows, and what sits in a future statement of work.

task_altCommitted — MVP+
{{ g.group }}
check{{ it }}
scheduleDelivered if time allows · MVP+

These are the "as much of the full app as possible" items. They are sequenced into Phases 4–5 and shipped when capacity allows — but they flex first if anything slips, to protect the launch date.

{{ m }}
event_upcomingFuture statement of work · MVP++
schedule_send
{{ o.name }}
{{ o.why }}
dns
Hosting & infrastructure — an ongoing operating cost

JAM Safety OS is an enterprise application, not a brochure website, and it should not be judged against standard website-hosting expectations. It runs a live database, background workers, an AI layer and offline sync, and it holds safety-critical and personal data. 


That carries infrastructure obligations — capacity, security, backups, and redundancy that continue to grow for the life of the platform. These are external, usage-dependent costs, billed by the providers, and sit outside the fixed build price.

cloudApplication & database hosting
Compute for the API, portals and background workers, plus a managed PostgreSQL instance sized for concurrent events.
backupBackups & disaster recovery
Automated daily backups, point-in-time restore and off-site retention so safety records are never at risk.
securitySecurity, redundancy & uptime
TLS, monitoring, anomaly alerting and redundant infrastructure to keep the platform available during live events.
request_quote
Indicative hosting is in the region of €800–€1,200 / month, scaling with event volume and data growth. We will recommend a provider and confirm a transparent figure during discovery, and you are free to host with your own provider if you prefer.
handshake
How we'll keep scope clear together
The fixed price

€40,000 covers the MVP+ scope set out in this proposal — delivered with the pilot, training and a four-week hypercare period included.

Anything outside the agreed scope is welcomed as a change request: captured, estimated and scheduled by agreement. Nothing is billed without your sign-off.

External operating costs

Some costs are inherently usage-based and billed by third parties — hosting and infrastructure (above), AI and weather API usage, and any support beyond hypercare.

These are billed at cost and agreed before launch — protecting the fixed price while keeping every ongoing cost open and predictable.

CAVEATS & UNDERSTANDINGS
info
{{ cv }}
task_altDelivery considerations
{{ riskCount }} factors · reviewed at each gate
Factor
Likelihood
Impact
How we handle it
{{ r.risk }}
{{ r.likPill }}
{{ r.impPill }}
{{ r.mitigation }}
link

External dependencies

These are the inputs and access we need from your side. None of them are obstacles — they're simply things that sit outside our control. We've mapped them to the week they're needed so you can plan ahead, and where anything is late, the dependent feature moves rather than the launch date.

link
{{ b.name }}
{{ b.detail }}
person{{ b.owner }}
Need by
{{ b.by }}
contact_supportWhat we need from you to begin

{{ queryCount }} questions to turn this plan into a kickoff

These are the open unknowns, connection points and data sources that shape the build. We don't need every answer on day one. That being said, items flagged for Week 1 in Blockers should be settled at, or soon after, kickoff. Answers here directly de-risk the timeline.

{{ qs.n }}
{{ qs.label }}
{{ g.iconBox }}
{{ g.title }}
{{ g.sub }}
{{ g.count }}
radio_button_unchecked
{{ q.q }}
Why it matters — {{ q.why }}
{{ q.oPill }}
handshake
Next step
Work through these with us in a 90-minute kickoff workshop. We'll capture answers, confirm the MVP+ scope, and lock the Week-1 dependencies so the build can start clean.
Explore the architecture arrow_forward
Platform architecture

One coherent system, not a bag of services. A self-hostable single-tenant stack where the same database that runs the platform also powers its intelligence — no warehouse, no sync lag. Every request is authenticated and audit-logged before it reaches data.

5
role-aware portals
6
permission roles
4
AI cost tiers
€0
KB / search inference
deployed_code
Built on Heaventree "NexOS" 

JAM Safety Business OS is built on Heaventree's NexOS framework. NexOS provides the secure, scalable foundation on which bespoke business systems are developed. This allows development effort to be focused on workflows, automation, AI capabilities and operational requirements unique to JAM Safety, built on a proven technology foundation for core platform services

layers Presentation — 5 user portals
publicJAMSafety.com
hubJAM Ops Portal
corporate_fareClient Portal
engineeringSubcontractor Portal
smartphoneStaff Field PWA
badgeRecruitment (future)
Tech: Next.js 14 + React + TypeScript + Tailwind + shadcn/ui  ·  Field portal: PWA with Service Worker + IndexedDB for offline
arrow_downward API Gateway (REST + WebSocket) — all portal requests route here arrow_downward
memory NexOS Core — platform services
lockAuth & RBAC
folder_openDocument Engine
account_treeWorkflow Engine
notificationsNotification Bus
smart_toyAgent Orchestrator
extensionMCP Tool Registry
sync_altField Sync Engine
bar_chartReporting Engine
paymentsFinance Module
monitoringCost Tracker
Tech: Python 3.12 + FastAPI + SQLAlchemy 2.0 + Alembic + Pydantic v2  ·  Reverse proxy: Caddy 2 (auto-TLS)
arrow_downward Agent Orchestrator dispatches tasks to the AI layer via Claude API arrow_downward
psychology AI Intelligence Layer — Claude-powered agents
descriptionESMP Generator
badgeCV Creator
scheduleQ-Schedule Generator
auto_awesomePresentation Creator*
tips_and_updatesPrompt Creator*
peopleCRM Intelligence*
Solid = MVP+ scope  ·  Dashed* = time-permitting  ·  Model: Claude (Anthropic API)  ·  Protocol: MCP (Model Context Protocol)
arrow_downward MS Graph Bridge + Finance Connector push/pull to external systems arrow_downward
cable Integration Layer — external services
cloud_syncMS Graph (SharePoint + Outlook)
receipt_longFinance (Xero / Sage / QB)
cloudOpenWeather API
mailTransactional Email
arrow_downward All application state persisted here arrow_downward
storage Data Layer
databasePostgreSQL 16 (primary)
boltRedis 7 (cache + events)
folderDocument Store (files/PDFs)
Deployment: Docker Compose → cloud VM  ·  TLS: Caddy auto-cert  ·  Backups: daily automated snapshots
Component dictionary — what each piece does
{{ c.icon }}
{{ c.name }}
{{ c.sub }}
{{ c.body }}
How the portals talk to each other
{{ p.title }}
{{ p.body }}
Identity & access management

JAM runs thousands of staff across concurrent events in multiple countries. Access control is designed for that scale from the ground up — six base roles, per-user overrides, pool-level group rules and event-scoped data isolation enforced at the database row, not just hidden in the UI.

Additive, then overridable
One base role per user; admins grant or deny individual capabilities without changing the role.
Scoped to the event
Field and subcontractor data is row-isolated to the assigned event — enforced server-side.
Everything is logged
Every grant, role change and access is written to an immutable, append-only audit trail.
The six base roles
{{ r.icon }}
{{ r.name }}
{{ b }}
{{ cp }}
table_chart Feature permission matrix
Admin-editable · any cell, any role, any time
{{ permHint }}
Feature
{{ row.feature }}changed
{{ c.icon }}
check_circleFull access visibilityRead-only tuneAdmin-configurable removeNo access
tunePer-user overrides

Any user can receive individual grants or denials without changing their role. Permissions resolve highest-wins:

{{ p.n }} · {{ p.text }}
groupStaff pools & group permissions

For large events with hundreds of field staff, manage permissions at pool level rather than per person.

{{ p.name }}{{ p.n }} users
assigned: {{ p.assigned }}
override: {{ p.override }}
scheduleTime-bound & temporary access

Grant time-limited permissions that auto-revoke — assessors needing 48h read access, deputies covering a shift.

{{ t.who }}{{ t.status }}
MFA by role
{{ m.role }}{{ m.req }}
Session security
{{ x }}
Audit logappend-only · immutable · live
{{ a.t }}{{ a.actor }}{{ a.action }}{{ a.target }}{{ a.result }}
AI model strategy

Claude is the most capable model — but it costs proportionally more per token. JAM Safety OS runs a four-tier model strategy: every AI function is assigned the cheapest engine that can do its job well, and that assignment is a setting in admin — never hard-coded. You are never locked to one provider.

4
cost tiers, auto-routed
12+
functions, each configurable
~60%
of calls run at €0
{{ t.tier }}
{{ t.badge }}{{ t.cost }}
Assigned tasks
{{ tk }}
When it's used
{{ t.when }}
alt_routeThe Model Router — try it

Every AI request carries a task profile. The router reads it and picks the engine — admins can override any of it. Choose a profile to see where it routes.

Router selects
{{ routed.model }}
{{ routed.tier }}
{{ routed.note }}
monitoringPer-function assignment · live monthly cost

Change any model below — the projected spend recalculates instantly. This is the exact panel Ops Admin uses.

Projected AI spend
{{ aiTotals.spend }}/mo
vs {{ aiTotals.naive }} if all ran on Sonnet · saving {{ aiTotals.saving }}/mo
{{ r.name }}
{{ r.tier }}
{{ r.costLabel }}
boltEach function has a monthly token budget. At 80% it alerts; at 100% it auto-downgrades to the next tier so a runaway cost never becomes a runaway bill.
Semantic Memory Engine — vector intelligence core

A private, ever-growing vector memory that learns from every document, incident and decision on the platform. Each source is chunked into semantic text segments, converted into high-dimensional vector embeddings via a local nomic-embed model, then written as a structured node collection into pgvector. The index is built on an HNSW graph (Hierarchical Navigable Small World) enabling millisecond approximate-nearest-neighbour retrieval via cosine distance — zero API tokens to index or search, and precision that compounds with every node added.

€0
per index & per search
8
live ingestion sources
async
ingests in the background
{{ vectorBrain }}
What feeds the Semantic Memory Engine
{{ s.icon }}
{{ s.name }}
{{ s.detail }}
Where it surfaces
{{ u.icon }}
{{ u.title }}
{{ u.desc }}
boltIngestion pipeline

Resolving an incident or approving a document triggers an async embed — no user waits, no tokens spent.

{{ l }}
Regulatory intelligence — RAG engine

JAM operates across Gulf state jurisdictions — each with its own evolving mass-gathering legislation, civil defence directives, and event permitting frameworks. The RAG engine continuously indexes authoritative legal sources and automatically grounds every AI agent in the precise regulatory context for each deployment territory. Commission an ESMP for a KSA event and the engine retrieves current Saudi Civil Defence requirements and MOMAH permitting standards before a single clause is drafted — zero manual maintenance, zero regulatory lag.

9
jurisdictions indexed
weekly
automated re-crawl
0
tokens to retrieve
Regulatory sources indexed
{{ r.flag }}
{{ r.name }}
{{ r.detail }}
updateUpdate pipeline

Sources are crawled on a schedule. Changed content re-embeds and version-stamps; admins are notified to review impact on active ESMPs.

{{ l }}
integration_instructionsGrounding an AI agent

The ESMP agent retrieves law + precedent locally first, then prepends them to the prompt. Claude generates a legally-grounded plan — no hallucinated, outdated rules.

{{ l }}
Enterprise business intelligence

This is where everything pays off. Every document, incident, inspection, shift and invoice across the platform flows into one live intelligence layer — no warehouse, no sync lag, no data team. The result: board-level insight into the whole business, in real time, surfaced automatically.

{{ incidentBiFlow }}
Live command centrestreaming · {{ biCur.role }}
{{ k.label }}
{{ k.value }}{{ k.sub }}
{{ k.spark }}
{{ k.delta }}
{{ biCur.trendTitle }}
This year Prior
{{ biCur.trendSvg }}
{{ biCur.gaugeLabel }}
{{ biCur.gaugeSvg }}
{{ biCur.gaugeSub }}
{{ biCur.role }} sees
{{ m }}
auto_awesomeInsights the system surfaced
{{ ins.icon }}{{ ins.text }}
table_viewReport builderNo-code
{{ g.label }}
{{ g.text }}
Forecasting engine — statistical, not guessed
{{ f.icon }}
{{ f.title }}

{{ f.desc }}

{{ f.example }}
savingsCost-optimisation recommendations

A weekly scan across all historical events surfaces actionable findings — each with the evidence, the saving and a suggested action.

{{ r.saving }}
est. saving
{{ r.icon }}{{ r.title }}
{{ r.desc }}
Compliance intelligence
{{ c.title }}
{{ c.desc }}
Self-learning & pattern detection

Every event, incident, inspection and approval is automatically converted into a vector embedding and stored in a private knowledge base. The system then uses that knowledge to ground AI generation, surface similar precedents and detect patterns — all at zero token cost. The platform gets smarter with every event it runs.

€0
per index or retrieval
768
dimensions per embedding
local
nomic-embed runs on-server
async
background — no user waits
Vector ingestion pipeline — live nomic-embed-text · pgvector · zero tokens
{{ learnItem.icon }} {{ learnItem.label }} incoming event
{{ learnItem.text }}
segment
Text extraction & chunking
{{ learnItem.chunk }}
keyboard_double_arrow_down
hub
nomic-embed-text
{{ v }} … ×760
keyboard_double_arrow_down
database
pgvector.upsert(chunk, embedding)
INSERT INTO kb_chunks (content, embedding, source_type) …
keyboard_double_arrow_down
check_circle
ivfflat index updated
Available for semantic retrieval · 0ms overhead
{{ learnItem.stageLabel }} {{ learnItem.progressW }}
searchSemantic retrieval — try it
Select a query — the KB finds the most similar records using cosine similarity, in milliseconds, at zero token cost.
search pgvector_search(query_embedding, k=3)…
touch_app Select a query above to retrieve
{{ r.icon }} {{ r.title }} {{ r.score }}
{{ r.excerpt }}
bolt Retrieved in <4ms · 0 API tokens · 0 cost
What the KB enables: four pattern detection domains
{{ p.icon }}{{ p.title }}
{{ s.name }}
{{ s.desc }}
loopThe feedback loop — watch it learn

Every admin action feeds back into the detection thresholds. Dismiss a false positive and the sensitivity drops for that pattern. Act on a confirmed flag and it becomes more alert. Try it:

Detection threshold{{ sensLabel }}
{{ sigmaLabel }}deviation to fire
1.5σ · sensitive3.0σ · strict
flag
{{ flagsFiring }} / {{ flagsTotal }}
candidate flags would fire now
Self-improvement cycle
{{ l }}
Admin control panel

The nerve centre. Accessible only to the Ops Admin role, it gives complete control over every configurable part of the system — users, permissions, AI models, the knowledge base, integrations, billing and security. Every action in admin is itself audit-logged.

Eight admin modules
{{ m.icon }}
{{ m.title }}
{{ it }}
psychology
AI model assignment lives here too
Set the model and budget for every AI function — see the live, editable panel in AI Orchestration.
arrow_forward
Integration management
{{ i.icon }}
{{ i.name }}
{{ i.status }}
{{ i.desc }}
System health & monitoring
{{ h.title }}
{{ h.desc }}
privacy_tipData governance & GDPR tooling
Data subject rights
{{ g.icon }}
{{ g.strong }} — {{ g.text }}
Retention policies
{{ r.label }}{{ r.value }}
verified
One platform, end to end
From the delivery plan to the engineering underneath — this is what €40,000 and 16 weeks builds, and the system it grows into.
What we need to begin arrow_forward
Year 1 support & SLA

Following the 4-week hypercare period, the platform transitions into Year 1 managed operational support under a structured Service Level Agreement. This is not ordinary website maintenance. 

The JAM Safety platform is a bespoke, business-critical operational environment: four portals, multiple user classes, live-event dependency, AI-assisted workflows and external integrations, scaling toward thousands of users. 

Year 1 is the most demanding period in the platform's life, and the support model is priced and structured to reflect that honestly.

Why Year 1 is intensive — and priced accordingly
{{ w.icon }}{{ w.label }}

{{ w.desc }}

Recommended
Year 1 Operational Support
Monthly retainer€5,500 / month
Annual Year 1€66,000 (12 months)
Support windowBusiness hours + P1 emergency
P1 — Critical1 hour response
P2 — High2 business hours
P3 — Medium1 business day
P4 — Low2 business days
Uptime target99.5% monthly
Included hours20 hrs / month
MonitoringProactive + priority alerting
BackupsDaily + monitored restore
Service reviewMonthly
Why 20 hours and not 10?

A 10-hour allowance would be exhausted within the first fortnight of most months in Year 1. The 20-hour allowance reflects the genuine bedding-in workload — onboarding support, workflow refinements and edge-case handling — without forcing a monthly overage conversation that helps nobody.

Optional uplift
Event-Window Cover

JAM's business is live events — which run in the evenings, at weekends and over holidays, exactly when standard support windows are closed.

€650
per event-day
€1,500
per event-weekend
Pre-booked against JAM's critical event dates
Support team on standby during the nominated window
Priority P1/P2 handling regardless of time of day
Bookable ad-hoc or as a standing peak-season arrangement

The single highest-value protection for a live-events business. We strongly recommend budgeting for it across Year 1's busiest periods.

What the Year 1 retainer covers
{{ inc.icon }}
{{ inc.title }}
{{ it }}
Incident priority classification
{{ p.level }}
{{ p.label }}

{{ p.desc }}

Response target
{{ p.response }}
{{ ex }}
Important: Response times are acknowledgement and triage targets — not guaranteed fix deadlines. All clocks run on the contracted support window; P1 emergency escalation provides extended-hours response for critical incidents outside business hours.
What counts as included maintenance

A request qualifies as included maintenance only if ALL of the following are true:

check_smallEstimated effort ≤ ~4 hours (a single bounded task)
check_smallDoes not introduce a new data entity or change the data model
check_smallDoes not add a new third-party integration or API
check_smallDoes not create a new user role or materially change RBAC logic
check_smallDoes not require a new screen, module or portal
check_smallIs not a net-new feature
Bug fixes do not consume the monthly hours

Bug fixes are covered under the base retainer's application-support obligation. The hour-bucket is for enhancements and iterative improvements — not repairs. JAM should never pay twice for our defects.

Hour rollover

Up to 50% of unused hours roll forward one month only, then expire — goodwill flexibility without stockpiling.

Out of scope

Excluded from the Year 1 retainer unless separately agreed in writing. Each is handled through a change-request process: scope definition, impact review, timeline and commercial approval.

close{{ ex }}
Service availability & uptime
99.5%
monthly uptime target
3.6h
max allowed downtime/month

Availability excludes: scheduled maintenance windows (≥3 business days' notice), third-party provider outages (Microsoft, Anthropic, Frappe), client-side connectivity issues, and force-majeure events.

Service credits
5% of that month's retainer per 0.5% below target — capped at 25% of the monthly retainer.
Example: 98.5% actual (1% shortfall) → €550 credit against €5,500 retainer.
Backups & disaster recovery
24h
RPO — max data-loss window
NBD
RTO — severe incident recovery
check_circleDaily automated production backups
check_circle14–30 day retention per agreed policy
check_circlePoint-in-time recovery where infrastructure supports
check_circleMonitored restore readiness — not set-and-forget
Sub-1-hour RTO requires redundant infrastructure and is available as a separately scoped enhancement.
Add-ons & overage rates
Item Rate
Extra support hours€130/hr · €600/5-pack
Event-window standby€650/day · €1,500/wknd
Change requestsQuoted separately
Penetration testing€4k–9k/engagement

Hosting and third-party API costs (cloud infra, Claude AI, OpenWeather) are billed separately at cost — estimated €800–1,200/month.

Year 1 cost summary
{{ c.item }}
{{ c.note }}
{{ c.amount }}
Client responsibilities

Support effectiveness is a shared responsibility. JAM Safety is expected to:

check_circle{{ cr }}
Sustained delays in client feedback during incidents can materially affect resolution timelines and are excluded from response-time targets.
Term & review
calendar_today
Year 1 term
12 months from end of hypercare (Week 21) — no gap between delivery and support.
manage_search
Month 6 checkpoint
Joint review of incident volumes, hour consumption, change velocity and event-window usage — confirms the Year 2 model.
trending_down
Year 2 transition
As the platform stabilises, the model steps down to a lighter, lower-cost tier — a planned, good-news reduction agreed before Year 1 ends.
verified_user
Year 1: priced honestly for what it actually is
€5,500/month · 20 hours · 1-hour P1 · proactive monitoring · monthly reviews · planned Year 2 step-down.
View investment arrow_forward
Hardened by Design — Enterprise Security Architecture
ZERO TRUST BAKED IN FROM DAY ONE

"Security is not a product you install — it is a discipline you sustain."

The JAM Safety platform is a business-critical operational system processing safety documents, managing live events, handling subcontractor credentials and coordinating field teams. That operational reality demands operational-grade security. 


NexOS implements a comprehensive 8-layer defence-in-depth architecture designed to protect against the full spectrum of modern cyber threats from automated bot attacks to AI prompt injection. 

Each layer operates independently so that the failure of any single layer does not compromise the platform.

Our security commitment
{{ sp.icon }} {{ sp.text }}
{{ securityFlow }}
The 8-layer defence stack
L{{ sl.n }}
{{ sl.icon }} {{ sl.name }}
{{ blk }}

{{ sl.plain }}

{{ sl.tech }}

Independent penetration testing

Security controls built in-house are only as trustworthy as an independent firm's assessment of them. Two dedicated engagements in Year 1 — not Heaventree marking its own work.

{{ h }}
{{ pt.phase }} {{ pt.timing }} {{ pt.scope }} {{ pt.cost }}

Penetration testing is conducted by an independent specialist provider and scoped against OWASP ASVS as the acceptance benchmark. Costs are a separate line item from the support retainer.

OWASP-aligned from day one

Security patterns are baked into the build — not addressed after the fact. The goal: when the independent pen tester arrives, most common findings have already been closed.

{{ ow.std }}

{{ ow.desc }}

In our experience, platforms built with security-by-design principles see 40–60% fewer findings in formal penetration tests compared to platforms where security is addressed retrospectively.

Realistic expectations

Any technology partner that guarantees absolute security is either uninformed or dishonest. We choose transparency instead.

check_smallCompromise is made as difficult as reasonably possible through layered controls
check_smallCompromise is detected quickly through continuous monitoring and alerting
check_smallBlast radius of any compromise is minimised through isolation and segmentation
check_smallRecovery is rapid and reliable through tested backups and incident procedures

We will not insult your intelligence by claiming the platform is invulnerable. Instead, we commit to making it as resilient as a platform of this nature can credibly be — and maintaining that resilience throughout Year 1 and beyond.

Shared responsibility

Platform security is a partnership. Heaventree secures the environment, the code, the infrastructure and the defences. JAM Safety governs its users, their access, their devices and their conduct.

Heaventree secures
Platform code · infrastructure · 8 defence layers · monitoring · incident response · monthly maintenance
JAM Safety governs
User accounts · access discipline · device security · leaver offboarding · credential hygiene · conduct

The strongest technical controls cannot protect a platform where accounts are shared, passwords are on sticky notes, or leavers retain access for months after departure. We will provide security guidance, onboarding checklists and access governance templates.

shield
Security is a founding discipline, not a feature
8 layers · independent pen tests · monthly maintenance · 1-hour P1 response · shared responsibility.
Support & SLA arrow_forward
JAM