Object containing CIA options, ROI estimates, and utility functions
// Basic usage - accessing security level options
function SecurityLevelSelector() {
const { availabilityOptions } = useCIAOptions();
const [selected, setSelected] = useState<SecurityLevel>('Moderate');
return (
<select value={selected} onChange={(e) => setSelected(e.target.value as SecurityLevel)}>
{Object.entries(availabilityOptions).map(([level, details]) => (
<option key={level} value={level}>
{level} - {details.description} (CAPEX: ${details.capex}, OPEX: ${details.opex})
</option>
))}
</select>
);
}
// Advanced usage - calculating ROI
function ROICalculator() {
const {
getCombinedROIKey,
getROIDataForCombinedKey
} = useCIAOptions();
const [levels, setLevels] = useState({
confidentiality: 'High' as SecurityLevel,
integrity: 'Very High' as SecurityLevel,
availability: 'Moderate' as SecurityLevel
});
const roiKey = getCombinedROIKey(
levels.confidentiality,
levels.integrity,
levels.availability
);
const roiData = getROIDataForCombinedKey(roiKey);
return (
<div>
<h3>ROI Analysis</h3>
<p>Return Rate: {roiData.returnRate}</p>
<p>Recommendation: {roiData.recommendation}</p>
<p>{roiData.description}</p>
</div>
);
}
// Cost comparison across security levels
function CostComparison() {
const { availabilityOptions, integrityOptions, confidentialityOptions } = useCIAOptions();
const calculateTotalCost = (level: SecurityLevel) => {
const availCost = (availabilityOptions[level]?.capex || 0) + (availabilityOptions[level]?.opex || 0);
const integrityCost = (integrityOptions[level]?.capex || 0) + (integrityOptions[level]?.opex || 0);
const confCost = (confidentialityOptions[level]?.capex || 0) + (confidentialityOptions[level]?.opex || 0);
return availCost + integrityCost + confCost;
};
return (
<table>
<thead>
<tr><th>Level</th><th>Total Cost</th></tr>
</thead>
<tbody>
{(['None', 'Low', 'Moderate', 'High', 'Very High'] as SecurityLevel[]).map(level => (
<tr key={level}>
<td>{level}</td>
<td>${calculateTotalCost(level).toLocaleString()}</td>
</tr>
))}
</tbody>
</table>
);
}
Custom hook for accessing CIA security level options and ROI estimates
Provides comprehensive access to security level configurations including availability, integrity, and confidentiality options with associated costs, descriptions, and ROI estimates. This hook is essential for building security configuration interfaces and cost calculators.
Features
Usage Guidelines