The notarial regime on omnibase/office. What a regime brings: its mandatory mentions and its safeguards, coded and tested; its own pages; its settings. The rules and their sources are in Rules and sources.
Compliance built into the code does not replace the chamber's control.
Installation
composer require omnibase/notary # brings omnibase/office
// config/bundles.php
Base\Office\OfficeBundle::class => ['all' => true],
Base\Notary\NotaryBundle::class => ['all' => true],
# config/routes.yaml - after omnibase/office's
notary_controller:
resource: "@NotaryBundle/src/Controller/Client"
type: attribute
notary_admin_controller:
resource: "@NotaryBundle/src/Controller/Admin"
type: attribute
# config/packages/security.yaml
security:
role_hierarchy:
ROLE_NOTARY: [ROLE_STAFF]
ROLE_CLERK: [ROLE_STAFF]
ROLE_STAFF: [ROLE_USER]
ROLE_ADMIN: [ROLE_STAFF]
The roles are given by omnibase's groups (Base\Entity\User\Group): a group "Notaires" whose roles
are [ROLE_NOTARY], a group "Clercs" with [ROLE_CLERK], a group "Accueil" with [ROLE_STAFF].
Then a migration: two tables, notary_area and notary_area_member.
In the layout, after the office's stylesheet:
<link rel="stylesheet" href="{{ asset('bundles/notary/css/notary.css') }}">
Configuration
# config/packages/notary.yaml - every key has a default
notary:
roles: { notary: ROLE_NOTARY, clerk: ROLE_CLERK, staff: ROLE_STAFF }
email_suffix: notaires.fr # règlement professionnel, art. 16.3
mediator: # art. 25.1: printed on /mediation and in the legal notice
name: 'Médiateur de la consommation du notariat'
address: '60 boulevard de La Tour-Maubourg, 75007 Paris'
url: 'https://mediateur-notariat.notaires.fr'
tariff:
code_url: 'https://www.legifrance.gouv.fr/codes/texte_lc/LEGITEXT000005634379' # code de commerce
order: 'arrêté du 25 février 2026' # the order in force
order_url: 'https://www.legifrance.gouv.fr/eli/arrete/2026/2/25/ECOC2604872A/jo/texte'
until: '2028-02-29' # past it, the back office asks for the new order
info_url: 'https://www.notaires.fr/fr/profession-notaire/le-tarif-du-notaire-emoluments-et-honoraires'
wording: [] # expressions added to the built-in list
The bundle sets three of omnibase/office's options (prepend): the warning above the contact form
(@notary.contact.notice: nothing confidential here), the menu of the client's space, and where
the booking e-mails send the client (notary_space).
Settings (back office, Réglages)
What only the office knows, kept by omnibase's settings and read by Base\Notary\Service\Record:
| Setting | |
|---|---|
notary.office.holder |
the structure that holds the office (name and form) - the legal notice's publisher |
notary.office.crpcen |
the office's CRPCEN number |
notary.chamber.name |
the chamber the office depends on |
notary.chamber.declared_at |
the day the site was declared to it (YYYY-MM-DD) |
notary.brand.applied |
oui once the profession's graphic charter and brand block are applied |
notary.tariff.discounts |
the discounts practised, by category of deeds and band - or "Aucune remise" |
notary.tariff.fees |
the fees for what the tariff does not cover |
Pages
| Route | Path | |
|---|---|---|
notary_areas, notary_area |
/domaines, /domaines/{slug} |
the fields of practice (Area: summary, text, deeds, who follows it) |
notary_tariff |
/tarifs |
what the costs are made of, the official text, the office's discounts and fees, no payment here |
notary_mediation |
/mediation |
the office first, then the consumer mediator of the notariat and its coordinates |
notary_request |
/rendez-vous/demande |
a first appointment asked without an account (see below) |
notary_space |
/espace |
the client's space: appointments, documents |
Templates extend omnibase/office's layout (office.templates.layout) and are overridden the usual
way (templates/bundles/NotaryBundle/client/...). Twig: notary_record(), notary_areas(member),
notary_mediator(), notary_tariff().
A first appointment without an account
omnibase/office's booking pages ask to sign in, and an office's clients are invited, not
registered: someone new could not ask. /rendez-vous/demande is a Symfony form
(AppointmentRequestType: the type - those in request mode open to everyone -, a member if they
know, name, e-mail, phone, a few words, omnibase's PrivacyType with its box) that calls
Booker::request() with no account: an appointment of the office with status requested, the
words encrypted like every reason, the office's "request received" e-mail sent. When the office
later invites that address, omnibase/office attaches the request to the new account.
Who reads a document
Base\Notary\Security\OfficeAudience (an AudienceResolverInterface of omnibase/office's vault),
beyond the client and whoever sent the document:
| sees it exists | reads it | |
|---|---|---|
a notary, a clerk (ROLE_NOTARY, ROLE_CLERK) |
yes | yes |
the rest of the staff (ROLE_STAFF) |
yes | only what is not marked confidential |
| anyone else, the site's administrators included | no | no |
Back office (with omnibase/admin)
The CRUD of the fields of practice (Base\Notary\Entity\Area), the settings section, and seven
checks in omnibase/office's office_compliance widget.
Demonstration accounts
In glitchr/omnibase's demo environment (its docs/20-architecture/demo.md) the sign-in page offers
one button for each role of an office. Base\Notary\Demo\NotaryDemoAccounts declares them:
| Identifier | Role | |
|---|---|---|
notaire |
group "Notaires" (ROLE_NOTARY) |
the agenda, the requests to settle, the clients' documents: reads them, sends some |
clerc |
group "Clercs" (ROLE_CLERK) |
the same files, read as the notary reads them |
accueil |
group "Accueil" (ROLE_STAFF) |
the agenda, the requests, the site's messages; sees that a document exists, reads nothing confidential |
etude |
ROLE_ADMIN |
the office's administration: team, fields of practice, settings, access log, compliance |
client |
group "Clients" | the client's space: an appointment requested, a draft deed in the vault, a document deposited |
The password is the identifier. The fixtures take the accounts from omnibase's factory and attach what makes them worth signing in as - a member of the team and an agenda, a request and documents:
public function __construct(private readonly \Base\Demo\DemoAccountFactory $accounts) {}
$notaire = $this->accounts->account('notaire', $manager); // created with its group, or the database's
An office without one of these roles leaves it out (base.demo.exclude: [accueil]); a site that
renames one declares the same identifier in its own provider. The labels are
demo.<identifier>.label and .description in the notary domain.
More
Proposer une modification docs/index.md
Rules and sources
Each rule the bundle codes, the text it rests on, where that text was read, and the class and test that carry it. Read on 2026-10-05.
Compliance built into the code does not replace the chamber's control: the chamber of notaries verifies its notaries' sites and is the only judge of their conformity.
The texts
| Text | Read at |
|---|---|
| RPN - règlement professionnel du notariat, approved by the order of 29 January 2024 (NOR JUSC2402635A, JORF of 31 January 2024, in force 1 February 2024) | full text of the Journal officiel: https://anc.notaires.fr/wp-content/uploads/2024/09/Arrete-RPN-du-29.01.24.pdf ; Légifrance: https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000049060695 |
| Code de déontologie des notaires - decree n° 2023-1297 of 28 December 2023 | Légifrance: https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000048706693 - not readable from the build environment (Légifrance refuses automated readers); only what the RPN and the Autorité de la concurrence quote of it was used |
| Decree n° 73-1202 of 28 December 1973 as amended by decree n° 2019-257 of 29 March 2019 (personalised solicitation, online services) | as summarised by the Autorité de la concurrence, opinion n° 23-A-19 of 1 December 2023, § 140-141: https://www.autoritedelaconcurrence.fr/sites/default/files/integral_texts/2024-02/23a19.pdf |
| Code de commerce, art. L. 444-1 and following, R. 444-1 and following, A. 444-53 and following (the tariff) | as presented by the Conseil supérieur du notariat: https://www.notaires.fr/fr/profession-notaire/le-tarif-du-notaire-emoluments-et-honoraires ; the code: https://www.legifrance.gouv.fr/codes/texte_lc/LEGITEXT000005634379 |
| Order of 25 February 2026 fixing the notaries' regulated tariffs (NOR ECOC2604872A), 1 March 2026 - 29 February 2028 | Service-Public.fr: https://www.service-public.gouv.fr/particuliers/actualites/A18834 ; Légifrance: https://www.legifrance.gouv.fr/eli/arrete/2026/2/25/ECOC2604872A/jo/texte |
| Loi n° 2004-575 of 21 June 2004 (LCEN), art. 6 and 19: a site's mandatory mentions, a regulated profession's | Service-Public.fr: https://entreprendre.service-public.gouv.fr/vosdroits/F31228 |
Coded rules
| # | Rule | Text | Class | Test |
|---|---|---|---|---|
| 1 | The professional e-mail address ends with .notaires.fr |
RPN art. 16.3: « L'adresse de messagerie professionnelle sortante du notaire se termine par ".notaires.fr", afin d'éviter toute confusion dans l'esprit du public. » | Guard\EmailDomain, Compliance\ProfessionalEmailCheck |
EmailDomainTest, ChecksTest |
| 2 | The site, and any change to the pages where the office offers its services, is declared to the chamber | RPN art. 14.4: « L'office notarial qui ouvre un site internet, y propose ses services ou ouvre ou modifie une ou plusieurs pages web destinées aux mêmes fins sur un site internet tiers doit en informer sans délai la chambre des notaires dont il dépend. » | Compliance\ChamberDeclarationCheck |
ChecksTest |
| 3 | The consumer mediator of the notariat is named, with its coordinates | RPN art. 25.1: « Le notaire doit faire connaître par tous moyens lisibles et appropriés la possibilité pour le client d'avoir recours au médiateur de la consommation du notariat en cas de différend entre eux et en indiquer les coordonnées. » | Compliance\MediatorCheck, /mediation, notary.mediator |
ChecksTest |
| 4 | The tariff is displayed on the site, with the discounts practised | Code de commerce, art. L. 444-4 (the tariffs are posted in the office and on its website); notaires.fr: the notary « doit afficher dans son office et publier sur son site internet, les taux de remise pratiqués par catégorie d'actes et tranches d'assiette » | Compliance\TariffDisplayCheck, /tarifs |
ChecksTest |
| 5 | The tariff is not copied: the page links to the official text, and the back office warns when the order's period is over | the tariff is revised by order (the one in force: 25 February 2026, until 29 February 2028) | Compliance\TariffDisplayCheck (notary.tariff.until) |
ChecksTest |
| 6 | Fees for what the tariff does not cover are agreed in writing beforehand | Code de commerce, art. L. 444-1, as quoted by notaires.fr: « Les notaires concluent par écrit avec leur client une convention d'honoraires, qui précise, notamment, le montant ou le mode de détermination des honoraires » ; RPN art. 23 | the tariff page's text; notary.tariff.fees |
page test in the application |
| 7 | No comparison, no disparagement, no advertising superlative in what the office writes | RPN art. 14.1 (« la dignité, la loyauté, la confraternité, la délicatesse ; la neutralité, l'impartialité et l'objectivité »), art. 14.2 (« Le notaire s'abstient de toute démarche à caractère publicitaire ») ; decree n° 73-1202 as amended: a personalised solicitation « ne peut pas inclure d'éléments comparatifs ou dénigrants » | Guard\Wording, Compliance\WordingCheck |
WordingTest, ChecksTest |
| 8 | The office is identified: its structure, its address, its phone, its chamber | RPN art. 14.1: « Tout document destiné à la correspondance ou à la communication du notaire doit mentionner les éléments permettant de l'identifier » ; LCEN art. 19 (title, professional body, rules) | Compliance\IdentificationCheck |
ChecksTest |
| 9 | The profession's graphic charter and brand block are applied - declared by the office, since they cannot be read from outside | RPN art. 14.4 (« respecter la charte graphique [...] et le plan de nommage arrêtés par le Conseil supérieur du notariat et publiés sur le portail intranet de la profession ») and art. 14.5 (the brand block with the NOTAIRES DE FRANCE logo « sur tous les supports de communication ») | Compliance\BrandBlockCheck |
ChecksTest |
| 10 | Within the office, the notaries and the clerks read a client's document; the reception sees a title | the office's choice, under the professional secrecy the RPN recalls (art. 14.1: « tenu au secret professionnel ») | Security\OfficeAudience |
OfficeAudienceTest |
The wording check is a list of expressions (Guard\Wording): a help to whoever writes, shown as a
warning. What it does not find is not thereby allowed.
What the bundle does not do, by design
- No online payment. The bundle offers none and the tariff page says so. The plan's reason ("clients' funds go through the Caisse des dépôts") was not verified on an official text as a prohibition of card payment of a notary's fees: it is therefore a choice of the product, not a coded rule. To confirm with the chamber before any payment is added.
- No testimonials, no client reviews, no comparison table. The bundle has no such entity or page. That testimonials are forbidden as such was not found in the texts read (the RPN forbids advertising, art. 14.2, and paid referencing): to confirm.
- No advertising insert. RPN art. 14.4: « Le site internet du notaire ne comporte aucun encart ou bannière publicitaire autre que celui ou celle de la profession. » Nothing in the bundle displays one; the application must not add any (no check can see a template).
- No paid referencing, no mass mailing. RPN art. 14.2: « La pratique du référencement payant est prohibée » ; art. 14.3: a personalised solicitation is a letter or an e-mail only. The bundle sends nothing but the answers to what a client asked.
To confirm (not coded as rules)
- The code de déontologie itself (decree n° 2023-1297): its articles on communication and on the title (art. 15, referred to by RPN art. 15) could not be read. To be read on Légifrance.
- The exact wording of art. L. 444-4 of the code de commerce and the article that asks for the discounts to be published (R. 444-10, as recalled from memory): read through notaires.fr only.
- The graphic charter and naming plan of the Conseil supérieur du notariat (intranet of the profession): a real office's site must follow them - its domain name too (RPN art. 16.2). The demonstration's own design is therefore provisional for a real office.
- Whether
@notaires.fris required of the site's sender address as well as of the notary's own address (the check warns, it does not fail). - The mediator's e-mail address (only the postal address and the site were confirmed: https://mediateur-notariat.notaires.fr, postal address also on justice.fr and inc-conso.fr).
- A salaried notary must name the holder of the office and its seat in what they write (RPN art. 15, last paragraph): left to the member's biography, not checked.