Flow now works

This commit is contained in:
2024-11-17 20:40:50 +01:00
parent 157896d5d7
commit 6ae65e9169
8 changed files with 144 additions and 276 deletions

View File

@@ -1,198 +0,0 @@
{{define "content"}}
<div class="container">
<div class="row">
<div class="col">
<h1 class="pt-4 mt-5 mb-4">Advanced Risk Assessment</h1>
<hr>
<form method="post">
<!-- Geographic Operational Scope -->
<div class="mb-3 question" id="q1">
<label for="geo-scope" class="form-label mt-3">What is your organization's geographic operational scope?</label>
<hr>
<select class="form-select" id="geo-scope" name="GeoScope" required>
<option value="single-country">Single country</option>
<option value="single-region">Multiple countries - Single region</option>
<option value="multiple-regions">Multiple countries - Multiple regions</option>
<option value="global">Global operations</option>
</select>
<small class="form-text text-muted py-3">Determines exposure to different cybersecurity regulations.</small>
</div>
<!-- Customer Base Distribution -->
<div class="mb-3 question" id="q2">
<label for="customer-base" class="form-label mt-3">How would you characterize your customer base distribution?</label>
<hr>
<select class="form-select" id="customer-base" name="CustomerBase" required>
<option value="few-key">Few key clients (1-5)</option>
<option value="moderate">Moderate concentration (6-20)</option>
<option value="diverse">Diverse customer base (20+)</option>
</select>
<small class="form-text text-muted py-3">Assesses potential impact of data breaches.</small>
</div>
<!-- Primary Customer Type -->
<div class="mb-3 question" id="q3">
<label for="customer-type" class="form-label mt-3">What is your primary customer type?</label>
<hr>
<select class="form-select" id="customer-type" name="CustomerType" required>
<option value="b2b">Primarily B2B</option>
<option value="b2c">Primarily B2C</option>
<option value="mixed">Mixed B2B/B2C</option>
</select>
<small class="form-text text-muted py-3">Defines data protection requirements.</small>
</div>
<!-- Product/Service Portfolio -->
<div class="mb-3 question" id="q4">
<label for="product-portfolio" class="form-label mt-3">How diversified is your product/service portfolio?</label>
<hr>
<select class="form-select" id="product-portfolio" name="ProductPortfolio" required>
<option value="single">Single product/service</option>
<option value="2-5">2-5 products/services</option>
<option value="more-than-5">More than 5 products/services</option>
</select>
<small class="form-text text-muted py-3">Indicates the variety of systems requiring protection.</small>
</div>
<!-- Supplier Base Structure -->
<div class="mb-3 question" id="q5">
<label for="supplier-base" class="form-label mt-3">What is your supplier base structure?</label>
<hr>
<select class="form-select" id="supplier-base" name="SupplierBase" required>
<option value="single-critical">Single/few critical suppliers</option>
<option value="moderate">Moderate supplier base</option>
<option value="highly-diverse">Highly diverse supplier base</option>
</select>
<small class="form-text text-muted py-3">Assesses third-party cybersecurity risks.</small>
</div>
<!-- IT Infrastructure Model -->
<div class="mb-3 question" id="q6">
<label class="form-label mt-3">What is your primary IT infrastructure model?</label>
<hr>
<div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="ITInfrastructure" id="it-on-prem" value="on-premises">
<label class="form-check-label" for="it-on-prem">On-premises systems</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="ITInfrastructure" id="it-cloud" value="cloud-based">
<label class="form-check-label" for="it-cloud">Cloud-based systems</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="ITInfrastructure" id="it-hybrid" value="hybrid">
<label class="form-check-label" for="it-hybrid">Hybrid infrastructure</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="ITInfrastructure" id="it-legacy" value="legacy">
<label class="form-check-label" for="it-legacy">Legacy systems</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="ITInfrastructure" id="it-modern" value="modern">
<label class="form-check-label" for="it-modern">Modern architecture</label>
</div>
</div>
<small class="form-text text-muted py-3">Determines specific cybersecurity controls.</small>
</div>
<!-- Intellectual Property Protection -->
<div class="mb-3 question" id="q7">
<label class="form-label mt-3">How does your organization protect and manage intellectual property?</label>
<hr>
<div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="IPProtection" id="ip-patents" value="patents">
<label class="form-check-label" for="ip-patents">Patents owned</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="IPProtection" id="ip-licensed" value="licensed-ip">
<label class="form-check-label" for="ip-licensed">Licensed IP from others</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="IPProtection" id="ip-trade-secrets" value="trade-secrets">
<label class="form-check-label" for="ip-trade-secrets">Trade secrets</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="IPProtection" id="ip-joint" value="joint-ip">
<label class="form-check-label" for="ip-joint">Joint IP ownership</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="IPProtection" id="ip-none" value="no-ip">
<label class="form-check-label" for="ip-none">No significant IP</label>
</div>
</div>
<small class="form-text text-muted py-3">Evaluates cybersecurity needs based on IP ownership.</small>
</div>
<!-- Sensitive Data -->
<div class="mb-3 question" id="q8">
<label class="form-label mt-3">What type of sensitive data does your organization handle?</label>
<hr>
<div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-personal" value="personal">
<label class="form-check-label" for="data-personal">Personal customer data</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-financial" value="financial">
<label class="form-check-label" for="data-financial">Financial records</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-healthcare" value="healthcare">
<label class="form-check-label" for="data-healthcare">Healthcare information</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-ip" value="ip">
<label class="form-check-label" for="data-ip">Intellectual property</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-gov" value="government">
<label class="form-check-label" for="data-gov">Government data</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-payment" value="payment">
<label class="form-check-label" for="data-payment">Payment card data</label>
</div>
</div>
<small class="form-text text-muted py-3">Identifies required compliance frameworks.</small>
</div>
<!-- Critical Business Systems -->
<div class="mb-3 question" id="q9">
<label for="integration-level" class="form-label mt-3">How integrated are your critical business systems?</label>
<hr>
<select class="form-select" id="integration-level" name="IntegrationLevel" required>
<option value="fully-integrated">Fully integrated</option>
<option value="partially-integrated">Partially integrated</option>
<option value="mostly-separate">Mostly separate</option>
<option value="completely-isolated">Completely isolated</option>
</select>
<small class="form-text text-muted py-3">Evaluates potential for cascade failures.</small>
</div>
<!-- Remote Work Policy -->
<div class="mb-3 question" id="q10">
<label for="remote-policy" class="form-label mt-3">What is your organization's remote work policy?</label>
<hr>
<select class="form-select" id="remote-policy" name="RemotePolicy" required>
<option value="no-remote">No remote work allowed</option>
<option value="limited-remote">Limited remote work options</option>
<option value="hybrid">Hybrid work model</option>
<option value="fully-remote">Fully remote operations available</option>
</select>
<small class="form-text text-muted py-3">Determines the scope of remote access security requirements.</small>
</div>
<div class="d-flex justify-content-end mt-4">
<button type="button" class="btn btn-lg btn-outline-secondary me-3" id="back">Back</button>
<button type="submit" class="btn btn-primary btn-lg" id="submit">Next</button>
</div>
</form>
</div>
</div>
</div>
{{end}}
{{define "bottom"}}
<script src="/static/js/formHandling.js"></script>
{{end}}

View File

@@ -2,14 +2,19 @@
<div class="container">
<div class="row">
<div class="col">
<h1 class="pt-4 mt-5 mb-4">Risk Assessment Questions</h1>
<div class="text-center">
<img src="/static/img/steps-line.svg" class="img-fluid mt-3" alt="Steps image">
</div>
<h1 class="pt-4 mb-4">Risk Assessment Questions</h1>
<hr>
<form method="post">
<!-- Organization Name -->
<div class="mb-3 question" id="q0">
<label for="name" class="form-label mt-3">What is the name of your organization?</label>
<hr>
<input type="text" class="form-control" id="name" name="Name" required>
<div class="pb-3">
<input type="text" class="form-control" id="name" name="Name" required>
</div>
<small class="form-text text-muted py-3">Name of the Organization that will appear in the
report.</small>
</div>
@@ -18,8 +23,11 @@
<div class="mb-3 question" id="q1">
<label for="email" class="form-label mt-3">What is your email?</label>
<hr>
<input type="email" class="form-control" id="email" name="Email" required>
<small class="form-text text-muted py-3">Email of the person responsible for using Risklet. Report
<div class="pb-3">
<input type="email" class="form-control" id="email" name="Email" required>
</div>
<small class="form-text text-muted py-3">Email of the person responsible for using Risklet.
Report
and
magic link for login will be sent to this email.</small>
</div>
@@ -28,7 +36,7 @@
<div class="mb-3 question" id="q2">
<label class="form-label mt-3">What is your organization's current employee headcount?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="Employees" id="employees-1-10"
value="1-10" required>
@@ -58,7 +66,7 @@
<div class="mb-3 question" id="q3">
<label class="form-label mt-3">What is your organization's annual revenue range?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="Revenue" id="revenue-under-1m"
value="under-1m" required>
@@ -90,7 +98,7 @@
<label class="form-label mt-3">How many critical business applications do your employees use
daily?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="Applications" id="apps-1-5" value="1-5"
required>
@@ -121,7 +129,7 @@
<label class="form-label mt-3">Which regulatory frameworks is your organization required to comply
with?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="Compliance" id="compliance-gdpr"
value="gdpr">
@@ -216,8 +224,8 @@
<input type="range" class="form-range" id="it-dependency" name="ITDependency" min="1" max="10"
required>
<div class="d-flex justify-content-between">
<span>Not dependent at all</span>
<span>Heavily dependent</span>
<span class="text-muted">Not dependent at all</span>
<span class="text-muted text-end">Heavily dependent</span>
</div>
<small class="form-text text-muted py-3">Measures the potential business impact of IT disruptions
and
@@ -228,7 +236,7 @@
<div class="mb-3 question" id="q8">
<label class="form-label mt-3">What level of sensitive data does your organization process?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="DataSensitivity" id="data-public"
value="public" required>
@@ -265,7 +273,7 @@
<label class="form-label mt-3">What best describes your organization's network infrastructure
model?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="NetworkSegmentation" id="network-flat"
value="flat" required>
@@ -296,7 +304,7 @@
<div class="mb-3 question" id="q10">
<label class="form-label mt-3">What percentage of your workforce operates remotely?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="RemoteWork" id="remote-none" value="none"
required>
@@ -326,7 +334,7 @@
<div class="mb-3 question" id="q11">
<label class="form-label mt-3">How many third-party vendors have access to your systems?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="VendorAccess" id="vendor-none"
value="none" required>
@@ -357,7 +365,7 @@
<label class="form-label mt-3">What is the extent of your internal software development
activities?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="InternalDev" id="dev-none" value="none"
required>
@@ -384,16 +392,37 @@
</div>
<div class="mb-3 question" id="q13">
<label class="form-label mt-3">We have enough information for a basic report. Would you like to
provide more
details ?</label>
<hr>
<div class="text-center">
<div class="text-center pb-3">
<input class="btn btn-warning btn-lg" type="submit" name="HalfSubmit" id="halfsubmit"
value="Generate report with basic data. ">
</div>
</div>
<small class="form-text text-muted py-3">Click Next if you want to provide more details. Each
question is
optional.</small>
</div>
<!-- skip rest if needed -->
<!-- Geographic Operational Scope -->
<div class="mb-3 question" id="q13">
<div class="mb-3 question" id="q14">
<label class="form-label mt-3">What is your organization's geographic operational scope?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="GeoScope" id="geo-single-country"
value="single-country" required>
value="single-country">
<label class="form-check-label" for="geo-single-country">Single country</label>
</div>
<div class="form-check">
@@ -418,13 +447,13 @@
</div>
<div class="mb-3 question" id="q14">
<div class="mb-3 question" id="q15">
<label class="form-label mt-3">How would you characterize your customer base distribution?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="CustomerBase" id="customer-few-key"
value="few-key" required>
value="few-key">
<label class="form-check-label" for="customer-few-key">Few key clients (1-5)</label>
</div>
<div class="form-check">
@@ -444,13 +473,13 @@
<!-- Primary Customer Type -->
<div class="mb-3 question" id="q15">
<div class="mb-3 question" id="q16">
<label class="form-label mt-3">What is your primary customer type?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="CustomerType" id="customer-b2b"
value="b2b" required>
value="b2b">
<label class="form-check-label" for="customer-b2b">Primarily B2B</label>
</div>
<div class="form-check">
@@ -469,13 +498,13 @@
<!-- Product/Service Portfolio -->
<div class="mb-3 question" id="q16">
<div class="mb-3 question" id="q17">
<label class="form-label mt-3">How diversified is your product/service portfolio?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="ProductPortfolio" id="portfolio-single"
value="single" required>
value="single">
<label class="form-check-label" for="portfolio-single">Single product/service</label>
</div>
<div class="form-check">
@@ -495,13 +524,13 @@
</div>
<!-- Supplier Base Structure -->
<div class="mb-3 question" id="q17">
<div class="mb-3 question" id="q18">
<label class="form-label mt-3">What is your supplier base structure?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="SupplierBase"
id="supplier-single-critical" value="single-critical" required>
id="supplier-single-critical" value="single-critical">
<label class="form-check-label" for="supplier-single-critical">Single/few critical
suppliers</label>
</div>
@@ -521,10 +550,10 @@
</div>
<!-- IT Infrastructure Model -->
<div class="mb-3 question" id="q18">
<div class="mb-3 question" id="q19">
<label class="form-label mt-3">What is your primary IT infrastructure model?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="ITInfrastructure" id="it-on-prem"
value="on-premises">
@@ -555,11 +584,11 @@
</div>
<!-- Intellectual Property Protection -->
<div class="mb-3 question" id="q19">
<div class="mb-3 question" id="q20">
<label class="form-label mt-3">How does your organization protect and manage intellectual
property?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="IPProtection" id="ip-patents"
value="patents">
@@ -591,10 +620,10 @@
</div>
<!-- Sensitive Data -->
<div class="mb-3 question" id="q20">
<div class="mb-3 question" id="q21">
<label class="form-label mt-3">What type of sensitive data does your organization handle?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="SensitiveData" id="data-personal"
value="personal">
@@ -626,17 +655,17 @@
<label class="form-check-label" for="data-payment">Payment card data</label>
</div>
</div>
<small class="form-text text-muted py-3">Identifies required compliance frameworks.</small>
<small class="form-text text-muted py-3">Identifies compliance frameworks.</small>
</div>
<!-- Critical Business Systems -->
<div class="mb-3 question" id="q21">
<div class="mb-3 question" id="q22">
<label class="form-label mt-3">How integrated are your critical business systems?</label>
<hr>
<div>
<div class="pb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="IntegrationLevel"
id="integration-fully-integrated" value="fully-integrated" required>
id="integration-fully-integrated" value="fully-integrated">
<label class="form-check-label" for="integration-fully-integrated">Fully integrated</label>
</div>
<div class="form-check">
@@ -660,38 +689,6 @@
<small class="form-text text-muted py-3">Evaluates potential for cascade failures.</small>
</div>
<!-- Remote Work Policy -->
<div class="mb-3 question" id="q22">
<label class="form-label mt-3">What is your organization's remote work policy?</label>
<hr>
<div>
<div class="form-check">
<input class="form-check-input" type="radio" name="RemotePolicy" id="remote-no-remote"
value="no-remote" required>
<label class="form-check-label" for="remote-no-remote">No remote work allowed</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="RemotePolicy" id="remote-limited-remote"
value="limited-remote">
<label class="form-check-label" for="remote-limited-remote">Limited remote work
options</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="RemotePolicy" id="remote-hybrid"
value="hybrid">
<label class="form-check-label" for="remote-hybrid">Hybrid work model</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="RemotePolicy" id="remote-fully-remote"
value="fully-remote">
<label class="form-check-label" for="remote-fully-remote">Fully remote operations
available</label>
</div>
</div>
<small class="form-text text-muted py-3">Determines the scope of remote access security
requirements.</small>
</div>
<div class="d-flex justify-content-end mt-4">
<button type="button" class="btn btn-lg btn-outline-secondary me-3" id="back">Back</button>
<button type="submit" class="btn btn-primary btn-lg" id="submit">Next</button>

View File

@@ -0,0 +1,13 @@
{{define "content"}}
<div class="container">
<div class="row">
<div class="col">
<h1 class="pt-4 mt-5 mb-4">Thank you</h1>
</div>
</div>
</div>
{{end}}
{{define "bottom"}}
<script src="/static/js/formHandling.js"></script>
{{end}}