diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index d2e9fb7..0000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# Changelog for STIX Bundle Generator (index.html)
-
-All notable changes to the `index.html` artifact (`artifact_id="f8b52830-61e7-4dcd-b9f3-809e7d8ff123"`) are documented in this file. Versions are listed in descending order, with the latest version at the top.
-
-## Version 8b9f7a2c-5e3d-4f1a-9c2b-3f4e5d6f7890 - 2025-05-19 20:53 CEST
-- **Added**: New attributes to `x509-certificate` SCO: `issuer`, `subject`, `serial_number`, `validity_not_before`, and `validity_not_after`, with text input fields in `scoConfig`.
-- **Added**: `SHA-256` to `hashTypes` array, available for `x509-certificate` and `file` hash inputs.
-- **Updated**: `generateBundle` to include new `x509-certificate` attributes in the SCO object within `observed-data.objects`.
-- **Updated**: `handleBundleImport` to process new `x509-certificate` attributes as strings.
-- **Meta**: Updated ` ` to `f7e5c3b4-0a6f-4d2b-8e1c-9b7a6d5e4f0a`.
-- **Notes**: Preserved `goals` for `threat-actor`, relationship constraints, SCO nesting, and all other functionality.
-
-## [Stable] Version 92386760-6add-4294-bbdf-4b3b40b4fe62 - 2025-05-19 20:25 CEST
-- **Fixed**: Corrected syntax error in `generateBundle` function, changing `if (key.includes('.' yok))` to `if (key.includes('.'))`, resolving the "Script error." runtime issue.
-- **Meta**: Updated ` ` to `e6f4c2b3-9d5e-4c3a-8f1d-9a8b7c6d5e0f`.
-- **Notes**: Marked as stable. Preserved all functionality, including `goals` for `threat-actor`, relationship constraints, and SCO nesting.
-
-## Version 7bda4770-1c15-4f92-9978-155f7e71fa11 - 2025-05-19 20:21 CEST
-- **Added**: `goals` property to `threat-actor` SDO, with a text input for comma-separated values (e.g., `Financial Gain, Espionage`) in `sdoConfig`.
-- **Updated**: `generateBundle` to process `goals` as a list of strings for `threat-actor`.
-- **Updated**: `handleBundleImport` to join `goals` as a comma-separated string for `threat-actor` imports.
-- **Meta**: Updated ` ` to `d5e3b1a2-8c4f-4d3b-9e2c-7f8a6b5c4d0e`.
-- **Notes**: Ensured STIX 2.1 compliance for `goals` and preserved relationship constraints and SCO nesting.
-
-## Version 1301525f-336a-47eb-81a0-9f95f3a4756c - 2025-05-19 20:11 CEST
-- **Added**: Relationship constraints based on provided JSON, restricting source SDOs (`indicator`, `malware`, etc.), target SDOs, and relationship types (`attributed-to`, `indicates`, `related-to`).
-- **Updated**: Source Object `` to show only eight allowed SDOs.
-- **Updated**: Target Object `` to filter based on source’s `allowed_targets`.
-- **Updated**: Relationship Type `` to filter based on source and target constraints.
-- **Updated**: `saveRelationship` to validate relationships, showing alerts for invalid combinations.
-- **Meta**: Updated ` ` to `c4f9b2a1-7d3e-4b2a-9c1d-8e7f6a5b3c4f`.
-- **Notes**: Enhanced UI to disable invalid selections and preserved SCO nesting and import validation.
-
-## Version da3a23b9-119b-460a-acc5-40ef8fd13739 - 2025-05-19 19:49 CEST
-- **Fixed**: Enabled `observed-data` selection in relationship dropdowns by creating `observed-data` SDOs for SCOs in `saveObject`.
-- **Updated**: `saveObject` to store `observed-data` wrappers in `createdObjects` with nested SCOs.
-- **Updated**: `generateBundle` to use `observed-data` SDOs from `createdObjects`.
-- **Updated**: Relationship `` to include `observed-data` (removed exclusion filter).
-- **Meta**: Updated ` ` to `b4e2c1f7-9a3d-4e8b-a2c9-fd7a6e5b3c4f`.
-- **Notes**: Supported relationships like `indicator` → `indicates` → `observed-data` and maintained STIX 2.1 compliance.
-
-## Version da7f8258-086e-45fe-9d8a-e581563447a0 - 2025-05-16 15:22 CEST
-- **Fixed**: Removed `observed-data` from relationship dropdowns (Source/Target Object ``) to prevent its use as a relationship object, as it was incorrectly included.
-- **Meta**: Updated ` ` to `7a9c3b2e-8f4d-4c2a-b3e1-5f6e7d8f9a0b`.
-- **Notes**: Assumed `observed-data` was only a SCO container, later corrected to allow relationships. Preserved SCO nesting and other functionality.
-
-## Version d3df6462-c36e-424a-bf19-d63ccfb6634a - 2025-05-16 14:03 CEST
-- **Fixed**: Ensured `number_observed` in `observed-data` is an integer ≥ 1 (default `1`), preventing `null` values.
-- **Fixed**: Removed `id` and `spec_version` from SCOs nested in `observed-data.objects`, per STIX 2.1 requirements.
-- **Updated**: `generateBundle` to enforce these constraints.
-- **Updated**: `handleBundleImport` to validate `number_observed` and SCO properties during import.
-- **Meta**: Updated ` ` to `9e6a7b8c-2d3e-4f1a-9c2b-3f4e5d6f7890`.
-- **Notes**: Strengthened STIX 2.1 compliance for SCO nesting and `observed-data` properties.
-
-## Version e03a3cd9-5948-444a-aac3-fe2ae2e6be07 - 2025-05-16 14:03 CEST
-- **Added**: SCO nesting in `observed-data` SDOs, ensuring no top-level SCOs in the bundle.
-- **Added**: Auto-wrapping of SCOs in `observed-data` with `first_observed`, `last_observed`, and `number_observed`.
-- **Added**: SCO-to-SCO relationships via references (e.g., `contains_ref`, `creator_user_ref`) in SCO properties.
-- **Updated**: `generateBundle` to wrap SCOs in `observed-data` and restrict top-level objects to SDOs and relationships.
-- **Updated**: `saveRelationship` to allow only SDO-to-SDO relationships, using references for SCOs.
-- **Updated**: `handleBundleImport` to reject bundles with top-level SCOs.
-- **Updated**: UI with a note indicating SCOs are wrapped in `observed-data`.
-- **Meta**: Updated ` ` to `9e6a7b8c-2d3e-4f1a-9c2b-3f4e5d6f7890`.
-- **Notes**: Consolidated to a single Builder interface, removed SCO Builder tab, and preserved `optgroup` labels.
-
-## Version 380d42b4-f491-4f8b-b825-df384aafdc08 - 2025-05-16 (Time not specified)
-- **Initial Version**: Implemented the STIX Bundle Generator as a single-page React application.
-- **Features**:
- - Supported creation of 20 SCO types and 18 SDO types with dynamic input fields.
- - Included `optgroup` labels ("Cyber Object Types", "Domain Object Types") in object type ``.
- - Enabled SDO-to-SDO relationship creation with basic validation.
- - Supported bundle generation, download, and import with a modal interface.
- - Used Tailwind CSS for styling and Babel for JSX transpilation.
-- **Meta**: ` ` set to `380d42b4-f491-4f8b-b825-df384aafdc08`.
-- **Notes**: Initial implementation lacked SCO nesting constraints and advanced relationship validation. Specific timestamp not provided in history.
-
----
-
-**Notes**:
-- All versions maintain STIX 2.1 compliance, with progressive enhancements to enforce SCO nesting, relationship constraints, and property validation.
-- Timestamps are based on the provided conversation history, with the earliest version lacking a specific time.
-- The changelog assumes all listed `artifact_version_id` values from the history are included; if earlier versions exist, they were not provided.
-- For further details on any version, refer to the corresponding `index.html` artifact.
\ No newline at end of file
diff --git a/CNAME b/CNAME
deleted file mode 100644
index 9d78e48..0000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-stix-generator.gurra.rocks
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index be80c0d..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2025 Gustav Alerby
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
deleted file mode 100644
index 92f8d01..0000000
--- a/README.md
+++ /dev/null
@@ -1,160 +0,0 @@
-# STIX Bundle Generator
-
-
-
-The STIX Bundle Generator is a web-based application for creating, importing, editing, and exporting STIX 2.1 bundles containing STIX Cyber-observable Objects (SCOs). Built with React and Tailwind CSS, it provides a user-friendly interface for cybersecurity professionals to manage threat intelligence data in the Structured Threat Information Expression (STIX) format.
-
-## Table of Contents
-- [Purpose](#purpose)
-- [Features](#features)
-- [Installation](#installation)
-- [Usage](#usage)
-- [Contributing](#contributing)
-- [License](#license)
-- [Acknowledgments](#acknowledgments)
-
-## Purpose
-The STIX Bundle Generator simplifies the process of working with STIX 2.1 bundles, enabling users to:
-- Create SCOs (e.g., `email-addr`, `network-traffic`, `file`) with customizable fields.
-- Import existing STIX bundles to view and edit SCOs.
-- Export bundles for use in threat intelligence platforms.
-- Visualize and manage SCOs through an intuitive interface.
-
-This tool is ideal for threat analysts, incident responders, and developers building STIX-compatible applications.
-
-## Features
-- **Supported SCO Types**: 20 STIX 2.1 SCO types, including `artifact`, `autonomous-system`, `domain-name`, `email-addr`, `email-message`, `file`, `ipv4-addr`, `ipv6-addr`, `network-traffic`, `user-account`, `x509-certificate`, and more.
-- **Interactive UI**:
- - Clickable SCO chips for editing, with single-line inputs for primary and additional fields.
- - Aggregated SCO display (e.g., `user-account (2)` for multiple `user-account` SCOs).
- - Modal-based JSON import with a single "Import" button.
-- **Bundle Management**:
- - Generate STIX 2.1 bundles with unique IDs and timestamps.
- - Download bundles as JSON files.
- - Copy bundle JSON to clipboard.
- - Clear all SCOs with a single button.
-- **Customizable Fields**:
- - Primary fields (e.g., `value` for `email-addr`, `protocols` for `network-traffic`) with single-value submission.
- - Additional fields (e.g., `rir`, `is_multipart`, `src_ref`, `dst_ref`) with text, number, or checkbox inputs.
- - Special handling for `x509-certificate` hashes (MD5, SHA-1, SHA-256, SHA-512).
-- **Accessibility**: Non-selectable "Select SCO Type" placeholder and ARIA labels for buttons.
-- **Styling**: Responsive design using Tailwind CSS.
-- **Limitations** (current version):
- - May produce duplicate `email-addr`, `ipv4-addr`, `ipv6-addr` SCOs during import.
- - `from_ref`, `src_ref`, `dst_ref` display IDs (e.g., `email-addr--55555555-...`) instead of resolved values.
- - Potential runtime errors (`openModal`, `downloadBundle`) due to direct `onClick` handlers.
-
-## Installation
-The STIX Bundle Generator is a single-page web application that runs in the browser, requiring no server-side setup.
-
-### Prerequisites
-- A modern web browser (e.g., Chrome, Firefox, Edge).
-- No additional software or dependencies are required, as all libraries are loaded via CDN.
-
-### Steps
-1. **Clone or Download**:
- ```bash
- git clone https://github.com/your-username/stix-bundle-generator.git
- ```
- Alternatively, download the `index.html` file from the repository.
-
-2. **Open in Browser**:
- - Open `index.html` directly in a web browser (e.g., double-click the file or use `file://` protocol).
- - No local server is required, as the app uses CDN-hosted dependencies (React 18.2.0, ReactDOM 18.2.0, Babel Standalone 7.22.9, Tailwind CSS).
-
-3. **Optional: Serve Locally** (for development):
- - Use a local server to avoid CORS issues with file-based access:
- ```bash
- npx http-server
- ```
- - Navigate to `http://localhost:8080/index.html`.
-
-## Usage
-1. **Launch the Application**:
- - Open `index.html` in your browser.
- - The interface displays a "Select SCO Type" dropdown and an "Import" button.
-
-2. **Create an SCO**:
- - Select an SCO type (e.g., `user-account`).
- - Enter the primary field value (e.g., `account_login: user1`) in the single-line input.
- - Fill in additional fields (e.g., `user_id`, `account_type`) if applicable.
- - Click "Add SCO" to add the SCO to "Added SCOs".
- - Repeat to add multiple SCOs; chips show aggregated counts (e.g., `user-account (2)`).
-
-3. **Edit an SCO**:
- - Click a chip in "Added SCOs" (e.g., `user-account (2)`) to edit the last SCO of that type.
- - Update fields and click "Update SCO" or "Cancel".
-
-4. **Remove an SCO**:
- - Click the `×` button on a chip to remove the last SCO of that type.
-
-5. **Import a Bundle**:
- - Click "Import", paste a STIX 2.1 bundle JSON, and click "Submit".
- - SCOs appear as chips in "Added SCOs" (note: duplicates may occur).
-
-6. **Generate and Export**:
- - Click "Generate STIX Bundle" to create a bundle.
- - Use "Download JSON" to save as `stix_bundle.json` or "Copy to Clipboard" to copy the JSON.
- - Click "Clear All SCOs" to reset.
-
-### Example Bundle
-```json
-{
- "type": "bundle",
- "id": "bundle--11111111-1111-1111-1111-111111111111",
- "objects": [
- {
- "type": "email-addr",
- "id": "email-addr--55555555-aaaa-5555-aaaa-555555555555",
- "spec_version": "2.1",
- "value": "user@example.com"
- },
- {
- "type": "email-message",
- "id": "email-message--66666666-aaaa-6666-aaaa-666666666666",
- "spec_version": "2.1",
- "is_multipart": false,
- "date": "2023-01-01T12:34:56Z",
- "from_ref": "email-addr--55555555-aaaa-5555-aaaa-555555555555",
- "subject": "Test Email"
- }
- ]
-}
-```
-
-## Contributing
-Contributions are welcome! To contribute:
-1. **Fork the Repository**:
- ```bash
- git fork https://github.com/your-username/stix-bundle-generator.git
- ```
-2. **Create a Branch**:
- ```bash
- git checkout -b feature/your-feature
- ```
-3. **Make Changes**:
- - Address known issues (e.g., duplicate SCOs, unresolved `from_ref`/`src_ref`/`dst_ref`, runtime errors).
- - Add features (e.g., email/IP validation, confirmation for "Clear All SCOs").
- - Update `CHANGELOG.md` with your changes.
-4. **Test Locally**:
- - Ensure `index.html` runs without errors.
- - Test with sample bundles.
-5. **Submit a Pull Request**:
- - Push your branch and create a PR with a clear description of changes.
- - Reference relevant issues or artifact versions.
-
-### Known Issues
-- Duplicate `email-addr`, `ipv4-addr`, `ipv6-addr` SCOs during import.
-- `from_ref`, `src_ref`, `dst_ref` display IDs instead of values.
-- Potential runtime errors (`openModal`, `downloadBundle`) due to direct `onClick` handlers.
-
-## License
-This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
-
-## Acknowledgments
-- Created by Grok, narrated by gbyx3.
-- Built with [React](https://reactjs.org/), [Tailwind CSS](https://tailwindcss.com/), and [Babel](https://babeljs.io/).
-- Inspired by the need for accessible STIX 2.1 tools in cybersecurity.
-
----
-*Last Updated: May 13, 2025*
\ No newline at end of file
diff --git a/bundles/stix_bundle_bundle--4ea55bac-1713-42d6-b837-636097e71d6d.json b/bundles/stix_bundle_bundle--4ea55bac-1713-42d6-b837-636097e71d6d.json
new file mode 100644
index 0000000..ea6fcac
--- /dev/null
+++ b/bundles/stix_bundle_bundle--4ea55bac-1713-42d6-b837-636097e71d6d.json
@@ -0,0 +1,32 @@
+{
+ "type": "bundle",
+ "id": "bundle--4ea55bac-1713-42d6-b837-636097e71d6d",
+ "objects": [
+ {
+ "type": "indicator",
+ "id": "indicator--7ffb8cdc-efa5-47b5-9a09-6be37a614fa0",
+ "spec_version": "2.1",
+ "created": "2025-06-14T12:24:06.780Z",
+ "modified": "2025-06-14T12:24:06.780Z",
+ "pattern": "IP = \"214.5.6.14\"",
+ "labels": [
+ "C2"
+ ],
+ "valid_from": "2025-06-14T12:24:06.780Z",
+ "description": "Mythic"
+ },
+ {
+ "type": "indicator",
+ "id": "indicator--8305e123-d956-4f7a-b82e-d3df4d759da9",
+ "spec_version": "2.1",
+ "created": "2025-06-14T12:25:05.324Z",
+ "modified": "2025-06-14T12:25:05.324Z",
+ "pattern": "IP = \"40.14.5.13\"",
+ "labels": [
+ "C2"
+ ],
+ "valid_from": "2025-06-14T12:25:05.324Z",
+ "description": "Emotet"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/index.html b/index.html
index ea2318e..d73fb22 100644
--- a/index.html
+++ b/index.html
@@ -1,1343 +1,872 @@
-
-
-
- STIX Bundle Generator
-
-
-
-
-
-
-
-
+ // Flush
+ function clearObjects() {
+ currentObjects = [];
+ currentRelationships = [];
+ currentBundle = null;
+
+ updateObjectsList();
+ updateRelationshipsList();
+ updateObjectSelectors();
+ updateBundleDisplay();
+
+ document.getElementById('validateBtn').disabled = true;
+ document.getElementById('saveBundleBtn').disabled = true;
+ document.getElementById('bundleValidation').innerHTML = '';
+
+ showMessage('All objects and relationships cleared');
+ }
+
-
+