Directories
¶
| Path | Synopsis |
|---|---|
|
Package build holds version information injected at build time with -ldflags: by Taskfile.yml, the Dockerfile and GoReleaser (.goreleaser.yml).
|
Package build holds version information injected at build time with -ldflags: by Taskfile.yml, the Dockerfile and GoReleaser (.goreleaser.yml). |
|
Package cmd defines the CLI commands.
|
Package cmd defines the CLI commands. |
|
mcp
Package mcp is the MCP endpoint; serve mounts Handler at /mcp on the same listener as the REST API.
|
Package mcp is the MCP endpoint; serve mounts Handler at /mcp on the same listener as the REST API. |
|
routes
Package routes registers the HTTP routes.
|
Package routes registers the HTTP routes. |
|
internal
|
|
|
account
Package account manages accounts and their API keys.
|
Package account manages accounts and their API keys. |
|
anonymise
Package anonymise turns real emails into fixtures that are safe to share: it finds personal and commercial data (with a Presidio sidecar for names and Go patterns for the rest), replaces it with consistent fakes from the person registry, and keeps everything a mail parser depends on: MIME structure, transfer encodings, HTML markup, threading and cid: references.
|
Package anonymise turns real emails into fixtures that are safe to share: it finds personal and commercial data (with a Presidio sidecar for names and Go patterns for the rest), replaces it with consistent fakes from the person registry, and keeps everything a mail parser depends on: MIME structure, transfer encodings, HTML markup, threading and cid: references. |
|
anonymise/anonymisetest
Package anonymisetest gives tests outside the anonymiser a stand-in for Presidio, Presidio clients that fail, and a few small real-looking emails.
|
Package anonymisetest gives tests outside the anonymiser a stand-in for Presidio, Presidio clients that fail, and a few small real-looking emails. |
|
app
Package app opens the database and blob store and builds the services.
|
Package app opens the database and blob store and builds the services. |
|
apperr
Package apperr defines the error kinds services return, so every caller (REST, CLI, MCP) can map them the same way with errors.Is.
|
Package apperr defines the error kinds services return, so every caller (REST, CLI, MCP) can map them the same way with errors.Is. |
|
archive
Package archive reads and writes exemplar archives, the one format behind both export/import and backup/restore: a gzip-compressed tar whose first entry is manifest.json, followed by JSON-lines record files, an optional database snapshot and content blobs named by their SHA-256 hash.
|
Package archive reads and writes exemplar archives, the one format behind both export/import and backup/restore: a gzip-compressed tar whose first entry is manifest.json, followed by JSON-lines record files, an optional database snapshot and content blobs named by their SHA-256 hash. |
|
audit
Package audit records security-relevant actions in the append-only audit_events table.
|
Package audit records security-relevant actions in the append-only audit_events table. |
|
auth
Package auth holds HTTP authentication middleware.
|
Package auth holds HTTP authentication middleware. |
|
backup
Package backup copies a whole instance into an archive (see archive) and restores one.
|
Package backup copies a whole instance into an archive (see archive) and restores one. |
|
blob
Package blob stores file contents once, addressed by SHA-256, on the filesystem, and tracks them in the blobs table.
|
Package blob stores file contents once, addressed by SHA-256, on the filesystem, and tracks them in the blobs table. |
|
client
Package client is a typed HTTP client for the exemplar REST API.
|
Package client is a typed HTTP client for the exemplar REST API. |
|
ctxkeys
Package ctxkeys defines typed context keys shared across packages.
|
Package ctxkeys defines typed context keys shared across packages. |
|
dataset
Package dataset manages datasets and decides who may read or change them.
|
Package dataset manages datasets and decides who may read or change them. |
|
db
Package db opens the SQLite database and runs its migrations.
|
Package db opens the SQLite database and runs its migrations. |
|
emailtemplate
Package emailtemplate turns one email into many: it swaps the people an email is about, with their companies, for other people, and gives the message fresh Message-IDs.
|
Package emailtemplate turns one email into many: it swaps the people an email is about, with their companies, for other people, and gives the message fresh Message-IDs. |
|
exchange
Package exchange moves datasets between exemplar instances as archives (see archive): export writes chosen datasets with their fixtures, linked people and contents; import adds them here.
|
Package exchange moves datasets between exemplar instances as archives (see archive): export writes chosen datasets with their fixtures, linked people and contents; import adds them here. |
|
fixture
Package fixture manages the items in a dataset: their metadata, their content (through the blob store) and the review state of real-derived data.
|
Package fixture manages the items in a dataset: their metadata, their content (through the blob store) and the review state of real-derived data. |
|
generate
Package generate fills datasets with synthetic fixtures: files, emails and records about people from the person registry, and emails rendered from template emails (see emailtemplate).
|
Package generate fills datasets with synthetic fixtures: files, emails and records about people from the person registry, and emails rendered from template emails (see emailtemplate). |
|
ingest
Package ingest takes real emails, anonymises them and stores the results in a quarantine dataset, where they wait for an admin's review.
|
Package ingest takes real emails, anonymises them and stores the results in a quarantine dataset, where they wait for an admin's review. |
|
mailpit
Package mailpit sends stored email fixtures to a test SMTP server such as Mailpit.
|
Package mailpit sends stored email fixtures to a test SMTP server such as Mailpit. |
|
mailpit/mailpittest
Package mailpittest is a minimal in-process SMTP server for tests: it accepts every message and records the envelope and data, like Mailpit.
|
Package mailpittest is a minimal in-process SMTP server for tests: it accepts every message and records the envelope and data, like Mailpit. |
|
mimetree
Package mimetree parses an email into an editable MIME tree and writes it back with the same structure: header order, part order, boundaries, preambles and transfer encodings are kept, so a rewritten message parses the same way as the original.
|
Package mimetree parses an email into an editable MIME tree and writes it back with the same structure: header order, part order, boundaries, preambles and transfer encodings are kept, so a rewritten message parses the same way as the original. |
|
person
Package person is the person registry: the fake people that records, generated files and emails refer to, so the same people appear everywhere.
|
Package person is the person registry: the fake people that records, generated files and emails refer to, so the same people appear everywhere. |
|
principal
Package principal describes the authenticated caller that every service method receives.
|
Package principal describes the authenticated caller that every service method receives. |
|
recordschema
Package recordschema keeps the record schemas admins add through the API.
|
Package recordschema keeps the record schemas admins add through the API. |
|
rest
Package rest holds JSON request and response helpers for HTTP handlers.
|
Package rest holds JSON request and response helpers for HTTP handlers. |
|
runlimit
Package runlimit caps how many long, memory-holding runs (the anonymise tool and ingest) a server holds at once, so concurrent uploads cannot exhaust its memory together.
|
Package runlimit caps how many long, memory-holding runs (the anonymise tool and ingest) a server holds at once, so concurrent uploads cannot exhaust its memory together. |
|
scrub
Package scrub anonymises files on request and gives them back, storing nothing: the anonymise tool.
|
Package scrub anonymises files on request and gives them back, storing nothing: the anonymise tool. |
|
storeutil
Package storeutil holds small helpers shared by the storage layers: IDs, timestamp and JSON column encoding, constraint error detection and word search.
|
Package storeutil holds small helpers shared by the storage layers: IDs, timestamp and JSON column encoding, constraint error detection and word search. |
|
synth
Package synth generates fake but realistic test content: people, companies, business text, files (PDF, DOCX, XLSX, CSV, TXT, RTF, HTML, images), emails in many shapes, and records.
|
Package synth generates fake but realistic test content: people, companies, business text, files (PDF, DOCX, XLSX, CSV, TXT, RTF, HTML, images), emails in many shapes, and records. |
|
testutil
Package testutil builds a real app (SQLite file and blob directory in a temp dir) and principals for service tests.
|
Package testutil builds a real app (SQLite file and blob directory in a temp dir) and principals for service tests. |
|
textswap
Package textswap replaces many strings in text in one pass: longest match first, case-insensitively, only at word boundaries, and HTML-escaped forms too.
|
Package textswap replaces many strings in text in one pass: longest match first, case-insensitively, only at word boundaries, and HTML-escaped forms too. |
|
scripts
|
|
|
loadtest
command
Command loadtest measures an exemplar server under concurrent clients: REST reads, MCP tool calls, record generation and anonymise runs.
|
Command loadtest measures an exemplar server under concurrent clients: REST reads, MCP tool calls, record generation and anonymise runs. |
Click to show internal directories.
Click to hide internal directories.