think
16px
820px

Secure Folders — feature brief for pricing

Status: shipped and live on the demo (2026-08-07). Base switches are core; the
encryption tier is the licensed module securefolder.
Audience: whoever sets client pricing. This document states what was built, what it
costs to run, what it does NOT do, and where the commercial edges are. It deliberately
does not propose a price.


1. What the customer gets, in their words

Four levels of folder protection, chosen when the folder is created:

Preset What the customer sees Licensing
Standard Today's behaviour. Access follows the parent folder. Core
Restricted Hidden from everyone who is not explicitly a member — not in folder lists, not in search, not by direct link (they get "not found", so they cannot even learn it exists). Core
Secret Restricted, plus opening it demands a fresh identity check (authenticator code or passkey) even from someone already signed in. One check opens secure folders for 15 minutes. Core
Vault (encrypted) Secret, plus every file is encrypted with a key belonging to that folder alone. A stolen disk, a leaked database dump or a stolen backup is unreadable. Every single decryption is identity-checked and written to the tamper-evident audit log; unusual decrypt volume alarms the security admins. Licensed — securefolder
Private Vault The key never leaves the member's browser — not even the people who run Obscura can open it. In exchange, nothing server-side works inside: no preview, no search, no AI, no signing. Lose every member's credentials and the contents are gone permanently. Licensed — securefolder

The sales line that separates them: the first two protect against the wrong colleague;
the Vault protects against the stolen disk; the Private Vault protects against us.

2. What is actually enforced (so claims can be made safely)

Verified end-to-end against the live demo (21 automated assertions, plus object-level
inspection of the stored bytes):

  • Hidden means hidden. Non-members get no rows in folder lists, document lists,
    full-text search, semantic search, or the AI assistant's retrieval — and a direct URL
    answers 404, not 403.
  • The identity check has no exceptions. Administrators and the folder's own owner are
    gated too. (The system's other admin bypasses deliberately do not apply here: the
    question is "is this person physically present", which no role answers.)
  • Encrypted means encrypted on disk. Vault files are stored as age (X25519 +
    ChaCha20-Poly1305) ciphertext in their own storage namespace. We confirmed by reading
    the raw object out of storage: the plaintext does not appear anywhere in it.
  • Keys are layered. Each vault folder has its own key, itself encrypted by a
    deployment key held in a file outside the database. A database dump alone unlocks
    nothing.
  • Every decrypt is evidence. Each unseal writes securefolder.decrypt (who, which
    document, why — preview/download/export…) into the hash-chained audit log. Volume
    above a threshold notifies security admins — this is the control that catches an
    insider copying a folder out.
  • The doors are all shut, not just the front one. Public share links are refused on
    secure folders (and links created before a document was moved in go dark). API keys /
    MCP integrations are refused, because an API key can never pass an identity check.
    Rendered page images are never cached to disk for vault documents. Moving a document in
    encrypts it and purges its old cached renders; moving it out decrypts it and deletes
    the sealed copy.

3. What it explicitly does NOT do (say this before the client discovers it)

These are deliberate design decisions, already written into the product's own UI copy —
so the honesty is a feature, but it must be priced and pitched accordingly.

  1. It does not protect against the operator of the server. The server holds the keys
    in order to preview, search and seal documents. It defends stolen storage, database
    dumps and backups. A client who wants protection from us / from their own IT needs
    the Private Vault tier (§6).
  2. Secure folders are not full-text searchable. Their content is never extracted or
    indexed, so a document inside one is findable by title and metadata only — not by a
    phrase in its body, and not through AI answers. This reverses an earlier decision, and
    the reason is worth repeating to a client because it sells: indexing wrote each
    document's text into the database in the clear, so the file was encrypted and its text
    sat in plaintext beside it — a database dump read the vault with no key at all. The
    index is now simply absent. (Sales note: this is a stronger story than the one it
    replaces. The trade is real, though — say it plainly rather than let a buyer discover it
    in a demo.)
  3. Encrypted folders opt out of records retention/disposal schedules. They are outside
    the archival lifecycle by design — the person creating one must tick an acknowledgment
    saying so. Legal holds still apply. For an ANRI/JRA-driven buyer this is a real
    trade-off to discuss, not a footnote.
  4. Encryption is chosen at creation and cannot be switched on or off later. Existing
    folders cannot be "upgraded" in place; content is moved into a new vault instead.
  5. A folder cannot be moved across an encryption boundary (its documents can, one at a
    time). This bounds an unbounded re-encryption job.
  6. Lose the deployment key, lose every vault. Permanently. It is escrow-tooled, but it
    is a real operational obligation on the customer.

4. What it costs to deliver (operational reality)

  • Per-deployment key file. Every environment needs one key file generated and escrowed
    before its next deploy. Bootstrap generates it automatically; the deploy fails loudly if
    it is missing (chosen over failing quietly). Existing customer environments (production
    and the multi-tenant cloud) need this one-time step.
  • No new infrastructure. No HSM, no KMS, no extra container, no network dependency.
    Encryption is in-process using a library already shipped. This keeps air-gapped and
    on-premise deployments viable, which matters for the government/BUMN segment.
  • No measurable performance tier. Sealing/unsealing is streaming; the practical cost is
    one extra pass over the bytes on upload/download. There is no per-document licence
    metering, no per-decrypt cost, nothing to meter or resell by volume.
  • Storage: vault files do not deduplicate against identical plaintext copies elsewhere
    (that is the point — dedup would leak existence). Slightly more storage where the same
    file exists inside and outside a vault.
  • Support burden: the predictable tickets are (a) "I lost my authenticator and cannot
    open the folder", (b) "why can't I share this document by link", (c) "why is this folder
    missing from the retention report". All three are working-as-designed.

5. Licensing mechanics (how it is switched on and off)

  • Module name in the licence file: securefolder. It sits alongside
    correspondence, watermarking, ai, esign, office, klasifikasi — the seventh
    module.
  • Enforcement is at folder creation: unlicensed, the Vault preset is not offered in the
    UI and the API refuses module.not_licensed. The three base presets stay available to
    every customer.
  • It is a per-deployment entitlement, not per-seat and not per-folder. A licensed
    customer may create unlimited vault folders. If a seat-band or volume-band model is
    wanted, note that licence seat counts are currently display-only and not enforced
    anywhere
    in the product — that has to be built before it can be sold.
  • Existing customer licences do not include it. Production and every cloud tenant need
    a reissued licence to sell this. The demo licence has been reissued already.
  • Downgrade behaviour is worth deciding commercially: today, if the module lapses, existing
    vault folders keep working (the server can still decrypt them) but no new ones can be
    created. If lapse should hard-lock existing vaults, that is a product decision, not a
    bug.

6. The higher tier and the governance controls — now BUILT

Both of the items this document previously listed as roadmap have shipped. They change
what can be sold and to whom.

Private Vault (e2ee) — the second encryption tier

Keys are generated and held in the member's browser; the server stores ciphertext it
cannot decrypt. This is the tier that answers "protect it from the vendor and from our
own IT."
Unlocking is a passkey (Face ID / Windows Hello, via WebAuthn PRF) with a
passphrase fallback for browsers or security keys that cannot do PRF.

The price of that protection is severe and must be priced with it — inside such a folder
there is no preview, no search, no AI answers, no e-signing or e-Meterai, and no
recovery whatsoever
if every member loses their credentials. Break-glass does not exist
for it and cannot: nothing server-side can open it. The product states all of this at
creation, behind a typed acknowledgment.

Commercially it sits inside the same securefolder module (the owner's decision) as a
fifth folder preset, so it is a reason to buy the module rather than a separate SKU —
unless pricing decides otherwise.

Break-glass, admin visibility, orphan hygiene (at_rest only)

  • Two-person emergency release: one administrator requests with a typed reason, a
    different administrator approves, the grant expires in 60 minutes, only the requester
    can use it, and the folder's owner plus every security admin are notified at both steps.
    Every state change is on the tamper-evident audit log. This is the procurement answer to
    "what happens when the vault owner leaves?"
  • Secure-folder inventory for security admins: every secure folder with its tier,
    owner, member count, last unlock, 7-day decrypt count and any live emergency release —
    counts only, never document titles.
  • Storage hygiene: encrypted objects are reference-counted per namespace and a daily sweep
    reclaims strays.

Permissions worth naming in a proposal

Two privileged permissions gate this feature, and they can be held by different people:
folder.secure (create and manage secure folders — including vaults) and
folder.break_glass (request or approve an emergency release). Neither is granted by
default.

7. Positioning notes

  • The base tier (Restricted/Secret) being core, not paid, is a deliberate
    give-away: it makes every deployment better and it makes the encrypted tier the only
    thing there is to buy. Worth keeping in mind if bundling is being considered.
  • The strongest demonstrable claims, in order of how well they demo: (1) the folder is
    invisible to a non-member, live, side by side; (2) the raw file pulled straight out of
    storage is unreadable ciphertext; (3) the audit log showing who decrypted what and when;
    (4) the volume alarm.
  • The compliance framing that fits Indonesian buyers: this is a technical control
    supporting UU PDP obligations over sensitive personal data (encryption at rest, access
    logging, least privilege, presence verification). It is not a certification and must
    not be sold as one — the same discipline docs/COMPLIANCE.md applies to ISO claims.

Product state as of 2026-08-07: P1 (switches), P2 (at_rest vaults), P3 (Private Vault) and
P4 (break-glass, inventory, hygiene) are all shipped and verified on the demo.
Implementation detail: docs/superpowers/specs/2026-08-07-secure-folders-design.md (the
contract) and the P1–P4 plans beside it; scripts/securefolder-e2e.sh +
scripts/securefolder-vault-ui.cjs are the executable proof.