CLIENT WORKSPACE
Client Portal
Welcome back — your workspace is ready.
You are browsing as a guest — sign in for full access to billing, downloads and uploads.
01 · PACKAGES
My Packages
Bastion One engagements run on three tiers. Your active package, agreement and invoices live in Billing.
TIER 01
Pilot
Scoped proof-of-value deployment for a single agent workflow.
- Agent Control Engine enforcement
- Audit ledger with sealed receipts
- Guided onboarding
View tier details
TIER 02
Scale
Production rollout across teams, platforms and policies.
- Multi-platform coverage
- Policy compilation — Sovereign Treaty
- Priority support targets
View tier details
TIER 03
Enterprise
Cryptographic metering and audit defense at organizational scale.
- Consumption ledger and metering
- Audit-defense reporting
- Dedicated engineering contact
View tier details
Billing and invoices
View your active package, payment history and downloadable invoices in the secure billing area.
02 · SOFTWARE
Software Downloads
Versioned releases are published here with release notes and integrity checksums, pulled from the official Bastion One repositories.
Releases pending
Your provisioned GitHub release links will appear here — each with version, release notes and a SHA-256 checksum for verification. Need a build today? Open a support request below.
EVERY RELEASE SHIPS WITH A VERIFIABLE CHECKSUM · PROVENANCE GUARANTEED
03 · SUPPORT
Support Requests
Requests route directly to the Bastion One engineering team. Include your environment, platform and any agent identifiers — the more precise the request, the faster the resolution.
- Critical issues are triaged first
- You receive a reply from a named engineer
- Attach error logs in the Log Analysis section
Request received. Your ticket has been routed to the engineering team — you will hear back at the email you provided.
04 · LOG ANALYSIS
Upload Error Logs
Submit error logs and traces for engineering review. Every upload is receipt-logged on arrival — you get a confirmed chain of custody for the artifact.
- Accepted: .log, .txt, .json, .har, .zip, .gz
- Up to 15 MB per upload
- Strip credentials and secrets before submitting
UPLOADS REQUIRE AN AUTHENTICATED SESSION
05 · ACCOUNT
Account Maintenance
Everything attached to your identity on the platform — profile, credentials, billing and session.
Provisioning or access questions?
Your account team can add seats, rotate credentials or stand up a new environment.
Contact your account team
(function(){
var root=document.getElementById('bo-portal');
if(root){root.className=root.className+' bo-js';}
var loggedIn=document.cookie.indexOf('wordpress_logged_in_') !== -1;
function show(id){var el=document.getElementById(id);if(el){el.style.display='';}}
function hide(id){var el=document.getElementById(id);if(el){el.style.display='none';}}
if(loggedIn){show('bo-greet-in');hide('bo-greet-out');}
var chip=document.getElementById('bo-authchip');
if(chip){if(loggedIn){chip.textContent='AUTHENTICATED SESSION';}else{chip.textContent='GUEST MODE — SIGN IN FOR FULL ACCESS';chip.className=chip.className+' bo-chip-guest';}}
function val(f,n){var el=f.querySelector('[name='+n+']');if(el){return el.value;}return '';}
function post(fd){return fetch('/wp-admin/admin-ajax.php',{method:'POST',body:fd,credentials:'same-origin'}).then(function(r){return r.json();}).then(function(j){if(j){if(j.success){return true;}}return false;}).catch(function(){return false;});}
function done(id){hide(id+'-wrap');hide(id+'-fb');show(id+'-ok');}
function fail(id,btn,orig){show(id+'-fb');btn.disabled=false;btn.textContent=orig;}
var sf=document.getElementById('bo-support-form');
if(sf){sf.addEventListener('submit',function(e){
e.preventDefault();
var btn=sf.querySelector('button[type=submit]');var orig=btn.textContent;
btn.disabled=true;btn.textContent='Sending…';
var fd=new FormData(sf);fd.append('action','bastion_support_submit');
post(fd).then(function(ok){
if(ok){done('bo-support-form');return;}
var note='[PORTAL SUPPORT REQUEST]'+'n'+'Priority: '+val(sf,'priority')+'n'+'Category: '+val(sf,'category')+'n'+'Subject: '+val(sf,'subject')+'n'+'n'+val(sf,'message');
var fd2=new FormData();
fd2.append('action','bastion_lead_submit');
fd2.append('bo_hp',val(sf,'website'));
fd2.append('fn',val(sf,'name'));
fd2.append('ln','(Client Portal)');
fd2.append('em',val(sf,'email'));
fd2.append('co',val(sf,'company'));
fd2.append('ph','');
fd2.append('iv','Portal Support Request');
fd2.append('nt',note);
post(fd2).then(function(ok2){if(ok2){done('bo-support-form');}else{fail('bo-support-form',btn,orig);}});
});
});}
var lf=document.getElementById('bo-log-form');
if(lf){lf.addEventListener('submit',function(e){
e.preventDefault();
var btn=lf.querySelector('button[type=submit]');var orig=btn.textContent;
btn.disabled=true;btn.textContent='Uploading…';
var fd=new FormData(lf);fd.append('action','bastion_log_upload');
post(fd).then(function(ok){if(ok){done('bo-log-form');}else{fail('bo-log-form',btn,orig);}});
});}
var fi=document.getElementById('bo-logfile');
if(fi){fi.addEventListener('change',function(){var n=document.getElementById('bo-logfile-name');if(n){if(fi.files.length>0){n.textContent=fi.files[0].name;n.style.color='#DEB578';}}});}
var io=new IntersectionObserver(function(es){es.forEach(function(en){if(en.isIntersecting){en.target.classList.add('bo-in');io.unobserve(en.target);}});},{threshold:0.1});
var revs=document.querySelectorAll('.bo-rev');
revs.forEach(function(el){io.observe(el);});
})();