Getting Started
What is Sylure?
Sylure is an uploads-first privacy operations platform that helps organisations discover shadow personal data hiding in file exports, spreadsheets, PDFs, and email archives. Upload a ZIP bundle and within minutes you receive a full personal data inventory complete with risk scoring, exposure mapping, and DSAR discovery capabilities.
Built for DPOs, privacy teams, CISOs, compliance consultants, and MSPs working under UK GDPR and EU GDPR, Sylure is SaaS-delivered with no self-hosting or infrastructure to manage.
Upload & Scan
Package your exports into a ZIP and let the detection engine find personal data across 11 types.
Discovery (DSAR)
Locate a data subject’s personal data across all uploads and export evidence bundles.
Security & Trust
HMAC hashing, ClamAV scanning, org-level isolation, and full audit trail.
Analytics & Reports
Risk dashboards, AI executive summaries, and stakeholder-ready exports.
How Sylure Works
The platform follows a ten-step pipeline from file preparation through to deletion.
- Prepare — Package your files (exports from CRM, payroll, support tickets, etc.) into a
.zipbundle. - Upload — Drag-and-drop or click to upload via the Sources page. Uploads are integrity-verified (SHA-256 hash computed client-side) and transferred using resumable multipart upload (32 MB chunks).
- Validate — Sylure validates the ZIP structure: magic bytes (PK signature), 3 GB compressed limit, 20 GB uncompressed limit, ZIP bomb guards, 100,000 file cap.
- Security Scan — Every bundle passes through ClamAV antivirus scanning before any content is processed.
- Scan — The detection engine extracts text from supported formats, then runs regex-based and contextual detection for 11 personal data types across 5 GDPR categories. Identity values are hashed with HMAC-SHA256 — raw values are never stored.
- Analyse — Risk scores are computed per-asset using sensitivity weights, combination bonuses, diversity bonuses, and volume scaling. Pre-computed analytics summaries are materialised for fast dashboard rendering.
- Review — Use the Dashboard, Analytics, and Exposures pages to understand your risk profile.
- Discover — Use the Discovery Tool (DSAR Search) to locate a data subject's personal data across all scanned uploads, export evidence bundles, and optionally generate AI-drafted responses.
- Report — Generate stakeholder-ready reports with optional AI executive summaries.
- Delete — Control retention with soft-delete (grace period) or hard purge (immediate), plus S3 lifecycle backstop.
Quick Start Checklist
- Log in at
app.sylure.com(you'll receive credentials from your Admin). - If first login, you’ll be prompted to change your password.
- Sources (sidebar) — upload your first ZIP bundle.
- Wait for the scan pipeline to complete (you can close the browser — it runs asynchronously).
- Dashboard — check the risk overview.
- Exposures — drill into individual findings.
- Discovery Tool — search for a specific data subject.
- Analytics — view detailed reports.
Term Glossary
Key terms used throughout Sylure. Understanding these concepts will help you navigate the platform and interpret results effectively.
| Term | Definition |
|---|---|
| Upload / Bundle | A ZIP archive containing files to be scanned. Each upload is tracked through a full lifecycle: PENDING → RECEIVED → VALIDATING → SECURITY_SCANNING → SCANNING → COMPLETED. |
| Asset | An individual file within an upload (e.g. a CSV, PDF, or XLSX). Each asset gets its own finding and identity hits. |
| Source | The origin system or connector the asset came from. In the current version, all sources are of kind upload. |
| Finding | A detected personal data exposure within an asset. Contains risk level, masked evidence, and the types of personal data found. Findings can be active, superseded, or resolved_removed. |
| Identity Hit | A normalised, hashed identifier (email, phone, name, etc.) linked to a specific asset. Used for DSAR Discovery lookups. Raw values are never stored — only HMAC-SHA256 hashes. |
| Identity Override | An admin-applied status on an identity hit — either ACTIVE (default) or IGNORED (suppressed as false positive). |
| Personal Data Category | Sylure groups detected data into five GDPR-aligned categories: Contact details, Identity, Address & location, Financial identifiers, and Government identifiers. |
| Risk Band | A calculated risk level for a finding or asset: high, medium, or low. Driven by sensitivity, combination bonuses, and volume context. |
| Risk Score | A numeric score from 0–100 computed from sensitivity weights, combination bonuses, diversity bonuses, and volume scaling. |
| Exposure | How the data was shared or accessible. Values include: public_link, org_wide, channel_public, channel_private, bucket_public_acl, team_only, unknown. |
| Discovery Tool (DSAR Search) | The search interface for locating a data subject’s personal data across all scanned uploads. Supports searching by email, phone, name, postcode, address, DOB, IBAN, NINO, bank details, and card number. |
| DSAR Bundle | An exported package of discovery results (Excel or JSON) containing all matched identity hits, evidence snippets, and asset locations for a data subject. |
| AI Draft | An AI-generated response draft for DSAR fulfilment, based on the discovery results. Generated by Claude (Anthropic) with aggregate-only data — no raw personal data is sent to the AI. |
| AI Executive Summary | An AI-generated narrative summary of your risk profile for stakeholder reports. Uses aggregate metrics only. |
| Soft Delete | Scheduling an upload for deletion after a configurable grace period (default 7 days). The upload is excluded from views but data remains recoverable during the grace period. |
| Hard Purge | Immediate, irreversible deletion of an upload and all its derived outputs (findings, identity hits, analytics, cached AI explainers). |
| Derived Outputs | All data Sylure creates from scanning: findings, identity hits, analytics summaries, cached AI explanations. Original files are never modified. |
| Audit Log | A tamper-evident record of all significant actions: authentication events, exports, raw bundle access, member/role changes, upload lifecycle events. Exportable as Excel. |
| Organisation / Workspace | The top-level tenant. All data is scoped to an organisation. Each organisation has its own users, uploads, quotas, and billing cycle. |
| Billing Cycle | Anniversary-based monthly cycle anchored to your organisation’s creation date. Quotas (upload GB, DSAR exports, AI features) reset at the start of each cycle. |
| Evidence Masking | All evidence snippets shown in the UI and exports are masked by default (e.g. j***@example.com, 07*** ***456). Raw values are never displayed. |
| Scan Job | The background job that processes an upload through the scan pipeline. Tracks status, progress, heartbeat, and timing metrics. |
| Upload Analytics Summary | A pre-computed summary per upload containing total hits, risk scores, personal data composition, file type breakdown, top assets, and daily hit counts. Avoids expensive real-time aggregation. |
Supported Personal Data Types
Detection Categories
Sylure detects 11 personal data types, grouped into 5 GDPR-aligned categories. Each type has its own regex patterns, contextual heuristics, and normalisation rules.
Contact details
- Email address — Full email addresses. Role mailboxes (noreply@, admin@, support@, etc.) and known ESP/transactional domains are filtered out. Bad TLDs (localhost, internal, test) are excluded.
- Telephone number — UK and EU phone numbers. Validated using
libphonenumber-js. Supports formats with/without country code, with spaces, dashes, parentheses. Default region: GB, with fallback to 16 EU regions.
Identity
- Full name — Detected using contextual header matching (columns labelled "name", "full name", "employee name", "customer name", etc.) and pattern-based extraction.
- Date of birth — Detected via header context (DOB, date of birth, birth date, born, etc.) and date pattern matching.
Address & location
- Postcode — UK postcodes validated against a comprehensive outward district lookup table. Requires header context or structural proximity to reduce false positives.
- Postal address — UK addresses detected using a term dictionary (road, street, avenue, close, etc.) combined with structural patterns.
Financial identifiers
- IBAN — International Bank Account Numbers. Validated with checksum verification.
- Bank account details — UK sort code + account number pairs. Detected as pairs with header context.
- Payment card number — Credit/debit card numbers. Validated with Luhn algorithm.
- Card expiry — Card expiry dates detected alongside card numbers.
Government identifiers
- National Insurance number — UK NINOs matching the standard format (two letters, six digits, one letter). Header context required.
How Detection Works
The detection engine processes each file through a multi-stage pipeline that combines pattern matching with contextual analysis.
- Text is extracted from each file using format-specific extractors.
- Multiple regex patterns and contextual heuristics are applied simultaneously.
- Header/column labels provide context to reduce false positives (e.g. a column labelled "DOB" boosts date-of-birth detection confidence).
- Detected values are normalised (lowercased emails, E.164 phone numbers, uppercase postcodes, etc.).
- Values are hashed using HMAC-SHA256 with a per-installation secret key — raw values are never persisted.
- Evidence snippets are generated with automatic masking.
Risk Sensitivity Weights
Each personal data type carries a sensitivity weight that reflects its GDPR significance. Higher weights drive higher risk scores.
| Risk tier | Types | Weight |
|---|---|---|
| High risk | IBAN (3.2), NINO (3.5), Bank account details (4.2), Payment card (4.2) | ≥ 3.0 |
| Medium risk | Email (1.7), Phone (1.7), Postcode (1.7), Address (2.0), Date of birth (2.5) | 1.7–2.5 |
| Low risk | Full name (1.0) | 1.0 |
Risk Scoring Formula
Risk scores are computed using a deterministic formula that accounts for sensitivity, data combinations, and volume.
- Base sensitivity — The highest sensitivity weight among all personal data types present.
- Combination bonuses — Financial + Identity = +1.5; Financial + Contact = +1.0; Identity + Contact = +0.5.
- Diversity bonus — 3+ distinct types = +0.5; 5+ distinct types = +0.5.
- Volume context — Scales from 0.9× (under 10 items) to 3.0× (1M+ items).
- Final score —
(base + combos + diversity) × volume_context, clamped to max 7.0. - Banding — Score ≥ 7 = high; Score ≥ 3 = medium; else low. Exception: if financial or government data is present, minimum band is medium.
- Normalised score — Mapped to 0–100 scale (max combined = 7 × 3.0 = 21).
Supported File Formats
Sylure supports the following file formats for text extraction and personal data detection.
| Extension | Type | Notes |
|---|---|---|
.csv | Delimited text | Comma, tab, pipe separated |
.txt | Plain text | General text files, logs |
.json | JSON | Structured data exports |
.log | Log files | Server/application logs |
.html | HTML | Web page exports |
.xml | XML | Structured markup |
.eml | Individual email messages | |
.pdf | PDF documents | Text extraction (not OCR for scanned images) |
.docx | Word documents | Microsoft Word (Office Open XML) |
.xlsx | Excel spreadsheets | Microsoft Excel (Office Open XML) |
Upload Constraints
- Maximum ZIP size: 3 GB (compressed).
- Maximum uncompressed size: 20 GB (guards against ZIP bombs).
- Maximum files processed per ZIP: 100,000.
- ZIP must have valid PK magic bytes (
PK\\x03\\x04orPK\\x05\\x06). - Files not matching supported extensions are skipped silently.
- Password-protected or corrupt files are skipped with warnings (scan completes as
COMPLETED_WITH_WARNINGS).
Upload & Scan Pipeline
Every bundle uploaded to Sylure passes through a multi-stage pipeline that validates, scans for malware, detects personal data, and materialises analytics summaries. The pipeline runs asynchronously — you can close the browser after upload.
Preparing Your Bundle
Collect exports from your systems and package them into a single ZIP file. The internal folder structure is preserved and used as the asset path in Sylure.
- Collect exports from your systems (CRM, payroll, support, finance, etc.).
- Package them into a single
.zipfile. - Realistic examples:
salesforce_contacts_export_2025-10-04.csv,payroll_extract_Q3_2025.xlsx,zendesk_tickets_2025-09.json,supplier_invoices_Oct_2025.pdf. - The internal folder structure is preserved and used as the asset path.
Upload Process
- Drag-and-drop or click-to-select on the Sources page.
- Client computes SHA-256 hash of the file before upload (integrity verification).
- Resumable multipart transfer (32 MB chunks) — if connection drops, it can resume.
- Pipeline steps shown in UI:
Hashing→Registering→Transferring→Queuing. - After upload, the scan is queued automatically — you can close the browser.
Scan Pipeline Stages
| Status | Description |
|---|---|
PENDING | Upload record created, waiting for file data. |
RECEIVED | ZIP stored in S3 (eu-west-2 region). |
VALIDATING | ZIP structure checks: magic bytes, size limits, ZIP bomb guards. |
SECURITY_SCANNING | ClamAV antivirus scan on the raw bundle. |
SCANNING | Core detection: extract text, run detection, compute hashes, create findings and identity hits, materialise analytics. |
COMPLETED | Scan finished successfully, all data available. |
COMPLETED_WITH_WARNINGS | Scan finished but some files were skipped (corrupt, password-protected, unsupported). |
Failure states:
| Status | Description |
|---|---|
FAILED_VALIDATION | ZIP failed structure/size checks. |
FAILED_SECURITY | Antivirus detected a threat. |
FAILED_SCANNING | Detection engine error. |
FAILED_ANALYTICS | Scan completed but analytics summary computation failed. |
EXPIRED | Upload was prepared but not completed within 24 hours. |
Scan Concurrency & Performance
- ZIP entries are processed with configurable concurrency (default 8 parallel).
- Database writes are batched with configurable concurrency (default 8).
- Progress is flushed every 5 seconds with heartbeat every 15 seconds.
- Scan job tracks stage (DOWNLOADING / VALIDATING / SCANNING / MATERIALIZING), bytes downloaded, metrics counters, and timing breakdowns.
Retry Failed Scans
Admin users can retry failed scans from the upload detail page. The system creates a new scan job for the existing upload, and only one scan job per upload runs at a time.
Monthly Upload Quota
Each organisation has a monthly upload quota measured in GB. Quota is tracked using a reservation system: bytes are reserved when upload starts, settled on completion, and released on failure. Quota resets on the billing cycle anniversary.
- Quota usage is displayed on the Sources page with a progress bar.
- Tiers: Starter/Partner = 10 GB/month; Professional = 50 GB/month; Enterprise = unlimited.
Dashboard & Overview
Dashboard Page /overview
The Dashboard provides a high-level risk overview for the organisation. It surfaces the most critical findings and gives you an at-a-glance understanding of your personal data exposure.
- Attention Queue: Top 5 high-risk findings with asset details, file path, and personal data types.
- Filters: Time range (7 days, 30 days, all time) and upload scope (specific upload or all).
- Risk tiles: Total findings, high/medium/low breakdown, risk mix percentages.
- AI Explainer: Optional AI-generated insight explaining the dashboard metrics.
Analytics Component
The dashboard fetches analytics data via API endpoints, all scoped to the user's organisation (multi-tenant isolation):
/api/analytics/risk-summary/api/analytics/pii-composition/api/analytics/top-assets/api/analytics/pii-by-asset/api/analytics/pii-high-risk-by-type/api/analytics/monthly-delta/api/analytics/uploads-summary
Analytics & Reports
Analytics Page /analytics
The Analytics page provides detailed reporting with charts and data tables. Use it to build a comprehensive picture of your organisation's personal data landscape.
- Filters: Time range (7d, 30d, all) and upload scope.
- Risk summary tiles (overall risk score 0–100, risk label, total exposed personal data, high-sensitivity exposures, assets with personal data).
- Personal data composition chart (breakdown by type).
- Personal data by type with risk breakdown (how many of each type appear in high/medium/low risk assets).
- Top risky assets list (asset name, total hits, highest risk, personal data types present).
- File type breakdown (which extensions contain the most personal data).
AI Executive Summary
Generate a stakeholder-ready narrative summary of your risk profile. The AI receives only aggregate metrics — no raw personal data, no file contents, no identity values.
- Sends only aggregate-only data to the AI.
- Rate limited at the workspace level (monthly quota, depends on tier).
- Viewers can view existing summaries but cannot generate new ones.
- Downloadable as part of the report.
Report Export
Reports can be exported as HTML and include risk profile, personal data distribution, top risky assets, and upload/time filters.
Exposures
Exposures Page /exposures
The Exposures page lists all detected findings (personal data exposures) across all scanned uploads. Use it to triage and track the resolution of individual findings.
/forbidden.- Cursor-based pagination (15 items per page) for performance with large datasets.
- Filters: Search by file path, risk band (high/medium/low/all), status (active/resolved/all), upload scope.
- Each row shows: file path, personal data types found, risk band, status, creation date, upload source.
Finding Detail Page /exposures/[id]
Detailed view of a single finding showing risk band, exposure type, status, creation date, evidence (masked), examined bytes, personal data types with counts, asset info, and source info.
- Status management: Admin and Analyst can change finding status between
activeandresolved_removed. - Identity hits viewer: shows all identity hits for the asset, with override management (Admin/Analyst can mark hits as IGNORED for false positives).
Finding Statuses
| Status | Description |
|---|---|
active | Currently relevant, appears in dashboards and reports. |
superseded | Replaced by a newer scan of the same asset. |
resolved_removed | Manually resolved by an Admin/Analyst (can be reverted). |
Discovery Tool (DSAR Search)
What the Discovery Tool Does
The Discovery Tool locates all personal data related to a specific data subject across all scanned uploads. Designed for DSAR (Data Subject Access Request) fulfilment under GDPR Article 15, it supports searching by any of the 11 detected identifier types.
How to Search
Start with one strong identifier — an email address or phone number works best. You can add up to 9 identifiers per DSAR bundle for multi-identifier search.
- Search is performed against HMAC-SHA256 hashes — the system never sees the raw value in transit.
- Results show matched identity hits with: source file, location (asset path), match type, confidence level, risk level, upload name, and masked evidence snippets.
SW1A1AA). Sylure also matches on outward district (domain hash).Search Result Details
Each hit includes:
- Source — Upload name and file path.
- Match type — The identifier type that matched (email, phone, name, etc.).
- Confidence —
exact_email,exact_phone,exact_name,exact_dob,exact_postcode,exact_address,exact_iban,exact_nino,exact_bank_pair,exact_card,possible_phone_last6, orother. - Risk level — LOW, MEDIUM, HIGH, or UNKNOWN.
- Evidence — Masked snippet showing the context where the data was found.
DSAR Exports
- Export formats: Excel (.xlsx) and JSON.
- Exports include: structured results, masked evidence snippets, asset locations, upload references.
- Monthly export quota: Starter/Partner = 30/month; Professional = 90/month; Enterprise = unlimited.
- Quota is tracked at the organisation level and resets on billing cycle anniversary.
AI Discovery Draft
Generate an AI-drafted DSAR response letter based on the discovery results. Uses aggregate discovery data — no raw personal data is sent to the AI.
- Daily rate limit at the workspace level with cooldown between runs.
- Monthly quota: Starter/Partner = 30/month; Professional = 90/month; Enterprise = unlimited.
- Draft output for human review — always review before sending to the data subject.
Subject Profile & Journey
The Discovery Tool builds a subject profile including known identifiers, first/last seen dates, total uploads and assets where the subject appears, systems map, timeline, and risk signals.
Sources / Uploads
Sources Page /uploads
The Sources page lists all uploads for the organisation with status, size, creation date, and completion date.
- Filters: Search by filename, status filter (All, In Progress, Completed, Failed, Expired, Deleted).
- Cursor-based pagination with page stack navigation.
- Auto-refresh: polls for status updates on in-progress uploads.
- ClamAV health badge shows antivirus engine status.
Upload Detail Page /uploads/[id]
Detailed view of a single upload showing filename, status, size, storage key, creation/completion dates, error details, event timeline, scan job details, and available actions (Retry, Download raw, Delete/Purge).
Upload Lifecycle Events
| Event | Description |
|---|---|
UPLOAD_PREPARED | Upload record created. |
UPLOAD_STARTED | File transfer began. |
UPLOAD_COMPLETED | File transfer finished. |
UPLOAD_DELETED | Upload soft-deleted by user. |
UPLOAD_PURGED | Upload hard-purged by user. |
VALIDATION_STARTED | ZIP validation began. |
VALIDATION_FAILED | ZIP validation failed. |
SECURITY_SCAN_STARTED | Antivirus scan began. |
SECURITY_SCAN_FAILED | Antivirus scan detected a threat. |
SCAN_ENQUEUED | Scan job queued. |
SCAN_STARTED | Detection engine started. |
SCAN_COMPLETED | Detection engine finished. |
SCAN_FAILED | Detection engine error. |
ANALYTICS_STARTED | Analytics materialisation started. |
ANALYTICS_COMPLETED | Analytics materialisation finished. |
UPLOAD_EXPIRED | Prepared but not completed within 24 hours. |
Settings & Workspace Management
Overview
Admin-only page for workspace management, accessed via the sidebar. Uses a tabbed interface.
Organisation Settings
View organisation name, data region (e.g. eu-west-2), and retention configuration.
- Retention policy: raw bundles retained for 30 days (configurable via S3 lifecycle).
- Storage info: where raw files are stored, lifecycle policy source.
Member Management
- Add new members with email + role assignment.
- Edit existing members: change role, deactivate/reactivate, force password reset.
- Roles: ADMIN, ANALYST, VIEWER (see Roles & Permissions section).
- Account lockout: after too many failed login attempts, account is temporarily locked.
Retention & Deletion
Manage data lifecycle through soft delete (grace period) and hard purge (immediate irreversible deletion). All derived outputs are cascade-deleted: findings, assets, identity hits, discovery evidence, cached analytics, and AI explainer caches.
- View scheduled deletions and recent purges.
- Grace period is configurable.
- Deletion counts: scheduled for deletion, purged in last 30 days.
Audit Log
A chronological, tamper-evident log of all audited actions in the workspace. Each entry records timestamp, actor, action, outcome (SUCCESS/FAILURE/DENIED), target, IP address, user agent, path, and method.
- Tracked events: Authentication (login success/failure), exports, raw bundle downloads, member/role changes, upload lifecycle events, DSAR searches, AI feature usage.
- Exportable as Excel (Admin only).
- Metadata field contains additional structured context (never includes secrets).
Support Form
In-app support request form, accessible from Settings.
Architecture & Infrastructure
Sylure runs entirely within AWS eu-west-2 (London). The architecture is designed for security isolation, with separate layers for edge routing, application logic, and data storage.
System Architecture
Requests flow from the browser through Cloudflare's WAF and CDN, into an Application Load Balancer, and into ECS Fargate containers running the Next.js application. ClamAV runs as a sidecar container for antivirus scanning. Data is stored in Neon (managed PostgreSQL), S3 for raw bundles, and SSM Parameter Store for secrets.
System Architecture
Browser → Cloudflare → ALB → ECS Fargate → Data Stores.
Upload & Scan Pipeline
The upload pipeline starts client-side with SHA-256 integrity hashing, proceeds through presigned S3 multipart upload, then flows through validation, ClamAV scanning, PII detection, and analytics materialisation.
Upload Pipeline
Browser → API → S3 → Queue → Scanner → Database.
Deployment Pipeline
Code pushed to the main branch triggers GitHub Actions for linting, testing, and Docker image build. The image is pushed to ECR and deployed to ECS Fargate via rolling update.
Deployment Pipeline
GitHub → Actions → ECR → ECS.
Data Security Model
Security is enforced across three layers: TLS and WAF at the browser layer, authentication and RBAC at the application layer, and HMAC hashing with encryption at rest at the data layer.
Data Security Model
Three-layer security: browser, application, and data layers.
Roles & Permissions
Sylure uses role-based access control with three roles: Admin, Analyst, and Viewer. Each role grants a specific set of capabilities following the principle of least privilege.
Role Matrix
| Capability | Admin | Analyst | Viewer |
|---|---|---|---|
| Upload bundles | Create, retry, download raw, delete/purge | View only | Hidden |
| Findings (Exposures) | View, filter, change status, manage overrides | View, filter, change status, manage overrides | Hidden |
| Discovery Tool | Search, export, AI drafts | Search, export, AI drafts | Hidden |
| Analytics / Reports | Full access, generate AI summaries, download | Full access, generate AI summaries, download | View only (no generate/export) |
| Settings | Full access — workspace, members, audit, retention | Hidden / restricted | Hidden |
| Help Centre | Full access | Full access | Full access |
| Dashboard | Full access | Full access | View only |
Why Buttons May Be Disabled
Two reasons:
- Role doesn’t permit the action.
- Organisation-wide quota has been reached. Quota resets on billing cycle anniversary.
Security & Trust
Security is foundational to Sylure. Every layer of the platform — from upload through storage to deletion — is designed to protect personal data and maintain audit-ready compliance. See the Data Security Model diagram for a visual overview of how these controls are layered.
Data Security
- Hashing: All personal data values are stored as HMAC-SHA256 hashes, not raw text. The hash secret is per-installation.
- Evidence masking: All evidence snippets are masked by default in UI and exports. Masking functions exist for every personal data type.
- Antivirus: Every uploaded bundle is scanned by ClamAV before processing.
- ZIP validation: Magic byte verification, size limits (3 GB compressed, 20 GB uncompressed), ZIP bomb protection, file count limits (100,000).
- Multi-tenant isolation: All data is scoped to an organisation via
orgId. Database queries always filter by org. - Session security: Sessions use 48-byte random hex tokens, stored in PostgreSQL. Default TTL: 8 hours (30 days with "remember me"). Sessions are validated on every request.
- Password security: Passwords are hashed using
scryptwith random 16-byte salt. Timing-safe comparison to prevent timing attacks. - Account lockout: Failed login attempts are tracked. Accounts are temporarily locked after too many failures.
- Rate limiting: Login attempts are rate-limited by IP, email, and IP+email combination. Database-backed rate limiter.
- CSRF protection: Session cookie with secure attributes.
- Input validation: All user inputs are sanitised for PostgreSQL storage (null bytes removed, surrogate pairs stripped, length limits enforced).
Storage & Region
- Raw bundles stored in AWS S3, region eu-west-2 (London).
- S3 lifecycle policies enforce automatic deletion after configured retention period.
- Multipart upload support with presigned URLs for direct S3 transfer.
Audit Trail
Every significant action creates an audit log entry with actor, action, outcome, target, IP, user agent, and structured metadata. The audit trail is tamper-evident and exportable as Excel for compliance reviews.
- Outcomes:
SUCCESS,FAILURE,DENIED. - Exportable as Excel for compliance audits.
Retention & Deletion
Sylure implements a two-layer deletion model: product-level (soft delete + purge) and storage-level (S3 lifecycle backstop).
- Raw bundle lifecycle: configurable retention (default 30 days via S3 lifecycle).
- Derived data retention: user-controlled (persists until user deletes).
- Prepared but unscanned uploads expire after 24 hours.
- Deletion cascade: raw file → findings → assets → identity hits → analytics summaries → AI caches.
AI Features
Overview
Sylure uses AI (powered by Claude, Anthropic) for two features: Dashboard/Analytics explainers and DSAR response drafts. The AI integration is designed with a privacy-first approach — only aggregate, statistical data is ever sent to the model.
All AI output is labelled as "draft output for human review".
AI Explainers (Dashboard & Reports)
AI-powered explanations are available in four contexts:
- Dashboard Risk Tiles — Explains the risk profile metrics (total findings, risk mix, trend direction).
- Top Risky Assets — Explains which assets are driving risk and why.
- Personal Data by Type — Explains the distribution of personal data types and their risk implications.
- Reports Executive Summary — Full narrative summary including overview, top assets, risk distribution, personal data by type, personal data by file type.
AI Discovery Draft
Generates a DSAR response letter based on discovery results, including a summary of data found, systems/uploads where data appears, and risk assessment. Subject to daily rate limits per workspace with cooldown between runs.
Quotas & Limits
- AI features consume organisation-level monthly quotas.
- Quotas reset on billing cycle anniversary.
- Daily caps prevent runaway usage.
- Cooldown periods prevent accidental re-runs.
- Viewers cannot generate AI content (can only view cached results).
- Quota indicator shown in the UI when approaching or at limit.
Caching
AI explanations are cached per organisation, scoped by context type, range, and upload scope. The "Show" operation returns the cached result without consuming quota, while "Generate" forces a new generation and overwrites the cache.
- Cache key:
orgId + scopeKey(includes context type, range key, upload scope).
Pricing & Quotas
Sylure offers four pricing tiers designed to scale from small consultancies to large enterprises. All tiers include the full platform — the difference is capacity, quotas, and support level.
Pricing Tiers
| Partner | Starter | Professional | Enterprise | |
|---|---|---|---|---|
| Monthly price | £299/mo | £499/mo | £749/mo | £1500–£3000/mo |
| Annual price | Monthly only | £4,990/yr | £8,990/yr | Custom |
| Uploads/month | 10 GB | 10 GB | 50 GB | Unlimited |
| Workspaces | 1 | 1 | 3 | Unlimited |
| User accounts | 3 | 3 | 10 | Unlimited |
| DSAR exports/mo | 30 | 30 | 90 | Unlimited |
| AI drafts/mo | 30 | 30 | 90 | Unlimited |
| AI reports/mo | 30 | 30 | 100 | Unlimited |
| Support SLA | 48hr | 48hr | 24hr | Dedicated |
Add-ons: Extra user = £30/month · Extra storage = £10/GB
Feature Comparison by Tier
Capacity
| Feature | Partner | Starter | Professional | Enterprise |
|---|---|---|---|---|
| Monthly uploads | 10 GB | 10 GB | 50 GB | Unlimited |
| Workspaces | 1 | 1 | 3 | Unlimited |
| User accounts | 3 | 3 | 10 | Unlimited |
AI Features
| Feature | Partner | Starter | Professional | Enterprise |
|---|---|---|---|---|
| DSAR AI drafting | 30/mo | 30/mo | 90/mo | Unlimited |
| AI reports | 30/mo | 30/mo | 100/mo | Unlimited |
Exports
| Feature | Partner | Starter | Professional | Enterprise |
|---|---|---|---|---|
| Monthly DSAR exports | 30 | 30 | 90 | Unlimited |
| Export formats | JSON, CSV | JSON, CSV | JSON, CSV | JSON, CSV |
Security
| Feature | Partner | Starter | Professional | Enterprise |
|---|---|---|---|---|
| Evidence masking | ✓ | ✓ | ✓ | ✓ |
| RBAC + audit log | ✓ | ✓ | ✓ | ✓ |
| DPA negotiation | — | — | — | ✓ |
Support
| Feature | Partner | Starter | Professional | Enterprise |
|---|---|---|---|---|
| Support SLA | 48hr | 48hr | 24hr | Dedicated |
| Onboarding call | ✓ | ✓ | ✓ | ✓ |
| Security questionnaires | — | — | — | ✓ |
Frequently Asked Questions
Only Admin users can upload. Ask your Admin.
Large ZIPs (up to 3 GB) take time. The pipeline runs asynchronously. Check the upload detail page for progress.
Some files were skipped (password-protected, corrupt, unsupported format). This doesn’t prevent the rest of the bundle from being analysed.
Check format (phone needs +44 country code, email is case-insensitive). The file may have been skipped or the format not recognised.
Either your role doesn’t permit it (Viewers can’t generate) or the monthly quota has been reached. Quota resets on billing cycle anniversary.
Yes, findings can be moved back to “active”. Status is for triage tracking, not a permanent lock.
Soft delete = grace period (default 7 days). Hard purge = immediate. Both remove the raw file + all derived outputs.
Yes. HMAC-SHA256 hashes only (no raw values stored). Antivirus scanning. Org-level isolation. Full audit trail.
CSV, TXT, JSON, LOG, HTML, XML, EML, PDF, DOCX, XLSX.
Based on personal data sensitivity weights, combination bonuses, diversity bonuses, and volume scaling. See the Risk Scoring section above.
Yes, Admin users can export as Excel from Settings.
11 types across 5 GDPR categories: email, phone, name, DOB, postcode, address, IBAN, NINO, bank details, card number, card expiry.
Raw bundles are stored encrypted in S3 (eu-west-2) for the retention period (default 30 days), then automatically deleted. Only Admins can download raw bundles.
Contact support to discuss data export and deletion.
The current product is accessed via the web application. API access may be available for Enterprise tier customers.
Navigation Reference
Sidebar Navigation (Authenticated App)
| Page | Path | Description |
|---|---|---|
| Dashboard | /overview | Risk overview, attention queue, AI explainers. |
| Analytics | /analytics | Detailed reports, charts, AI executive summaries. |
| Sources | /uploads | Upload bundles, view scan status, manage uploads. |
| Exposures | /exposures | Browse and triage personal data findings. |
| Discovery Tool | /dsar-search | DSAR subject search, evidence export, AI drafts. |
| Settings | /settings | Workspace, members, audit logs, retention (Admin only). |
| Help | /help-center | In-app guides, FAQ, glossary. |
Marketing Site Pages
| Page | Path |
|---|---|
| Homepage | / |
| Platform | /platform |
| Solutions | /solutions |
| Resources | /resources |
| Pricing | /pricing |
| Security / Trust Centre | /security |
| Contact | /contact |
| About | /about |
| Documentation | /document |
Support & Contact
Sylure provides tiered support based on your pricing plan. All tiers include an onboarding call to help you get started, and in-app support is always accessible from the Settings page.
- Email:
sylure@sylure.com - Support SLA depends on pricing tier (48hr for Starter/Partner, 24hr for Professional, Dedicated for Enterprise).
- All tiers include an onboarding call.
- Enterprise tier includes security questionnaire support and DPA negotiation.
- In-app support form available from Settings page.
- Feedback: Use thumbs up/down on any page.