Submit source
You upload a ZIP or provide a supported public GitHub repository.
CodeSeal is designed to retain signed provenance evidence—not a private archive of submitted source repositories.
A ZIP upload or temporary GitHub checkout exists only long enough to safely extract/scan supported source files and calculate technical fingerprints. The source working copy is deleted before the scan-result page is returned.
You upload a ZIP or provide a supported public GitHub repository.
CodeSeal extracts/reads supported files, calculates SHA-256 evidence, structure, and package fingerprints, and never executes submitted code.
The uploaded archive, extracted files, or Git checkout is removed. Registration and forensic review continue from evidence only.
If you register, CodeSeal creates PTCS IDs, timestamps the observation, signs the manifest, and returns the signature/evidence package to you.
The registry retains hashes, file paths, PTCS identifiers, timestamps, structural/package fingerprints, signed event metadata, and protected signer fields.
A later ZIP or repository is fingerprinted independently. Its fingerprints are compared with historical evidence already in the registry—not with somebody else's stored source code.
These materials are needed to calculate evidence and are not the historical record.
This evidence is what allows future submissions to be compared without retaining the original source code.
You receive the PTCS identifiers and Ed25519 registry signature and can download the signed evidence JSON. CodeSeal keeps the corresponding historical evidence so the event can later be verified.
CodeSeal calculates a fresh evidence set, then checks those hashes against prior registry fingerprints. Exact, relocated, modified, missing, and new-file relationships can be identified without recovering the prior source tree.
A match can append a later observation, create a forensic comparison, and—when the earlier registrant opted in—queue a provenance alert. CodeSeal does not declare infringement or determine who legally owns the code.
Application history, PTCS identifiers, observation timestamps, source-origin context, and limited organization context where appropriate.
Signer name, email, and address are not published in the free/basic history experience. Signer identity remains explicitly labeled self-declared until a future verification capability exists.
When future-match tracing is enabled, the contact email is stored separately in encrypted form for alert routing and is not displayed in public history.
Phase 5 records provenance audit events for registrations, material prior-source matches, notification enrollment/queue activity, signed-evidence downloads, and forensic-report access. This establishes the foundation for later authenticated and paid-report audit trails.
Your email is the CodeSeal account identifier. Magic links are short-lived and single-use. CodeSeal does not create or store an account password.
If you enable TOTP, the authenticator seed is encrypted at rest and never appears in public history. Recovery codes are shown once and only hashed copies are retained.
Authenticated registrants can view their linked seals and trace activity without making protected contact or authentication information part of the public registry view.
Local SQLite remains a development convenience. Production mode refuses local SQLite and requires managed PostgreSQL-compatible persistence so CodeSeal history is not lost when a Cloud Run container is replaced.
Registry signing material, protected-data encryption keys, session secrets, database credentials, and mail credentials are designed for runtime secret injection rather than container-image storage.
Moving registry evidence to managed persistence does not change the source-handling rule: submitted source content is temporary working material and is not the durable history record.
Upload and repository working areas are transient processing locations. Phase 8 adds lifecycle cleanup for expired working/session material in addition to normal post-scan deletion.
Expired/used magic-link records and old authentication-attempt metadata have configurable retention windows. CodeSeal does not need to keep transient login mechanics forever to preserve provenance history.
Signed PTCS observations, fingerprints and audit evidence are the durable registry record. Lifecycle cleanup explicitly does not delete provenance events.